Bu eğitimde, konum verilerinin nasıl oluşturulacağı ve düzenleneceği gösterilmektedir. My Business Information API ile şunları yapabilirsiniz:
- Yeni bir konum oluşturun.
- Konum silebilirsiniz.
- Kaynak adına göre konum bilgisi alın.
- Bir hesaba ait tüm konumları listeleyin.
- Bir konum için bir veya daha fazla alanı güncelleyin.
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
My Business Information API'yi kullanmadan önce uygulamanızı kaydettirmeniz ve OAuth 2.0 kimlik bilgilerini almanız gerekir. My Business Information API'yi kullanmaya nasıl başlayacağınızla ilgili ayrıntılar için Temel kurulum başlıklı makaleyi inceleyin.
Konum oluşturun
accounts.locations.create adresine sahip olan bir işletme için yeni bir konum oluşturmak amacıyla Benim İşletmem Bilgileri API'sini kullanabilirsiniz.
Konum oluşturmak için aşağıdakileri kullanın:
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" } } }
Konum silme
locations.delete içeren bir konumu silmek için My Business Information API'yi kullanabilirsiniz.
Bir konumu silmek için aşağıdakileri kullanın:
DELETE https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
Ada göre konum al
Hesabınızla ilişkilendirilmiş çok sayıda işletmeniz varsa tek bir konum almak isteyebilirsiniz. locations.get yoluyla belirli bir konumu almak için işletme adına göre filtreleme yapabilirsiniz.
Bir konumu ada göre almak için aşağıdakileri kullanın. Belirli alanları almak için bir readMask belirtmelisiniz. :
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
Google Haritalar sürümünü döndürme
Bir konumun Google Haritalar sürümünü döndürmek için istek URL'sine aşağıdaki örnekte olduğu gibi googleUpdated
ekleyin:
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}:googleUpdated?readMask={commaSeparatedFieldsToRetrieve}
Hiç sonuç olmazsa 404 NOT FOUND
HTTP durum kodu döndürülür. Google güncellemelerini yönetmeyle ilgili daha fazla bilgiyi burada bulabilirsiniz.
Konumları listeleme
Bir veya daha fazla konumu yönetirken, hesabınızla ilişkilendirilen tüm konumları listelemek isteyebilirsiniz. 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:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}
Dolaylı olarak sahip olunan (bir grup aracılığıyla yönetilen veya yönetilen) girişleri dahil etmek üzere istek URL'sindeki hesap için '-'
joker karakteri kullanın:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
Konumları listelerken sonuçları filtreleme
accounts.locations.list çağrısı yaptığınızda döndürülen sonuçları sınırlandırmak için filtreleri kullanabilirsiniz. Bir isteği filtrelemek için temel URL'ye bu ö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ıtlama aşağıdaki söz dizimine sahiptir:
<field><operator><value>
.
Burada operatör EQUALS (=) veya HAS (:) olur. EQUALS (=) ve HAS (:) operatörleri, locationName
dışındaki tüm alanlar için eşdeğerdir (aşağıdaki tabloya bakın).
Tırnak işaretleri "%22", boşluklar da artı işareti (+) olarak kodlanır.
Aksi belirtilmedikçe tüm karşılaştırmalar, büyük/küçük harfe duyarlı olmayan jeton karşılaştırmalarıdır. Örneğin, "4 sürücü", "4, Privet Drive" ile eşleşir.
Bir filtre sorgusunda birden çok alanı birleştirme
API, AND operatörünün tüm alan kısıtlamalarını bağlaması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
değerine izin verilmez.
Örnek
Aşağıdaki örnekte "Pepé Le Pew" adlı tüm konumları döndüren bir filtre ifadesi gösterilmektedir. Burada "fransız_restoranı" veya "european_restoran" ile ilgili kategoriler ve "yeni açıldı" etiketi görüntülenir.
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 arayın
Aşağıdaki örnekte, bir coğrafi noktaya belirli bir uzaklıktaki konumları nasıl arayabileceğiniz gösterilmektedir:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=distance(latlng, geopoint({latitude}, {longitude}))<{distance}
Boulder, Colorado ABD'ye 1.000 kilometre mesafe içindeki 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 dünyadaki adı
|
categories |
Birincil kategori ile ek kategorilerin kombinasyonu. "gcid:" etiketinin atlanması gerektiğini unutmayın. Birden fazla kategori varsa bu filtre, en az bir kategori bu kalıpla eşleşirse eşleşir.
|
phone_numbers.primary_phone |
E.164 biçiminde birincil telefon numarası (ör. "+441234567890").
|
storefront_address.region_code |
Adresin bulunduğu ülkenin/bölgenin CLDR bölge kodu
|
storefront_address.administrative_area |
Bir ülkenin veya bölgenin posta adresleri için kullanılan en yüksek idari alt bölüm
|
storefront_address.locality |
Adresin şehir/ilçe bölümü
|
storefront_address.postal_code |
Adresin posta kodu
|
metadata.place_id |
Bu konum doğrulandıysa ve Google Haritalar'a bağlıysa/Google Haritalar'da görünüyorsa bu alan, konumun yer kimliğine eşit olur
|
openInfo.status |
Konumun şu anda işletme için açık olup olmadığını belirtir (
|
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 jetonu 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.
|
storeCode |
Bu konumun harici tanımlayıcısı (belirli bir hesap içinde benzersiz olması gerekir)
|
İşlevler | |
distance |
Konumun bir coğrafi noktaya olan mesafesine göre filtreleme yapmanıza olanak tanır.
|
Sorgu alanına göre sırala
Sonuçları işletme adına veya mağaza koduna göre artan veya azalan düzende sıralayabilirsiniz. Birden fazla sıralama ölçütü, aşağıdaki örnekte olduğu gibi orderBy
dizesinde virgüllerle ayrılır:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
Konuma yama uygulama
locations.patch ile bir konum için bir veya daha fazla alanı güncellemek istiyorsanız My Business Information API'sini kullanın.
Bir konuma ilişkin bir veya daha fazla alanı değiştirmek için aşağıdakileri kullanın:
Alanları ve güncellenen değerleri konum alanıyla ekleyin ve fieldMask
değeri olarak, güncellenmiş alanların virgülle ayrılmış listesini kullanın.
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title { "title": "Google Shoes" }