處理預訂申請
妥善處理預訂請求,以避免錯誤與損失
此資訊適用於:
- Rapid Lodging API
- Rapid Car API
- Rapid Flight API
註: 根據您所實作的 API 不同,部分細節可能會有所差異。
網路設定
設計預訂請求工作流程時,務必確保其能容忍網路問題,這點非常重要。請不要將未收到回覆視為預訂失敗的跡象。若在提交預訂請求後、但尚未收到回覆之前發生基礎設施問題,旅客的預訂可能仍已在我們的系統中完成扣款並確認。基礎設施問題可能是:
- 網路連線中斷 (未收到回應)。
- Server-side 回傳錯誤 (HTTP 狀態碼 500 或 503)。
- 偵測到網路閘道異常 (回傳 HTTP 狀態碼 502)。
- 偵測到網路閘道超時 (回傳 HTTP 狀態碼 504)。
- 此回應未遵循 Rapid API 文件中的說明 (訊息中缺少一項關鍵元素)。
- 回應並非以 JSON 格式呈現 (例如,回應訊息為 HTML 格式)。
- 其他異常、錯誤、未知行為或中斷。
發出「建立預訂」請求後,應隨之發出「擷取」請求,該請求應包含:
- 建立預訂申請中使用的
affiliate_reference_id的原始值和電子郵件。 OR - 「Create Booking」回應中回傳的
itinerary_id及links.retrieve.href的值。
注意: 新建立的行程,有時在建立完成與可檢索該行程之間可能會有一段短暫的延遲。若您在嘗試擷取已成功建立的行程時遇到錯誤,或收到同時包含「itinerary_id」與「creation_date_time」的回應,請在 following-up 聯絡我們的客服專員以獲取進一步支援之前,先嘗試重新擷取該行程 30 分鐘。
推薦流程
一律發送 affiliate_reference_id
為每筆預訂產生一個唯一的affiliate_reference_id。若需重新傳送相同的請求詳細資訊 (例如因嘗試失敗而重新傳送),應使用相同的affiliate_reference_id。這可以防止重複預訂的意外發生。傳送 新的建立預訂申請時,在預訂被確認或拒絕前,API 都不會回應。大多數的回應會在幾秒鐘內回傳。但是,少部分的預訂最多可能需要幾分鐘來處理和產生回應。
監控無法快速解決的預訂
Rapid API 會連線至外部系統,以便在 real-time. 相關系統包括飯店預訂系統或接待櫃台系統、信用卡處理系統,以及詐騙偵測系統。98% 的預訂能在 30 秒內完成流程。但是,如果您在 90 秒後未收到預訂回應,請使用與預訂一起發送的相同 affiliate_reference_id,透過擷取請求檢查預訂進度。如果預訂仍在進行中或預訂失敗,您將收到 404 錯誤「根據提供的申請並未找到相關行程」。收到此訊息後,您應該使用相同的 affiliate_reference_id 再次嘗試預訂申請。如果預訂仍在完成中,您將看到一個 400 錯誤,其中會包含「具有此合作夥伴參考 ID 的行程已存在」的訊息。如果回傳此錯誤,您可以再次擷取預訂,以查看預訂詳情是否可供查看。
處理預訂時,擷取 API 可能會回傳錯誤或不完整的回應。稍後重試擷取預訂呼叫可恢復 99.99% 的錯誤。若遇到系統異常情況,請先嘗試重新執行檢索操作 30 分鐘,之後再與我們聯繫以獲取進一步支援。
預訂糾紛
若您在預訂過程中因超時、50x HTTP 狀態碼錯誤或其他基礎架構問題而遇到任何問題,請提供以下交易日誌以供疑難排解:
- 預訂申請和回應 (如有)。
- 在最後一次預訂嘗試後 30 分鐘所發送的「檢索預訂」請求與回應。
該記錄應包含請求和回應的 HTTP 標題。回應訊息有一個 transaction-id 標題,可以協助我們識別 Rapid API 交易。
我們提供了有關 Rapid API 常見錯誤的更多詳細資訊,包括 HTTP 錯誤回應的範例、用於處理預訂的偽代碼,以及一個使用者介面範例: