การใช้งานข้อมูลตําแหน่ง

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

สถานที่ตั้งจะใช้ใน Google Ads ได้ แต่ต้องได้รับการยืนยันก่อนจึงจะมีสิทธิ์ปรากฏใน Search และ Maps ข้อมูลตำแหน่งจะแสดงโดยคอลเล็กชัน accounts.locations

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

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

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

คุณใช้ My 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 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 แห่ง คุณอาจต้องการแสดงรายการสถานที่ทั้งหมดที่เชื่อมโยงกับบัญชีของคุณ ใช้ API accounts.locations.list เพื่อแสดงสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้

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

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 อนุญาตให้และเชื่อมต่อข้อจำกัดทุกช่องได้ อย่างไรก็ตาม เมื่อกล่าวถึงคีย์เวิร์ด "หรือ" ข้อจำกัดทั้งหมดจะมีผลกับช่องเดียวกัน ตัวอย่างเช่น ไม่อนุญาตให้ใช้ locationName=A หรือ labels=B

ตัวอย่าง

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

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}

วิธีกรองสถานที่ภายในรัศมี 1000 ไมล์ของโบลเดอร์ รัฐโคโลราโด สหรัฐอเมริกา:

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