實施清單
設定附加模組時,請驗證最終請求 URL 是否正確。
字串值
排除域
請求字串應該只包含端點和請求參數。
程式碼範例
`/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2014-01-02T12%3A55%3A00%2B08%3A00&...param=xyz`
檢查編碼
請記住,所有參數值都應為 percent-encoded UTF-8。
檢查所需參數
必須傳遞所有必需的參數。此外,請確保:
- 您發送的是
destinationTla
或latitude
並且longitude
bookingDateTime
值為過去時間outboundEndDateTime
是將來式- 請參閱one-way、往返和 multi-destination 航班指南
檢查簽名位置
簽名應該始終是最終請求 URL 的最後一個參數。
簽名
使用正確的格式
簽章應該是 Base64 格式,而不是十六進位。
使用正確的資料類型
轉換為 Base64 編碼時,將簽章視為整數,而不是字串。
檢查特殊字符
儘管 Base64 應該會自動執行此操作,但請檢查您是否使用了正確的特殊字元:
- 將
+
替換為-
:m6y13j0747-x/h81wEzR9jE1fco=
- 將
/
替換為_
:m6y13j0747-x_h81wEzR9jE1fco=
- 從字串中刪除所有
=
填充:m6y13j0747-x_h81wEzR9jE1fco
檢查長度
簽名的長度應剛好為 27 個字元。
檢查密鑰可見性
金鑰不應該在請求 URL 中公開可見。它應該只在伺服器端用於生成簽名。
域和端點
確保腳本是 protocol-agnostic
包含不含 HTTP 協定的腳本 (//xsell.expedia.com
而不是 http://xsell.expedia.com
),以便它自動選擇必要的協定。
檢查請求 URL 結構是否正確
最終的請求 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¤cyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed
- 簽名參數 (必須是最後一個元素):
&signature=bj01fgT85mUiRmzxxSufSmlGpiI
程式碼範例 //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¤cyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI
腳本集成
檢查腳本
腳本應包含在<body>
內。如果您使用嵌入式模組,請檢查是否存在所需的 <div>
元素。
驗證推薦人政策
對於嵌入式附加模組,父頁引薦來源策略應設定為origin-when-cross-origin
。