Developer Hub
此為系統自動產生的翻譯

建構請求 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中搜尋。

可用的請求參數

參數說明範例值必填
partnerId由 Expedia 提供的字串值,用於在請求參數中識別您的組織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
locale由 Expedia 提供的 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指定預訂中成人人數的整數;最低為 12
numOfChildren指定預訂中子項目數量的整數3
childAgesComma-delimited 一個整數陣列,用以指定保留地內所有兒童的年齡;僅在傳入 ``numOfChildren 時才為必填5,4,2是的,如果傳入了numOfChildren

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

|

One-way 行程範例

對於 one-way 請求,請勿將returnStartDateTime 包含在 result 參數中。將適用預設的 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
  • 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 行程範例

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

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

  • 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: 舊金山國際機場 (SFO)
  • StartDateTime: 2024-09-12T13:27:00
  • outboundEndDateTime: 2024-09-15T16:10:00

第三段航程:舊金山至芝加哥 (非必選)
  • origin: 舊金山國際機場 (SFO)
  • 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 中保留 Expedia 的網域,例如 protocol-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 程式碼

請將最終的請求 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 後,您就可以將其整合到頁面程式碼中了。

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