Konum verileriyle çalışma

Bu eğitimde, yer verilerinin nasıl oluşturulacağı ve düzenleneceği gösterilmektedir. Benim İşletmem İşletme Bilgileri API'si aşağıdakileri yapmanıza olanak tanır:

Konumlar Ads'de kullanılabilir ancak Arama ve Haritalar'da gösterilmeye uygun olmaları için doğrulanmaları gerekir. Konum verileri, accounts.locations koleksiyonuyla temsil edilir.

Başlamadan önce

Benim İşletmem İşletme Bilgileri API'sini kullanmadan önce uygulamanızı kaydettirmeniz ve OAuth 2.0 kimlik bilgileri edinmeniz gerekir. My Business Business Information API'yi kullanmaya başlama hakkında ayrıntılı bilgi için Temel kurulum bölümüne bakın.

Konum oluşturma

accounts.locations.create ile bir işletme için yeni bir konum oluşturmak üzere Benim İşletmem İşletme Bilgileri API'sini kullanabilirsiniz.

Konum oluşturmak için aşağıdakileri kullanın:

HTTP
POST
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?requestId=requestId&validateOnly=True|False

{
    "storeCode": "GOOG-SYD",
    "languageCode": "en-AU",
    "title": "Google Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 9374 4000"
     }
    "storefrontAddress": {
      "addressLines": [
        "Level 5",
        "48 Pirrama Road"
      ],
      "locality": "Pyrmont",
      "postalCode": "2009",
      "administrativeArea": "NSW",
      "regionCode": "AU"
    },
    "websiteUri": "https://www.google.com.au/",
    "regularHours": {
      "periods": [
        {
          "openDay": "MONDAY",
          "closeDay": "MONDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "TUESDAY",
          "closeDay": "TUESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "WEDNESDAY",
          "closeDay": "WEDNESDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "THURSDAY",
          "closeDay": "THURSDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        },
        {
          "openDay": "FRIDAY",
          "closeDay": "FRIDAY",
          "openTime": "09:00",
          "closeTime": "17:00"
        }
      ]
    },
    "categories": {
      "primaryCategory": {
        "name": "gcid:software_company"
      }
     }
}

Bir konumu silme

Bir konumu silmek için locations.delete ile My Business Business Information API'yi kullanabilirsiniz.

Bir konumu silmek için aşağıdakileri kullanın:

HTTP
DELETE
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}

Adıyla konum alma

Hesabınızla ilişkilendirilmiş çok sayıda işletmeniz varsa tek bir konum alabilirsiniz. locations.get ile belirli bir konumu almak için işletme adına göre filtreleme yapabilirsiniz.

Bir konumu isme göre almak için aşağıdakileri kullanın. Belirli alanları almak için bir readMask belirtmeniz gerekir. :

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}

Google Haritalar sürümünü döndürme

HTTP

Bir konumun Google Haritalar sürümünü döndürmek için aşağıdaki örnekte olduğu gibi istek URL'sine googleUpdated ekleyin:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}

Sonuç yoksa 404 NOT FOUND HTTP durum kodu döndürülür. Google güncellemelerini yönetme hakkında daha fazla bilgiyi burada bulabilirsiniz.

Konumları listeleyin

Bir veya daha fazla konum yönetirken hesabınızla ilişkili tüm konumları listeleyebilirsiniz. Bir kullanıcıyla ilişkili tüm konumları listelemek için accounts.locations.list API'sini kullanın.

Kimliği doğrulanmış bir kullanıcının doğrudan sahip olduğu veya yönettiği tüm konumları listelemek için aşağıdakileri kullanın:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}

Dolaylı olarak sahip olunan girişleri (bir grup aracılığıyla sahip olunan veya yönetilen) dahil etmek için istek URL'sinde hesap için '-' joker karakteri kullanın:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}

Konumları listelediğinizde sonuçları filtreleme

HTTP

accounts.locations.list çağrısını yaptığınızda döndürülen sonuçları sınırlamak için filtreleri kullanabilirsiniz. Bir isteği filtrelemek için temel URL'ye aşağıdaki örnekte gösterildiği gibi bir filtre ifadesi ekleyin:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter={FIELD_NAME}=%22{YOUR_QUERY}%22

Temel sorgu söz dizimi

Kısıtlamalar aşağıdaki söz dizimine sahiptir: <field><operator><value>, burada operatör EŞİTTİR (=) veya İÇERİYOR (:) olur. EŞİTTİR (=) ve İÇERİYOR (:) operatörleri, locationName dışındaki tüm alanlar için eşdeğerdir (aşağıdaki tabloya bakın).

Tırnak işaretleri "%22" olarak, boşluklar ise artı işareti (+) olarak kodlanır.

