This is an auto-generated translation

实施清单

设置附加模块时,请验证最终请求 URL 是否正确。

字符串值

排除域

请求字符串应该只包含端点和请求参数。

代码示例

`/xsell-pwa.js?partnerId=partner123&outboundEndDateTime=2014-01-02T12%3A55%3A00%2B08%3A00&...param=xyz`

检查编码

请记住,所有参数值都应为 percent-encoded UTF-8。

检查所需参数

必须传递所有必需的参数。此外,请确保:

检查签名位置

签名应该始终是最终请求 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&currencyCode=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&currencyCode=USD&bookingDateTime=2024-04-12T12%3A32%3A15%2B08%3A00&bookingId=123ABC&bookingStatus=confirmed&signature=bj01fgT85mUiRmzxxSufSmlGpiI

脚本集成

检查脚本

脚本应包含在<body>内。如果您使用嵌入式模块,请检查是否存在所需的 <div>元素。

验证推荐人政策

对于嵌入式附加模块,父页面引荐来源策略应设置为origin-when-cross-origin

您觉得这个页面有用吗?
我们该如何改进这些内容?
感谢您帮助我们改进!