บทแนะนำนี้แสดงวิธีสร้างและแก้ไขข้อมูลสถานที่ตั้ง My Business Business Information API ช่วยให้คุณทำสิ่งต่อไปนี้ได้
- สร้างสถานที่ตั้งใหม่
- ลบสถานที่ตั้ง
- รับสถานที่ตั้งตามชื่อทรัพยากร
- แสดงรายการสถานที่ตั้งทั้งหมดสำหรับบัญชี
- อัปเดตฟิลด์อย่างน้อย 1 ฟิลด์สำหรับสถานที่ตั้ง
คุณสามารถใช้สถานที่ตั้งในโฆษณาได้ แต่ต้อง ยืนยันสถานที่ตั้งเพื่อให้มีสิทธิ์ ปรากฏใน 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
หากต้องการสร้างสถานที่ตั้ง ให้ใช้สิ่งต่อไปนี้
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 แห่ง คุณอาจต้องการแสดงรายการสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับบัญชี ใช้ accounts.locations.list API เพื่อแสดงรายการสถานที่ตั้งทั้งหมดที่เชื่อมโยงกับผู้ใช้
หากต้องการแสดงรายการสถานที่ตั้งทั้งหมดที่ผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์เป็นเจ้าของหรือจัดการโดยตรง ให้ใช้สิ่งต่อไปนี้
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>,
โดยที่ตัวดำเนินการคือ 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
ค้นหาตามระยะทางหรือบัญชี
ตัวอย่างต่อไปนี้แสดงวิธีค้นหาสถานที่ตั้งภายในระยะทางที่กำหนดจากจุดทางภูมิศาสตร์
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"
}