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

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

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

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

ก่อนใช้ Business Information API ของ My Business คุณต้องลงทะเบียนแอปพลิเคชันและรับข้อมูลเข้าสู่ระบบ 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 แห่งขึ้นไป คุณอาจต้องการแสดงสถานที่ทั้งหมดที่เชื่อมโยงกับบัญชี ใช้ 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> โดยที่โอเปอเรเตอร์คือ "เท่ากับ" (=) หรือ "มี" (:) โอเปอเรเตอร์ "เท่ากับ" (=) และ "มี" (:) เทียบเท่ากันสําหรับทุกช่องยกเว้น locationName (ดูตารางด้านล่าง)

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

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

รวมหลายช่องในการค้นหาด้วยตัวกรอง

API อนุญาตให้ใช้ AND เพื่อเชื่อมต่อข้อจํากัดของช่องทั้งหมด อย่างไรก็ตาม เมื่อใช้คีย์เวิร์ด "หรือ" ข้อจํากัดทั้งหมดต้องมีผลกับช่องเดียวกัน เช่น ระบบไม่อนุญาตให้ใช้ locationName=A OR 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}

วิธีกรองสถานที่ตั้งภายใน 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"
}