用途
Google Maps Booking API 提供兩種方法 以程式輔助的方式擷取個別商家的狀態 多項 Actions Center 整合 在地生活服務廣告 廣告空間。
Merchant Status API 的應用實例:
- 強化現有客戶關係管理工具,以展現 顧客如何在 Actions Center 平台上顯示自家商品目錄。
- 建立資訊主頁來追蹤 您的商家
- 透過程式輔助方式,擷取 並修正任何不正確的資訊,藉此提高資料品質。
商家狀態包含什麼內容?
MerchantStatus:包含下列資訊:
- 商家商品目錄狀態:同時適用於預訂和/或等候名單商家。
- 商家比對狀態:包含相符商家資訊的詳細資料
- 適用對象 僅限 Google 在地生活服務廣告) 相符的商家服務供應商: 包含客戶 ID 和服務類別
- 顯示商家如何透過「透過以下方式預訂」服務顯示的網址: Google。
查詢單一商家狀態
您可以使用以下條件取得單一商家的狀態: inventory.partners.merchants.getStatus:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status
以下是 Python 程式碼範例 (查看更多程式語言的範例 這裡):
from google.auth.transport.requests import AuthorizedSession from google.oauth2 import service_account credentials = service_account.Credentials.from_service_account_file( './your_key.json') scoped_credentials = credentials.with_scopes( ['https://www.googleapis.com/auth/mapsbooking']) authed_session = AuthorizedSession(scoped_credentials) response = authed_session.get('https://partnerdev-mapsbooking.googleapis.com' + '/v1alpha/inventory/partners/123456789/merchants/001/status')
範例 MerchantStatus 回應如下所示:
{ "name": "partners/123456789/merchants/001/status", "merchantName": "Foo Bar Restaurant", "inputGeoInfo": { "unstructured_address": "123 Foo Bar Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true } "geoMatch": { "name": "Foo Bar Restaurant", "formattedAddress": "123 Foo Bar St, Mountain View, CA 94043", "placeId": "ChIAAAAAAAAABBBBBBBB" }, "directUrls": [ { "type": "BOOKING", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa" }, { "type": "WAITLIST", "url": "https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb" } ] }
大量擷取商家狀態
您可以擷取所有商家或一組商家的狀態 來滿足某些廣告空間/比對條件時,您可以使用 inventory.partners.merchants.status.list.例如,您可以 這項呼叫,取得所有不相符商家且包含有效的未來日期預訂 庫存:
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED
回應範例會如下所示:
{ "merchantStatuses": [ { "name": "partners/123456789/merchants/002/status", "merchantName": "Bar Foo Restaurant", "inputGeoInfo": { "unstructured_address": "234 Bar Foo Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": {}, }, ... { "name": "partners/123456789/merchants/080/status", "merchantName": "Baz Restaurant", "inputGeoInfo": { "unstructured_address": "345 Baz Street, Mountain View" }, "processingStatus": "COMPLETED", "bookingStatus": { "hasValidFutureInventory": true }, "waitlistStatus": { "hasValidWaitlistService": true }, }, ], "nextPageToken": "AAABBBB" }
則此回應將包含 50
符合篩選條件並排序依據的 MerchantStatus
merchant_id
。回應中也會包含網頁權杖 (如果是
而非最後一頁) 查詢下一頁。
請注意:所有執行個體的篩選條件都必須一致 網頁。
最佳做法
由於商家狀態通常不會頻繁變更,因此 建議定期快取擷取的結果,並定期 (例如每隔幾步) 小時) 和新的查詢擷取這些資料。動作中心可能會降低您的 判斷每秒要求數是否過高。