ทำงานกับข้อมูลตำแหน่ง

บทแนะนำนี้แสดงวิธีสร้างและแก้ไขข้อมูลสถานที่ตั้ง My Business Business Information API ช่วยให้คุณทำสิ่งต่อไปนี้ได้

คุณสามารถใช้สถานที่ตั้งในโฆษณาได้ แต่ต้อง ยืนยันสถานที่ตั้งเพื่อให้มีสิทธิ์ ปรากฏใน Search และ Maps ข้อมูลสถานที่ตั้งแสดงด้วย accounts.locations

ก่อนเริ่มต้น

ก่อนใช้ My Business Business Information API คุณต้องลงทะเบียนแอปพลิเคชันและรับข้อมูลเข้าสู่ระบบ OAuth 2.0 ดูรายละเอียดเกี่ยวกับวิธีเริ่มต้นใช้งาน My Business Business Information API ได้ที่ การตั้งค่าพื้นฐาน

สร้างสถานที่ตั้ง

คุณสามารถใช้ My Business Business Information API เพื่อสร้างสถานที่ตั้งใหม่สำหรับธุรกิจด้วย accounts.locations.create

หากต้องการสร้างสถานที่ตั้ง ให้ใช้สิ่งต่อไปนี้

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

ลบสถานที่ตั้ง

คุณสามารถใช้ My Business Business Information API เพื่อลบสถานที่ตั้งด้วย locations.delete

หากต้องการลบสถานที่ตั้ง ให้ใช้สิ่งต่อไปนี้

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

รับสถานที่ตั้งตามชื่อ

หากคุณมีธุรกิจหลายแห่งที่เชื่อมโยงกับบัญชี คุณอาจต้องการรับสถานที่ตั้งเดียว คุณสามารถกรองตามชื่อธุรกิจเพื่อรับสถานที่ตั้งที่เฉพาะเจาะจง ด้วย locations.get

หากต้องการรับสถานที่ตั้งตามชื่อ ให้ใช้สิ่งต่อไปนี้ คุณต้องระบุ readMask เพื่อดึงข้อมูลฟิลด์ที่เฉพาะเจาะจง :

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

แสดงเวอร์ชัน Google Maps

HTTP

หากต้องการแสดงเวอร์ชัน Google Maps ของสถานที่ตั้ง ให้ต่อท้าย googleUpdated กับ URL คำขอ ดังตัวอย่างต่อไปนี้

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

หากไม่มีผลลัพธ์ ระบบจะแสดงรหัสสถานะ HTTP 404 NOT FOUND ดูรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการการอัปเดตของ Google ได้ที่ ยอมรับหรือปฏิเสธการอัปเดต

แสดงรายการสถานที่ตั้ง

เมื่อจัดการสถานที่ตั้งอย่างน้อย 1 แห่ง คุณอาจต้องการแสดงรายการสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับบัญชี ใช้ accounts.locations.list API เพื่อแสดงรายการสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้

หากต้องการแสดงรายการสถานที่ตั้งทั้งหมดที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้สิ่งต่อไปนี้

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

ใช้ไวลด์การ์ด '-' สำหรับบัญชีใน URL คำขอเพื่อรวมข้อมูลที่เป็นเจ้าของทางอ้อม (เป็นเจ้าของหรือจัดการผ่านกลุ่ม)

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

กรองผลลัพธ์เมื่อแสดงรายการสถานที่ตั้ง

HTTP

คุณสามารถใช้ตัวกรองเพื่อจำกัดผลลัพธ์ที่แสดงเมื่อเรียก accounts.locations.list หากต้องการกรองคำขอ ให้ต่อท้ายนิพจน์ตัวกรองกับ URL ฐานตามที่แสดงใน ตัวอย่างนี้:

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

ไวยากรณ์การค้นหาพื้นฐาน

ข้อจำกัดมีไวยากรณ์ดังนี้: <field><operator><value>, โดยที่ตัวดำเนินการคือ EQUALS (=) หรือ HAS (:). ตัวดำเนินการ EQUALS (=) และ HAS (:) มีค่าเท่ากันสำหรับฟิลด์ทั้งหมด ยกเว้น locationName (ดู ตารางด้านล่าง)

ระบบจะเข้ารหัสเครื่องหมายคำพูดเป็น "%22" และช่องว่างเป็นเครื่องหมายบวก (+)

การเปรียบเทียบทั้งหมดเป็นการเปรียบเทียบโทเค็นแบบไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เว้นแต่จะระบุไว้เป็นอย่างอื่น เช่น "4 drive" จะตรงกับ "4, Privet Drive"

รวมฟิลด์หลายรายการในการค้นหาตัวกรอง

