Developer Hub
This is an auto-generated translation

建立請求 URL

請求 URL (即從附加模組返回結果的 URL) 由網域、端點、請求參數以及簽名參數組成。此範例顯示一筆已確認的飛往洛杉磯國際機場 (LAX) 的航班,包含 2 名成人,出發日期為 2023 年 1 月 2 日,返程日期為 2023 年 1 月 12 日,該航班已於 2022 年 11 月 12 日預訂。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

建立請求參數

一般來說,請求參數包含有關預訂的詳細資訊,例如目的地以及行程的起訖日期。此資訊用於為附加模組產生建議。某些參數在請求中是可選的,但有些參數是返回結果的必要條件。

Information

重要事項

為確保安全性,請確認所有參數值均為 percent-encoded UTF-8

可用的請求參數

參數說明範例值必填
partnerIdExpedia 提供的字串值,用於在請求參數中識別您的組織partnername_hotel_conf_overlay
bookingStatus指定預訂狀態的字串值,此狀態決定是否可套用附加費率;若預訂狀態為「待處理」或「失敗」,則不會套用任何附加費率已確認
bookingDateTime指定預訂日期的字串值;其中包含日期、時間及時區 ISO 8601 格式2024-08-29T05:54:02

編碼值: 2024-08-29T05%3A54%3A02
outboundEndDateTime指定抵達目的地的字串值;包含以 ISO 8601 格式表示的日期、時間和時區2024-08-29T05:54:02

編碼值: 2024-08-29T05%3A54%3A02
returnStartDateTime指定從目的地出發的字串值;包含以 ISO 8601 格式表示的日期、時間和時區 注意:若未指定,行程的預設天數為 7 天2024-08-29T05:54:02

編碼值:
2024-08-29T05%3A54%3A02
localeExpedia 提供的 5 個字元字串,用以標示預訂時所使用的語言。請在此處查看完整的地區設定詳細資訊:en_US
currencyCode由 Expedia 提供的字串,用以標示預訂時使用的貨幣USD
destinationTLA由 3 個字元組成的字串,表示目的地國際航空運輸協會 (IATA) 機場代碼

注意:請求 URL 必須包含此參數 (適用於包含航班的預訂),或者latitudelongitude(若未包含航班)
LAX有條件地必須
latitude 以及 longitude最多 12 位小數的浮點數,用於指定行程目的地的座標注意:請求 URL 必須包含此參數 (若未包含航班),或destinationTLA(針對包含航班的預訂)緯度=40.7141667
&longitude=-74.0063889
有條件地必須
signature您將根據我們提供的密鑰生成一個 27 個字元的英數字串值 詳情請參閱以及(關於建立請求 URL)BcND1F7KElTyGtyUHeXHd2JJLFs
numOfAdults指定預訂中成人人數的整數;最低 1 人2
numOfChildren指定預訂中子項目數量的整數3
childAgesComma-delimited 一個整數陣列,用以指定保留區內所有兒童的年齡;僅在傳入 ``numOfChildren 時才為必填5,4,2是的,如果傳入了numOfChildren

我們列舉了幾個情境,以協助您了解簡單行程與較複雜行程的相關數值。

|

One-way 行程範例

對於 one-way 操作,請勿將 ``returnStartDateTime 包含在結果參數中。將適用預設的 7 天期限。若要查詢 2024 年 9 月 10 日下午 1:00 從芝加哥出發、同日下午 4:00 抵達拉斯維加斯的直飛航班 (one-way),相關參數如下:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTime: 2024-09-10T16:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-10T12%3A55%3A00%2B08%3A00&destinationTLA=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Round-trip 範例

若要預訂同一出發地與目的地之間的直飛航班 (round-trip),並於 2024 年 9 月 14 日返程,相關參數如下:

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTim電子郵件:2024-09-10T16:00:00
  • returnStartDateTime: 2024-09-14T18:00:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2024-09-102T12%3A55%3A00%2B08%3A00&returnStartDateTime=2024-09-14T22%3A30%3A00%2B08%3A00&destinationTLA=LAS&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-09-01T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

Multi-destination 行程範例

若行程包含多個目的地,我們建議您僅提交第一段航程的行程資料。

第一段航程:芝加哥至拉斯維加斯

  • bookingDateTime: 2024-09-01T05:54:02
  • origin: ORD
  • destinationTLA: LAS
  • outboundEndDateTime: 2024-09-10T16:17:00
  • returnStartDateTime: 2024-09-12T13:27:00 (第二賽段起跑日期與時間)