Aksi belirtilmedikçe tüm karşılaştırmalar büyük/küçük harf duyarlı olmayan jeton karşılaştırmalarıdır. Örneğin, "4 sokak", "4, Privet Drive" ile eşleşir.

Filtre sorgusunda birden fazla alanı birleştirme

API, tüm alan kısıtlamalarının VE ile bağlanmasına izin verir. Ancak VEYA anahtar kelimesi söz konusu olduğunda tüm kısıtlamaların aynı alan için geçerli olması gerekir. Örneğin, locationName=A VEYA labels=B ifadesi kullanılamaz.

Örnek

Aşağıdaki örnekte, "Pepé Le Pew" adlı tüm konumları döndüren bir filtre ifadesi gösterilmektedir. "french_restaurant" veya "european_restaurant" kategorilerini ve "newly_open" etiketini gösterir.

locationName=%22Pepé+Le+Pew%22+AND+
(categories=%22french_restaurant%22+OR+
categories=%22european_restaurant%22)+AND+
labels=%22newly+open%22

Mesafeye veya hesaba göre arama yapın

Aşağıdaki örnekte, coğrafi bir noktadan belirli bir mesafedeki konumları nasıl arayacağınız gösterilmektedir:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}

ABD, Colorado, Boulder'a 1.600 km mesafedeki konumları filtrelemek için:

GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(40.01, -105.27))<1000.0

Desteklenen tüm filtre alanlarının listesi

Aşağıda, filtreleme için kullanılabilecek tüm alanların kapsamlı bir listesi verilmiştir:

Alanlar Açıklama ve örnek
Dize eşleştirme alanları
title

İşletmenin gerçek adı

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (alt dize olarak "Bajis" içeren tüm konum adlarıyla eşleşir)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (token/kelime olarak "Bajis" içeren tüm konum adlarıyla eşleşir)

categories

Birincil kategori ile ek kategorilerin birleşimi. "gcid:" ifadesinin atlanması gerektiğini unutmayın. Birden fazla kategori varsa bu filtre, en az bir kategori bu kalıpla eşleşirse eşleşir.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=categories="french_restaurant"

phone_numbers.primary_phone

E.164 biçimindeki birincil telefon numarası (ör. "+441234567890").

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=phone_numbers.primary_phone="+441234567890"

storefront_address.region_code

Adresin bulunduğu ülke/bölgenin CLDR bölge kodu

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.region_code="US"

storefront_address.administrative_area

Bir ülkenin veya bölgenin posta adresleri için kullanılan en yüksek idari alt birim

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.administrative_area="CA"

storefront_address.locality

Adresin şehir/kasaba kısmı

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.locality="New York"

storefront_address.postal_code

Adresin posta kodu

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storefront_address.postal_code="12345"

metadata.place_id

Bu konum doğrulanmışsa ve Google Haritalar'a bağlıysa/Google Haritalar'da görünüyorsa bu alan, konumun yer kimliğine eşittir.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=metadata.place_id="12345"

openInfo.status

Konumun şu anda açık olup olmadığını belirtir (OPEN, CLOSED_PERMANENTLY)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="OPEN"

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=openInfo.status="CLOSED_PERMANENTLY"

labels

İşletmenizi etiketlemenize olanak tanıyan serbest biçimli dizelerden oluşan bir koleksiyon. Diğer tüm alanların aksine bu değer, yalnızca bir jeton değil, büyük/küçük harf kullanımı da dahil olmak üzere tam bir etiketle tam olarak eşleşmelidir. Örneğin, bir etiket "XX YY" ise "XX" veya "xx yy" eşleşmez.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=labels="newly open"

storeCode

Bu konumun harici tanımlayıcısı. Belirli bir hesapta benzersiz olmalıdır.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=storeCode="12345"

İşlevler
distance

Konumun coğrafi bir noktadan olan uzaklığına göre filtreleme yapmanıza olanak tanır.

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint(1.0, -25.0))<1000.0

Sorgu alanına göre sıralama

Sonuçları işletme adına veya mağaza koduna göre artan ya da azalan düzende sıralayabilirsiniz. Birden fazla sıralama ölçütü, aşağıdaki örnekte gösterildiği gibi orderBy dizesinde virgülle ayrılır:

HTTP
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode

Bir konumu düzeltme

Bir konumun bir veya daha fazla alanını locations.patch ile güncellemek için My Business Business Information API'sini kullanın.

Bir konumun bir veya daha fazla alanını değiştirmek için aşağıdakileri kullanın:

HTTP

Alanları ve güncellenmiş değerleri konum alanıyla ekleyin ve fieldMask için değer olarak güncellenmiş alanların virgülle ayrılmış bir listesini kullanın.

PATCH
https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title
{
    "title": "Google Shoes"
}