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:
- Yeni bir konum oluşturun.
- Bir konumu silme
- Kaynak adına göre konum alın.
- Bir hesaptaki tüm konumları listeleyin.
- Bir konumun bir veya daha fazla alanını 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
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:
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:
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. :
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 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:
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:
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
Konumları listelediğinizde sonuçları filtreleme
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:
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ı
|
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.
|
phone_numbers.primary_phone |
E.164 biçimindeki birincil telefon numarası (ör. "+441234567890").
|
storefront_address.region_code |
Adresin bulunduğu ülke/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 birim
|
storefront_address.locality |
Adresin şehir/kasaba kısmı
|
storefront_address.postal_code |
Adresin posta kodu
|
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.
|
openInfo.status |
Konumun şu anda 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 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.
|
storeCode |
Bu konumun harici tanımlayıcısı. Belirli bir hesapta benzersiz olmalıdır.
|
İşlevler | |
distance |
Konumun coğrafi bir noktadan olan uzaklığına göre filtreleme yapmanıza olanak tanır.
|
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:
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:
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" }