API อนุญาตให้ใช้ AND เพื่อเชื่อมต่อข้อจำกัดของฟิลด์ทั้งหมด อย่างไรก็ตาม เมื่อใช้คีย์เวิร์ด OR ข้อจำกัดทั้งหมดต้องใช้กับฟิลด์เดียวกัน เช่น locationName=A OR labels=B ไม่ได้รับอนุญาต

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงนิพจน์ตัวกรองที่แสดงสถานที่ตั้งทั้งหมดที่มีชื่อว่า "Pepé Le Pew" โดยแสดงหมวดหมู่สำหรับ "french_restaurant" หรือ "european_restaurant" และป้ายกำกับ "newly open"

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

ค้นหาตามระยะทางหรือบัญชี

ตัวอย่างต่อไปนี้แสดงวิธีค้นหาสถานที่ตั้งภายในระยะทางที่กำหนดจากจุดทางภูมิศาสตร์

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

หากต้องการกรองสถานที่ตั้งภายในระยะทาง 1, 000 ไมล์จากโบลเดอร์ รัฐโคโลราโด สหรัฐอเมริกา ให้ทำดังนี้

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

รายการฟิลด์ตัวกรองทั้งหมดที่รองรับ

ต่อไปนี้เป็นรายการฟิลด์ทั้งหมดที่สามารถใช้สำหรับการกรอง

ฟิลด์ คำอธิบายและตัวอย่าง
ฟิลด์การจับคู่สตริง
title

ชื่อจริงของธุรกิจ

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title:"Bajis" (ตรงกับชื่อสถานที่ตั้งที่มี "Bajis" เป็นสตริงย่อย)

https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&filter=title="Bajis" (ตรงกับชื่อสถานที่ตั้งที่มี "Bajis" เป็นโทเค็น/คำ)

categories

การรวมกันของหมวดหมู่หลักและหมวดหมู่เพิ่มเติม โปรดทราบว่าต้องละเว้น "gcid:" หากมีหลาย หมวดหมู่ ตัวกรองนี้จะตรงกันหากมีหมวดหมู่อย่างน้อย 1 หมวดหมู่ที่ตรงกับรูปแบบนี้

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

phone_numbers.primary_phone

หมายเลขโทรศัพท์หลักในรูปแบบ E.164 (เช่น "+441234567890")

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

storefront_address.region_code

รหัสภูมิภาค CLDR ของประเทศ/ภูมิภาคของที่อยู่

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

storefront_address.administrative_area

เขตบริหารย่อยที่สูงที่สุดซึ่งใช้สำหรับที่อยู่ทางไปรษณีย์ของประเทศหรือภูมิภาค

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

storefront_address.locality

ส่วนเมือง/เขตของที่อยู่

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

storefront_address.postal_code

รหัสไปรษณีย์ของที่อยู่

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

metadata.place_id

หากสถานที่ตั้งนี้ได้รับการยืนยันและเชื่อมต่อกับ/ปรากฏใน Google Maps ฟิลด์นี้จะมีค่าเท่ากับรหัสสถานที่ของสถานที่ตั้ง

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

openInfo.status

ระบุว่าสถานที่ตั้งเปิดให้บริการอยู่หรือไม่ (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

คอลเล็กชันสตริงรูปแบบอิสระเพื่อให้คุณติดแท็กธุรกิจได้ ค่านี้ต้องตรงกับป้ายกำกับแบบเต็มรวมถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ไม่ใช่แค่โทเค็น ซึ่งแตกต่างจากฟิลด์อื่นๆ ทั้งหมด เช่น หากป้ายกำกับคือ "XX YY" ทั้ง "XX" หรือ "xx yy" จะไม่ตรงกัน

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

storeCode

ตัวระบุภายนอกสำหรับสถานที่ตั้งนี้ ซึ่งต้องไม่ซ้ำกันภายในบัญชีที่กำหนด

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

ฟังก์ชัน
distance

ช่วยให้คุณกรองตามระยะทางของสถานที่ตั้งจากจุดทางภูมิศาสตร์ได้

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

จัดเรียงตามฟิลด์การค้นหา

คุณสามารถจัดเรียงผลลัพธ์ตามชื่อธุรกิจหรือรหัสร้านค้า โดยเรียงจากน้อยไปมากหรือมากไปน้อย คั่นเกณฑ์การจัดลำดับหลายรายการด้วยคอมมาในสตริง orderBy ดังตัวอย่างต่อไปนี้

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

แก้ไขสถานที่ตั้ง

ใช้ My Business Business Information API เพื่ออัปเดตฟิลด์อย่างน้อย 1 ฟิลด์สำหรับสถานที่ตั้งด้วย locations.patch

หากต้องการเปลี่ยนฟิลด์อย่างน้อย 1 ฟิลด์สำหรับสถานที่ตั้ง ให้ใช้สิ่งต่อไปนี้

HTTP

เพิ่มฟิลด์และค่าที่อัปเดตด้วยฟิลด์สถานที่ตั้ง แล้วใช้รายการฟิลด์ที่อัปเดตซึ่งคั่นด้วยคอมมาเป็นค่าสำหรับ fieldMask

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