因為有新的預訂,您系統中的廣告空間在一天內都會有所波動。 取消作業,並安排商家變更時程。即時更新 API 是一種向 Google 告知商品目錄異動情形的機制 提高可用性您也可以使用即時 API 更新 對現有預訂所做的變更。
API 即時更新和動態饋給
API 即時更新會利用 API 即時更新,向 Google 通知以下 內容供應當下的空缺情況及預訂。此外, 即時 API 更新,每天傳送完整的「供應情形」動態饋給,以確保 是 Google 目前最正確、最新的供應情形資訊 也存在於你的系統中完整的動態饋給可做為目前的數據匯報 您系統中的廣告空間供應量狀態
雖然 API 更新可用於更新 提供的連結包括商家和服務相關資訊 通常只會用於更新供應情形資訊。
必要的即時更新 API
即時更新 (RTU) API | ||
---|---|---|
BookingNotification | 必要項目 | 隨時傳送 BookingNotification RTU 預訂變更 (例如修改或取消)。 |
供應情形取代 RTU | 有條件限制的必要項目 [1] | 傳送下列其中一項 批次取代或 單一取代 RTU,用來傳送商品目錄供應情形的更新資訊。 變更可能需要幾分鐘才會生效。 |
商家 RTU | 選用 | 如要變更商家,請傳送商家 RTU 即時處理資訊變更可能需要數小時才會生效 模擬情境 |
服務 RTU | 選用 | 如要變更服務,請發送服務 RTU 即時處理資訊其中一項常見的用途是提供服務價格 每日波動會大幅波動,實作服務 RTU 的方式為 ,以免因價格不一致導致訂單失敗。如有變更, 可能要幾小時後才會反映和反映 |
Availability Replace API RTU
使用 availability 取代 API,在 以下用途:
- 使用者透過你的系統進行預訂,因此供應時段無 提供更即時的 IP 位址
- 商家在您的系統中變更了供應情形。
- 使用者透過 Google 進行預訂,因此供應時段無 提供更即時的 IP 位址
- 你這邊透過 Google 進行的預訂取消了,例如 是由商家直接提供您需要更新預訂以及 因為原始時段已可再次放送
- 預訂伺服器
BatchAvailabilityLookup
呼叫傳回 與實際廣告空間不符的廣告空間
詳情請參閱下列資源:
Booking Notification API RTU
Booking Notification API 會通知 Google
更新現有預訂的資訊傳送取消會籍的更新通知時
只傳送請求中的必要資訊
updateMask
查詢參數:範例如下:
Request: PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/<PARTNER_ID>/bookings/<BOOKING_ID>?updateMask=status Body: {"name":"partners/<PARTNER_ID>/bookings/<BOOKING_ID>", "status":"CANCELED"}
存取 API
建立服務帳戶
使用 Google API 控制台中的「憑證」分頁: 建立服務帳戶。將私密金鑰以 JSON 格式儲存在安全 。建立帳戶時,您可以選擇將角色設為 「擁有者。」
驗證 Maps Booking API
建立服務帳戶後,請驗證下列 API:
- Google Maps Booking API
- Google Maps Booking API (開發人員)
如需逐步操作指南,請參閱 「透過 Maps Booking API 進行驗證」教學課程。
使用符合 REST 樣式的呼叫或下載用戶端程式庫
建議您直接對 Maps Booking API 進行符合 REST 樣式的呼叫 與 JSON 酬載詳情請參閱 REST API 說明文件。
您也可以使用用戶端程式庫連線至 API。
語言 | 下載連結 |
---|---|
Java | Java 用戶端程式庫。詳情請參閱 Java 用戶端操作說明。 |
其他資訊 支援資料庫 會處理授權和 Google API 呼叫的其他層面。如有需要, 來看看 這些範例。
擷取「探索」文件
針對部分用戶端程式庫 (例如 Ruby),您必須擷取 API 的探索文件,內容說明 API 的方法和 參數。
使用下列指令擷取探索文件:
curl -s -o 'mapsbooking_rest' 'https://mapsbooking.googleapis.com/$discovery/rest?version=v1alpha'
如要進一步瞭解如何透過 Ruby 存取 API,請點選下列連結: Ruby API 用戶端和 Ruby 驗證程式庫。
對 API 發出授權呼叫
呼叫 API 時,請參閱
準備發出已授權的 API 呼叫來授權服務
存取金鑰和以下 OAuth 範圍:
https://www.googleapis.com/auth/mapsbooking
。
API 配額
API 更新的配額為每 60 秒 1,500 個要求,或每 25 個要求。 平均每秒 20% 的影格速率超過配額時 (如果您未在合作夥伴入口網站中加入正確的 Google Cloud 專案編號,就可能發生這種情況),Google 會提供 下列錯誤訊息:
{ "error": { "code": 429, "message": "Insufficient tokens for quota ...", "status": "RESOURCE_EXHAUSTED", "details": [...] } }
如要處理這種情況,請以指數較大的間隔重試呼叫,直到
因此成功如果您經常用完
ReplaceServiceAvailability
,切換至
BatchReplaceServiceAvailabily
,用於減少 API 數量
呼叫。這個方法可讓您在單一 API 中更新多項服務
呼叫。
沙箱和實際執行環境端點
您可以透過 並嚴謹測試及提升 API 的公平性後 我們才能放心地推出 API確認您已在 Google Cloud 專案中啟用這兩個 API。 這兩個 API 都使用相同的範圍,但端點不同。
實際執行環境端點:https://mapsbooking.googleapis.com/
沙箱端點:https://partnerdev-mapsbooking.googleapis.com/
以下範例說明如何在 Java 中切換端點:
// This block of code is for OAuth and is the same for prod and sandbox. GoogleCredential .fromStream(new FileInputStream(...)) .createScoped(Collections.singleton("https://www.googleapis.com/auth/mapsbooking")) // This block of code sets the endpoint. This is what you'd change to connect to the sandbox. new GoogleMapsBookingAPI.Builder(...) .setApplicationName(...) .setRootUrl("https://partnerdev-mapsbooking.googleapis.com/") // you add this to change the endpoint to use partnerdev. .build()