This is an auto-generated translation

建置請求 URL

請求 URL (將從附加模組傳回結果的 URL) 由網域、端點、請求參數和簽章參數組成。此範例顯示,已確認 2022 年 11 月 12 日預訂的飛往洛杉磯國際機場的航班,可供 2 名成人乘坐,出發日期為 2023 年 1 月 2 日,返回日期為 2023 年 1 月 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
currencyCodeExpedia 提供的字串,表示預訂時使用的貨幣USD
destinationTla表示目的地的國際航空運輸協會 (IATA) 機場代碼的 3 個字元的字串

注意:請求 URL 必須包含此參數 (對於包含航班的預訂) 或 latitudelongitude(如果不包含航班)
LAX有條件要求
latitudelongitude指定旅行目的地座標的最多 12 位小數的浮點值 注意:請求 URL 必須包含此參數 (如果不包含航班) 或 destinationTla(對於包含航班的預訂)緯度=40.7141667
&經度=-74.0063889
有條件要求
signature您將根據我們提供的密鑰生成由 27 個字元組成的字母數字字串值 請參閱構建請求 URL 以了解更多信息BcND1F7KElTyGtyUHeXHd2JJLFs
numOfAdults整數,指定預訂中的成人人數;最小值為 12
numOfChildren指定預訂兒童人數的整數3
childAgesComma-delimited 整數數組,指定預訂中任何兒童的年齡;僅當傳遞 numOfChildren時才需要5,4,2是的,如果傳遞了numOfChildren

我們提供了一些場景來幫助您了解簡單和更複雜的行程的價值。

|

One-way 行程範例

對於 one-way 行程,您沒有將 returnStartDateTime作為結果參數的一部分。將採用預設的 7 天。對於直達 one-way 的行程,該行程於 2024 年 9 月 10 日下午 1:00 從芝加哥出發,並於當天下午 4:00 抵達拉斯維加斯,參數如下:

  • bookingDateTime:2024-09-01T05:54:02
  • origin:ORD
  • destinationTla: 阿拉伯聯合大公國
  • 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 範例

2024 年 9 月 14 日返回,前往相同目的地之間的直飛 round-trip 預訂請求將包括以下參數:

  • bookingDateTime:2024-09-01T05:54:02
  • origin:ORD
  • destinationTla: 阿拉伯聯合大公國
  • outboundEndDateTime: 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 行程範例

對於有多個目的地的旅程,我們建議僅發送第一段旅程的資料。

第 1 段:芝加哥至拉斯維加斯

  • bookingDateTime:2024-09-01T05:54:02
  • origin:ORD
  • destinationTla: 阿拉伯聯合大公國
  • outboundEndDateTime: 2024-09-10T16:17:00
  • returnStartDateTime:2024-09-12T13:27:00 (第 2 段開始日期和時間)

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

  • origin: 阿拉伯聯合大公國
  • 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 以網域名稱開頭。我們建議您保留請求 URL protocol-agnostic 的 Expedia 網域://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://) 和網域 (我們建議將 //xsell.expedia.com 用於 protocol-agnostic URL) 新增到結果字串的前面。

//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 程式碼

您將使用最終請求 URL 作為模組應出現的頁面上的 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 後,您就可以將其整合到頁面程式碼中。

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