บทแนะนำนี้จะแสดงวิธีสร้างและแก้ไขข้อมูลตำแหน่ง Business Information API ของ My Business ช่วยให้คุณทําสิ่งต่อไปนี้ได้
- สร้างสถานที่ใหม่
- ลบตำแหน่ง
- รับตำแหน่งตามชื่อทรัพยากร
- แสดงรายการสถานที่ตั้งทั้งหมดของบัญชี
- อัปเดตช่องอย่างน้อย 1 ช่องสำหรับสถานที่
คุณใช้สถานที่ตั้งใน 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
หากต้องการสร้างสถานที่ ให้ใช้สิ่งต่อไปนี้
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
หากต้องการลบสถานที่ตั้ง ให้ใช้คำสั่งต่อไปนี้
DELETE https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}
รับตำแหน่งตามชื่อ
หากคุณมีธุรกิจหลายแห่งที่เชื่อมโยงกับบัญชี คุณอาจต้องขอรับสถานที่ตั้งเดียว คุณกรองตามชื่อธุรกิจเพื่อรับสถานที่ตั้งที่เฉพาะเจาะจงได้โดยใช้ locations.get
หากต้องการดูสถานที่ตามชื่อ ให้ใช้คำสั่งต่อไปนี้ คุณต้องระบุ readMask เพื่อดึงข้อมูลช่องที่ต้องการ :
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?readMask={commaSeparatedFieldsToRetrieve}
เปลี่ยนกลับเป็นเวอร์ชัน Google Maps เดิม
หากต้องการแสดงสถานที่เวอร์ชัน 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 เพื่อแสดงสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้
หากต้องการแสดงสถานที่ทั้งหมดที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้คำสั่งต่อไปนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}
ใช้ไวลด์การ์ด '-'
สำหรับบัญชีใน URL คำขอเพื่อรวมข้อมูลที่มีเจ้าของโดยอ้อม (เป็นเจ้าของหรือจัดการผ่านกลุ่ม) ดังนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/-/locations?readMask={commaSeparatedFieldsToRetrieve}
กรองผลลัพธ์เมื่อคุณแสดงสถานที่
คุณสามารถใช้ตัวกรองเพื่อจำกัดผลลัพธ์ที่แสดงเมื่อเรียกใช้ 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
ค้นหาตามระยะทางหรือบัญชี
ตัวอย่างต่อไปนี้แสดงวิธีค้นหาสถานที่ตั้งภายในระยะทางที่กําหนดจากจุดทางภูมิศาสตร์
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 |
ชื่อจริงของธุรกิจ
|
categories |
หมวดหมู่หลักและหมวดหมู่เพิ่มเติมรวมกัน โปรดทราบว่าต้องไม่ใส่ "gcid:" หากมีหมวดหมู่หลายหมวดหมู่ ตัวกรองนี้จะจับคู่หากมีหมวดหมู่อย่างน้อย 1 หมวดหมู่ที่ตรงกับรูปแบบนี้
|
phone_numbers.primary_phone |
หมายเลขโทรศัพท์หลักในรูปแบบ E.164 (เช่น "+441234567890")
|
storefront_address.region_code |
รหัสภูมิภาค CLDR ของประเทศ/ภูมิภาคของที่อยู่
|
storefront_address.administrative_area |
เขตบริหารย่อยที่สูงที่สุดซึ่งใช้สำหรับที่อยู่ไปรษณีย์ของประเทศหรือภูมิภาค
|
storefront_address.locality |
ส่วนที่แสดงเมือง/อำเภอของที่อยู่
|
storefront_address.postal_code |
รหัสไปรษณีย์ของที่อยู่
|
metadata.place_id |
หากสถานที่นี้ได้รับการยืนยันและเชื่อมต่อกับ/ปรากฏใน Google Maps ช่องนี้จะเท่ากับรหัสสถานที่ของสถานที่นั้น
|
openInfo.status |
ระบุว่าสถานที่ตั้งเปิดทําธุรกิจอยู่หรือไม่ในขณะนี้ (
|
labels |
คอลเล็กชันสตริงรูปแบบอิสระที่ช่วยให้คุณติดแท็กธุรกิจได้ ซึ่งแตกต่างจากฟิลด์อื่นๆ ทั้งหมด ค่านี้ต้องตรงกับป้ายกำกับแบบสมบูรณ์ทั้งหมด รวมถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ไม่ใช่แค่โทเค็น เช่น หากป้ายกำกับคือ "XX YY" จะไม่มีรายการใดตรงกับ "XX" หรือ "xx yy"
|
storeCode |
ตัวระบุภายนอกสำหรับสถานที่ตั้งนี้ ซึ่งต้องไม่ซ้ำกันภายในบัญชีหนึ่งๆ
|
ฟังก์ชัน | |
distance |
ให้คุณกรองตามระยะทางของสถานที่ตั้งจากจุดทางภูมิศาสตร์
|
จัดเรียงตามช่องข้อความค้นหา
คุณสามารถจัดเรียงผลลัพธ์ตามชื่อธุรกิจหรือรหัสร้านค้า โดยเรียงจากน้อยไปมากหรือมากไปน้อยก็ได้ เกณฑ์การจัดเรียงหลายรายการคั่นด้วยคอมมาในสตริง orderBy
ดังตัวอย่างต่อไปนี้
GET https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations?readMask={commaSeparatedFieldsToRetrieve}&orderBy=locationName,storeCode
แพตช์ตำแหน่ง
ใช้ My Business Business Information API เพื่ออัปเดตช่องอย่างน้อย 1 ช่องของสถานที่ตั้งด้วย locations.patch
หากต้องการเปลี่ยนช่องอย่างน้อย 1 ช่องของสถานที่ ให้ใช้คำสั่งต่อไปนี้
เพิ่มฟิลด์และค่าที่อัปเดตแล้วในช่องตำแหน่ง และใช้รายการฟิลด์ที่อัปเดตแล้วที่คั่นด้วยคอมมาเป็นค่าสำหรับ fieldMask
PATCH https://mybusinessbusinessinformation.googleapis.com/v1/locations/{locationId}?languageCode=language&validateOnly=True|False&updateMask=title { "title": "Google Shoes" }