第二段:拉斯維加斯至舊金山 (非必選)

  • origin: LAS
  • destinationTLA: 舊金山國際機場
  • StartDateTime: 2024-09-12T13:27:00
  • outboundEndDateTime: 2024-09-15T16:10:00

第三段:舊金山至芝加哥 (非必選)
  • origin: 舊金山國際機場
  • destinationTLA: ORD
  • StartDateTime: 2024-09-15T16:15:00
  • outboundEndDateTime: 2024-09-19T20:22:00

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-09-10T11%3A05%3A00&outboundEndDateTime=2024-09-10T16%3A17%3A00&origin=ORD&destinationTLA=LAS&outboundStartDateTime=2024-09-12T13%3A27%3A00&outboundEndDateTime=2024-09-12T16%3A10%3A00&origin=LAS&destinationTLA=SFO&outboundStartDateTime=2024-09-14T16%3A15%3A00&outboundEndDateTime=2024-09-14T20%3A22%3A00&origin=SFO&destinationTLA=ORD&bookingDateTime=2024-09-01T05:54:02

建立請求 URL

所有請求 URL 將包含網域和端點,後接請求參數,並以使用秘密金鑰生成的簽名結尾。

私密金鑰

秘密金鑰是一串由 Expedia 安全共享的字母數字字串,用於產生用於驗證交易的數位簽章。它將有 36 個字元長,且與 # 標籤相關聯 partnerId.

Warning

注意

請將您的私密金鑰存放在安全的地方,並僅用於產生簽名。在建立 URL 時,請勿將密鑰作為參數傳遞。

網域、終端點與請求參數

您的請求 URL 以該網域開頭。我們建議您保留 Expedia 的網域,用於請求 URLprotocol-agnostic: //xsell.expedia.com/。URL 的下一部分是請求字串,它由 case-sensitive 端點/xsell-pwa.js? 以及請求參數組成。請記住,請求參數應為 UTF-8 percent-encoded.

步驟 1:建立請求字串

請求字串包含端點和請求參數 (但不包含網域)。它應該看起來像這樣。

/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed

步驟 2:簽署申請書

從步驟 1 獲得的字串 (包含開頭的/) 應使用一個 hash-based 訊息驗證演算法 (HMAC-SHA1),並使用 Expedia 共享的密鑰。在大多數加密函式庫中,生成的簽名將以二進位格式呈現。

RFC 2104 適用於電腦程式語言與框架。可用的實作包括:

步驟 3:對生成的簽名進行編碼

使用修改後的 Base64 針對 URL,此功能會將 Base64 輸出中的+/ 字元,分別替換為-(連字號)和_(底線),使其成為 URL 保險箱(參見 RFC 4648 (如需更多資訊) 。它應該看起來像這樣:

bj01fgT85mUiRmzxxSufSmlGpiI

此外,還需注意應從 Base64 編碼字串中移除填充字元=(如有)。

步驟 4:建立最終的請求 URL

將步驟 3 中的簽名作為signature 參數附加至步驟 1 中的字串。簽名應始終作為最終請求 URL 的最後一個參數。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

請在生成的字串前加上通訊協定 (//http://https://) 及網域 (針對 protocol-agnostic 格式的網址,我們建議使用//xsell.expedia.com)。

//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundStartDateTime=2024-10-22T11%3A55%3A00%2B08%3A00&outboundEndDateTime=2024-10-22T13%3A55%3A00%2B08%3A00&returnStartDateTime=2024-10-30T20%3A30%3A00%2B08%3A00&returnEndDateTime=2024-10-30T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

步驟 5:加入 JavaScript 程式碼

請將最終的請求網址用作 JavaScript src 屬性,並將其套用至該模組應顯示的頁面中。例如:

<<script src="//xsell.expedia.com/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2023-01-02T12%3A55%3A00%2B08%3A00&returnStartDateTime=2023-01-12T22%3A30%3A00%2B08%3A00&destinationTLA=LAX&numOfAdults=2&locale=en_US&currencyCode=USD&bookingDateTime=2022-11-12T12%3A32%3A15%2B08%3A00&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI"></script>>

建立請求 URL 後,您就可以將其整合到頁面程式碼中了。

這個頁面有幫助嗎?
我們能如何改善內容?
感謝您協助我們進行改善!