行程的 API 傳輸
透過「行程」功能,您可以顯示客戶的預訂資訊,並協助他們搜尋「booking-related」的產品或服務,例如旅遊行程或體驗活動。您也可以利用這些資料來分析預訂趨勢,並為相關利害關係人製作報告。
配送選項
您透過 API 傳輸行程資料時,可採用「推送」或「拉取」機制。
推播機制
推播服務會在行程更新時即時發送更新資訊。核心預訂欄位會在交易完成後數分鐘內提供,輔助欄位及補充欄位則會在 2 至 4 小時內陸續提供。此選項可讓您:
- 在您的網站上顯示客戶的預訂資訊,或 App
- 向旅客提供更多可供購買的旅遊產品與服務
推播事件將透過 Webhook 傳送至您提供的 URL,格式為HTTP POST 訊息。這些訊息的傳送順序可能不固定,因此請參閱creation_date 和update_date_time 元素以確定順序。
處理推送事件
由於行程資料是隨取得而傳送,您可能會收到同一行程的多個事件——首先是包含核心欄位的初始事件,隨後隨著輔助資料的豐富或行程的更新,還會收到後續的事件。
應做的事:
- 預期每個行程中會有多個活動:請使用
itinerary_id來關聯各項活動,並始終將具備最新update_date_time的活動視為權威來源 - 選擇如何處理更新:當您收到現有行程的新事件時,您可以選擇以最新資料覆寫先前記錄,或將每個事件追加至末端以保留變更歷史紀錄
- 妥善處理缺失的欄位:早期事件中可能缺少輔助欄位;在處理前應先檢查欄位是否存在
請勿:
- 假設第一個事件包含完整的有效載荷:,其輔助欄位將在後續事件中出現
- 將同一行程中的多個事件視為錯誤處理: 這是預期中的行為
- 請將 real-time 上的財務數值視為最終數值: 這些數值可能會在 24 小時內進行調整
提取機制
此拉取服務提供詳細的行程資料,以支援:
- 資料分析
- 將預訂記錄與 Expedia Group 資料進行對帳
- 針對推送傳送失敗的時間區間進行資料擷取
- 服務台調查
與推送式傳輸相同,拉取式傳輸的行程資料亦分為兩個層級:核心欄位 (itinerary_ID、status、gross_booking_value、checkin_date 及checkout_date) 可在預訂或更新後數分鐘內取得;而輔助欄位與增強欄位則會在 2 至 4 小時內跟進提供。
此服務包含兩個HTTP GET 端點,可讓您:
- 使用變數
creation_date_start、creation_date_end、update_date_time_start及 ``update_date_time_end,建立一份在指定時間範圍內建立或更新的行程清單 - 根據其...檢索特定的行程
itinerary_id
依時間區間擷取行程資料
若要擷取特定時間區間的行程資料,請透過GET /itineraries 並將update_date_time_start 設為查詢區間,來輪詢update_date_time_end 端點。
建議的做法:
- 請在查詢視窗中使用 update_date_time 欄位: 請將
update_date_time_start及update_date_time_end作為查詢視窗,以擷取在指定期間內建立或更新的行程。若僅使用creation_date,將無法收到行程更新。 - 將上次成功擷取的擷取時間戳記儲存起來: 將此時 間戳記用作下一次的
update_date_time_start,並逐步推進時間窗。 - 去重: 請在查詢中使用
itinerary_id及update_date_time。隨著輔助欄位的資料日益豐富,同一行程可能會出現在多個投票視窗中。請始終以最新版《update_date_time》中的紀錄為準。
若您的使用情境需要最完整且即時的行程資料,建議採用推送傳送方式。
可用欄位
下表列出我們推播和提取交付方法所提供的欄位,包括所有嵌入物件。「可用性」欄位顯示各欄位在預訂事件或更新後,通常何時可被存取:
- 即時:預訂或更新後數分鐘內即可取得
- Near-real-time:預訂或更新後 2 至 4 小時內即可取得
以名稱開頭並緊接英文句號的欄位名稱 (例如,<variable>.<nested variable>) 可指出嵌入關係。
白牌旅遊平台
| 欄位名稱 | 定義 | 範例 | 供應情況 |
|---|---|---|---|
itinerary_id | 行程編號或銷售點訂單參考編號。 | 72622069245694 | 即時 |
status | 行 程和當中個別項目的狀態。 | 可能的值: 已確認 已取消 | 即時 |
creation_date* | 預訂的初始日期,以 ISO 8601 日期格式表示(YYYY-MM-DD). | 2023-02-05 | 即時 |
update_date_time* | 行程的最後更新日期與時間,以 ISO 8601 日期格式表示 (YYYY-MM-dd'T"HH:mm:ss.SSSZ)。 | 2023-10-21T00:00:00.000Z | 即時 |
online | 表示該行程是透過線上預訂 (true) 還是透過旅行社預訂 (false)。以布林值表示。 | true | Near-real-time |
package | 用以標示該行程是套裝行程的一部分,還是獨立預訂。以布林值表示。 | false | Near-real-time |
payment_type | 付款時使用的付款方式。 | 可能的值: 信用卡 點數 分期付款 | 即時 |
point_of_sale_country_code | 旅客預訂所用銷售點的國家/地區代碼。以雙字母 ISO 3166-1 alpha-2 格式表示。 | GB | Near-real-time |
purchaser | 預訂者的身分識別。請參閱 purchaser 表格以取得嵌入項目清單。 | ||
property_booking_items | 做為行程一部分而預訂的住宿項目。請參閱 property_booking_items 表格以取得嵌入項目清單。 | ||
flight_booking_items | 做為行程一部分而預訂的機票項目。請參閱 flight_booking_items 表格以取得嵌入項目清單。 | ||
car_booking_items | 做為行程一部分而預訂的租車項目。請參閱 car_booking_items 表格以取得嵌入項目清單。 | ||
activity_booking_items | 做為行程一部分而預訂的活動項目。請參閱 activity_booking_items 表格以取得嵌入項目清單。 | ||
insurance_booking_items | 做為行程一部分而預訂的保險項目。請參閱 insurance_booking_items 表格以取得嵌入項目清單。 | ||
rate | 預訂項目或整體行程的房價和價格詳情。請參閱 rate 表格以取得嵌入項目清單。 | ||
coupon | 套用至行程的優惠券 (如果適用)。請參閱 coupon 表格以取得嵌入項目清單。 |
所有「白標旅遊平台」欄位的說明
- 日期欄位採用協調世界時 (UTC)。
** 此為個人可識別資訊 (PII) 資料。請務必依照貴公司的指引正確處理此事。僅在絕對必要時才包含。
旅行社聯盟計畫 (TAAP)
| 欄位名稱 | 定義 | 範例 | 供應情況 |
|---|---|---|---|
itinerary_id | 行程編號或銷售點訂單參考編號。 | 72622069245694 | 即時 |
agency_reference_code | 由旅行社於結帳時提供的客製化行程參考資料。 | 86549B_GB | 即時 |
status | 行程和當中個別項目的狀態。 | 可能的值: 已確認 已取消 | Near-real-time |
creation_date* | 預訂的初始日期,以 ISO 8601 日期格式表示(YYYY-MM-DD). | 2023-02-05 | 即時 |
update_date_time* | 行程的最後更新日期與時間,以 ISO 8601 日期格式表示(YYYY-MM-dd'T"HH:mm:ss.SSSZ). | 2023-10-21T00:00:00.000Z | 即時 |
online | 表示該行程是透過線上預訂 (true) 還是透過旅行社預訂 (false)。以布林值表示。 | true | Near-real-time |
point_of_sale_country_code | 客戶進行預訂時所屬國家的代碼。以雙字母 ISO 3166-1 alpha-2 格式表示。 | GB | Near-real-time |
purchaser | 預訂者的身分識別。請參閱 purchaser 表格以取得嵌入項目清單。 | ||
agency | 請提供 TAAP 網站上負責進行預訂的機構及人員的身份資料。請參閱 agency 表格以取得嵌入項目清單。 | ||
payment | 該行程的付款資訊。請參閱 payment 表格以取得嵌入項目清單。 | ||
property_booking_items | 做 為行程一部分而預訂的住宿項目。請參閱 property_booking_items 表格以取得嵌入項目清單。 | ||
flight_booking_items | 做為行程一部分而預訂的機票項目。請參閱 flight_booking_items 表格以取得嵌入項目清單。 | ||
car_booking_items | 做為行程一部分而預訂的租車項目。請參閱 car_booking_items 表格以取得嵌入項目清單。 | ||
activity_booking_items | 做為行程一部分而預訂的活動項目。請參閱 activity_booking_items 表格以取得嵌入項目清單。 | ||
rate | 預訂項目或整體行程的房價和價格詳情。請參閱 rate 表格以取得嵌入項目清單。 | ||
earnings | 某筆預訂項目或整個行程的佣金明細。請參閱 earnings 表格以取得嵌入項目清單。 |
關於所有 TAAP 欄位的說明
- 日期欄位採用協調世界時 (UTC)。
** 此為「個人可識別資訊」(PII)資料。請務必依照貴公司的指引正確處理此事。僅在絕對必要時才包含。
API 詳細資料
我們已根據貴公司使用「 行程 API」資料的方式,提供了 API 架構與設定的概覽。您可以下載 OpenAPI 規格文件,並使用 API 測試工具來比較範例與架構定義與實際輸出的差異。
白牌旅遊平台
我們的「白標旅遊平台」合作夥伴可透過「推送」與「拉取」兩種傳輸方式存取的欄位 (包括任何嵌套物件) 如下:
TAAP
我們的 TAAP 合 作夥伴可透過我們的推送傳遞方式存取的欄位 (包括任何嵌套物件) 如下: