推送飯店房價的運送方式

如果您有系統限制,無法支援提取或提取提示的傳送方式,請使用「與我們聯絡」表單

推送傳送模式總覽

使用推送推送模式時,每當價格或供應情形變更,您都會傳送漸進式更新。

下圖顯示推送傳送模式的要求/回應流程:

在通訊協定設定檔中設定推送

如要使用推送傳送模式更新價格,請在通訊協定設定檔中指定下列元素。只有在首次將環境設為與 Hotel Prices API 搭配使用時,您才需要執行這項工作:

  • <Model>:將 <Model> 元素的值設為「push」。
  • <WhitelistedIPs>:列出您用於驗證您與 Google 通訊之間的 IP 位址。這個元素的值可能是以半形分號分隔的 IP 位址清單,或是以 CIDR 標記法表示的 IP 位址範圍。格式為 xxx.xxx.xxx.xxx/YY

以下範例顯示使用 Push 的合作夥伴的通訊協定設定檔:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <Model>push</Model>
  <WhiteListedIPs>216.239.32.0/19;64.233.160.0/19</WhiteListedIPs>
</Configuration>

詳情請參閱通訊協定設定檔

使用推送更新價格

如要透過 Push 更新資料,請在資料變更時傳送交易訊息。

傳送交易訊息時,請遵循下列規範:

  • 將訊息傳送至下列端點:
    • http://www.google.com/travel/hotels/uploads/price
  • 使用 HTTP POST 方法。
  • Content-Type 標頭設為「application/xml」。
  • 訊息內文必須符合「交易價格」語法中所述,如設定價格 (價格更新) 或定義 Room 和套件中繼資料 (如為中繼資料更新) 所述。
  • 如要更新價格,請為每個要更新的行程定義 <Result> 元素。針對中繼資料更新,請為每個已變更的屬性定義會議室資料和套件資料。

針對收到的每則交易訊息,Google 會透過伺服器傳回的 HTTP 200 OK 訊息來表示成功。如果 Google 以 HTTP 錯誤代碼回應,請重新傳送交易訊息。如果您在傳送或接收訊息時遇到問題,請參閱排解動態饋給問題一文。

您需要為價格變更的每個行程 (資源/入住日期/入住天數組合) 傳送交易訊息。每秒最多可傳送 5 則交易訊息。Google 不會封鎖每秒傳送頻率高於 5 的訊息,但您的訊息可能會等候其他要求完成。

如要減少網路流量,您可以將多個 <Result> 元素合併為單一交易訊息。

Google 通常會在約 5 分鐘內處理更新後的價格和供應情形資料。系統會在 90 天後刪除價格。

如要進一步瞭解如何使用交易訊息來更新價格,請參閱設定價格

使用推送功能更新 Room 和套件中繼資料

如要更新會議室和套件中繼資料,傳送更新的方式與任何其他更新相同。在此情況下,您會使用 <RoomData><PackageData> 元素中的新資訊傳送交易訊息。這些元素是 <PropertyDataSet> 元素的子項。

詳情請參閱定義 Room 和套件中繼資料

放送模式錯誤

如果您在傳送交易訊息給 Google 時收到 HTTP 錯誤,請以 1、5 和 20 分鐘的間隔重試要求。如果 3 次重試後問題仍未解決,請停止傳送訊息,並洽詢 Google 客戶經理。

如果您與 Google 客戶經理聯絡,回報傳送交易訊息時收到的 HTTP 錯誤,則 Google 會執行大約 10 家飯店的測試,並會協助您確認動態饋給設定正確無誤。如果測試成功,Google 會檢索您在飯店價格動態饋給中指定的整間飯店。這樣做可確保負載可接受,且價格在 3 至 5 天內皆準確。之後,Google 會通知您上線情形,屆時您就可以在線上查看結果。

應該多久推送一次價格?

在理想情況下,如果價格有所變更,您會推送所有更新內容。如果您不知道價格何時出現異動,則應盡可能頻繁更新價格。這通常包括一天一次推送。一般來說,當天和週的行程頻率較高。