Bu eğitimde, konum verilerinin nasıl oluşturulacağı ve düzenleneceği gösterilmektedir. My Business Business Information API, aşağıdaki işlemleri yapmanıza olanak tanır:
- Yeni bir konum oluşturun.
- Konum silme.
- Kaynak adına göre konum alma
- Bir hesaba ait tüm konumları listeleme
- Bir konumun bir veya daha fazla alanını güncelleme
Konumlar Google 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 Business Information API'yi kullanmadan önce uygulamanızı kaydetmeniz ve OAuth 2.0 kimlik bilgilerini almanız gerekir. My Business Business Information API'yi kullanmaya başlama hakkında ayrıntılı bilgi için Temel kurulum başlıklı makaleyi inceleyin.
Konum oluşturma
accounts.locations.create ile bir işletme için yeni bir konum oluşturmak üzere My Business Business Information API'yi 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 ile bir konumu silmek için 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}
Konumu ada göre alma
Hesabınızla ilişkili çok sayıda işletmeniz varsa tek bir konum almak isteyebilirsiniz. locations.get ile 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 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 istek URL'sine aşağıdaki örnekte olduğu gibi 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 bilgi için Güncellemeleri kabul etme veya reddetme başlıklı makaleyi inceleyin.
Genişletilmiş konum verilerini ve düzenleme durumunu döndürme (v1alpha)
Hem satıcı tarafından sağlanan konum verilerini hem de tüketiciye yönelik konum verilerini, alan bazında düzenleme yaşam döngüsü aşamaları (ör. EDIT_LIFECYCLE_STAGE_PENDING veya EDIT_LIFECYCLE_STAGE_REJECTED), düzenleme kaynağı (SOURCE_API veya SOURCE_UI) ve politika ihlali nedenleriyle birlikte tek bir çağrıda almak için v1alpha içinde locations.getExtended kullanın:
GET
https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
Tam yanıt örnekleri ve alan bazında düzenleme durumunu ve politika ihlallerini yorumlama hakkında ayrıntılı bilgi için Konumlar ve özellikler için düzenleme durumunu kontrol etme başlıklı makaleyi inceleyin.
Konumları listeleyin
Bir veya daha fazla konumu yönetirken hesabınızla ilişkili 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 sahip olunan veya yönetilen) girişleri dahil etmek için istek URL'sinde hesap için '-' joker karakterini kullanın:
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
Konumları listelerken sonuçları filtreleme
accounts.locations.list yöntemini çağırdığınızda döndürülen sonuçları sınırlamak için filtreleri kullanabilirsiniz. Bir isteği filtrelemek için bu örnekte gösterildiği gibi ana URL'ye 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ıtlamanın söz dizimi şu şekildedir:
<field><operator><value>,
Burada operatör EQUALS (=) veya HAS (:) şeklindedir. EQUALS (=) ve HAS (:) operatörleri, locationName hariç 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şaretleri (+) 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 drive", "4, Privet Drive" ile eşleşir.
Filtre sorgusunda birden fazla alanı birleştirme
API, tüm alan kısıtlamalarını bağlamak için AND operatörüne izin verir. Ancak VEYA anahtar kelimesi söz konusu olduğunda tüm kısıtlamaların aynı alana uygulanması gerekir. Örneğin: locationName=A VEYA labels=B ifadesine izin verilmez.
Ö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 yapma
Aşağıdaki örnekte, bir coğrafi noktaya belirli bir mesafedeki 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.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 dünyadaki adı
|
categories |
Birincil kategori ile ek kategorilerin birleşimi. "gcid:" ifadesinin çıkarılması gerektiğini unutmayın. Birden fazla kategori varsa bu filtre, en az bir kategori bu kalıpla eşleştiğinde eşleşir.
|
phone_numbers.primary_phone |
E.164 biçimindeki birincil telefon numarası (ör. "+441234567890").
|
storefront_address.region_code |
Adresin bulunduğu ülkenin/bölgenin CLDR bölge kodu
|
storefront_address.administrative_area |
Bir ülke veya bölgenin posta adresleri için kullanılan en yüksek idari alt bölüm
|
storefront_address.locality |
Adresin şehir/ilçe 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 jetonla 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 noktaya 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 olduğu gibi orderBy dizesinde virgülle ayrılır:
GET
https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
Bir konumu güncelleme
locations.patch ile bir konumun bir veya daha fazla alanını güncellemek için My Business Business Information API'yi kullanın.
Bir konumun bir veya daha fazla alanını değiştirmek için aşağıdakileri kullanın:
Alanları ve güncellenen değerleri konum alanıyla birlikte ekleyin ve fieldMask değeri olarak güncellenen 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"
}