Konum verileriyle çalışma

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

Konumlar, Google Ads'de kullanılabilir ancak uygun olması için doğrulandı Arama ve Haritalar'da görünür. Konum verileri accounts.locations koleksiyonudur.

Başlamadan önce

My Business Information API'sini kullanmadan önce Google OAuth 2.0 kimlik bilgilerini alın. Nasıl başlayacağınızla ilgili ayrıntılar için My Business Information API ile Temel kurulum başlıklı makaleyi inceleyin.

Konum oluşturun

Bir işletme için yeni bir konum oluşturmak üzere İşletme Bilgileri API'sini kullanabilirsiniz: accounts.locations.create adresini ziyaret edin.

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"
      }
     }
}

Konum silme

Aşağıdakileri içeren bir konumu silmek için Benim İşletmem Bilgileri API'sini kullanabilirsiniz: locations.delete.

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

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

Adını kullanarak bir konum alın

Hesabınızla ilişkilendirilmiş çok sayıda işletmeniz varsa, bunları bir konumdur. İşletmenin türüne göre filtreleyebilirsiniz. belirli bir adı almak için şununla konum: locations.get.

Bir konumu ada göre almak için aşağıdakileri kullanın. Belirli alanları almak için bir ReadMask belirtmelisiniz. :

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

Google Haritalar sürümünü iade etme

HTTP

Bir konumun Google Haritalar sürümünü döndürmek için googleUpdated ekleyin:

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

Hiç sonuç yoksa 404 NOT FOUND HTTP durum kodu geri döndü. Google güncellemelerini yönetmeyle ilgili daha fazla bilgiyi burada bulabilirsiniz.

Konumları listeleyin

Bir veya daha fazla konumu yönetirken her bir konum için hesabınızla ilişkilendirilen tüm konumlar. Şunu kullanın: accounts.locations.list Bir kullanıcıyla ilişkilendirilen tüm konumları listelemek için kullanılan API.

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

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

İstek URL'sinde hesap için '-' joker karakteri kullanarak dolaylı olarak sahip olunan girişler (bir grup aracılığıyla sahip olunan veya yönetilen):

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

Konumları listelerken sonuçları filtreleme

HTTP

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

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 EQUALS (=) veya HAS (:) şeklindedir. EQUALS (=) ve HAS (:) işleçleri, locationName dışındaki tüm alanlar için eşdeğerdir (bkz. tabloya bakın).

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

Aksi belirtilmedikçe hiçbir karşılaştırma büyük/küçük harfe duyarlı değildir en iyi uygulamaları görelim. Örneğin, "4 sürücü" "4, Privet Drive" ile eşleşir.

Bir filtre sorgusunda birden çok alanı birleştirme

API, tüm alan kısıtlamalarının bağlanmasına izin verir. Ancak, VEYA anahtar kelimesi söz konusu olduğunda, tüm kısıtlamaların aynı girin. Örneğin: locationName=A VEYA labels=B şu değildir izin verilir.

Örnek

Aşağıdaki örnekte, adı "Pepé Le Pew". "Fransız_restoran" veya "fransız restoranı" kategorilerinden birini gösterir. veya "avrupa_restoranı" ve "yeni açıldı" etiketini taşır.

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

Mesafe veya hesaba göre arayın

Aşağıdaki örnekte, belirli bir bölgedeki konumları nasıl arayabileceğiniz bir coğrafi noktadan uzaklık:

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

Boulder, Colorado ABD'ye 1600 mil mesafedeki yerleri 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, ATT için kullanılabilecek tüm alanların filtre uygula:

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

İşletmenin gerçek dünyada adı

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis". (alt dize olarak "Bajis" ile herhangi bir konum adıyla eşleşir)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis". (herhangi bir konum adını jeton/kelime olarak "Bajis" ile eşleştirir)

categories

Birincil kategori ile ek kategorilerin kombinasyonudur. "gcid:" atlanması gerekir. Birden fazla Bu filtre, en az bir kategori bununla eşleşirse bu filtre desen.

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 ülkenin/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 ülke veya bölgenin posta adresleri için kullanılan en yüksek idari alt bölüm

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

storefront_address.locality

Adresin şehir/ilçe 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ı gösterir (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. İçinde diğer tüm alanların aksine, bu değer tam olarak büyük/küçük harf içeren bir etikettir. Ör. Bir etiket "XX YY" ise "XX" de veya "xx yy" eşleşecek.

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

storeCode

Belirli bir hesapta benzersiz olması gereken, bu konumun harici tanımlayıcısı

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

İşlevler
distance

Konumun coğrafi bir noktaya olan mesafesine 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ırala

Sonuçları işletme adına veya mağaza koduna göre artan ya da azalan sırada. Birden fazla sıralama ölçütü virgülle ayrılmış orderBy dizesi, aşağıdaki örnekte gösterildiği gibidir:

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

Konuma yama ekleyin

Bir konumla ilgili bir veya daha fazla alanı güncellemek için İşletme Bilgileri API'sini kullanın: locations.patch olarak değiştirebilirsiniz.

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

HTTP

Alanları ve güncellenmiş değerleri konum alanıyla ekleyin ve fieldMask değeri olarak güncellenmiş alanların virgülle ayrılmış listesi.

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