This is an auto-generated translation

实施和设置

为旅客提供积分或里程以外的价值

借助白标旅行平台,您的旅行者可以赚取忠诚度货币(无论您的计划如何定义),然后使用他们的 Rewards 兑换旅行购买。本文档概述了可用的会员计划操作,并介绍了在测试和生产环境中实施服务的流程。您可以使用的 API 将由您的合同决定,因此了解您的需求非常重要。

您的实现需要提供带有 JSON 有效负载的标准 RESTful 服务。我们建议对所有 API 请求使用访问令牌和 JSON web 令牌。调用 API 时还会涉及额外的安全步骤,请求和响应有效负载中的所有敏感数据元素都将被加密。

在设置模板网站时,您可以选择允许客户兑换他们通过所选业务线赚取的会员奖励。

此外,他们还可以联系 Expedia 品牌网站的客服来使用这些积分。我们的内部客服会使用帐户信息 API 来验证旅客信息。通过验证后,他们会利用积分银行 API 获取旅客的帐户余额并协助预订。

您的 Expedia 项目上线经理将与您合作,获取包括 SSO 设置在内的所有必要详细信息,例如:您的品牌或计划名称、计划中的所有会员等级或积分段、会员奖励名称以及兑换比例(例如,消费 $1 = 100 积分)。

我们还需要您提供:

  • 访问令牌 API
  • ClientId 和密钥
  • 会员积分兑换端点
  • 您与客户沟通的服务级别协议 (SLA)

对于在您终端的设置,我们将提供:

  • OpenAPI 规范
  • 如果使用 Authorization2 参数,则提供 JSON web 密钥 (JWK) 端点

调用 API

Expedia 使用访问令牌调用 API。访问令牌将作为 Bearer 令牌在授权 HTTP 标头中提供。系统将生成所需的请求签名令牌,并在 Authorization2 HTTP 标头中提供。

授权端点

要获取用于 API 调用的访问令牌,首先需要用 ClientId 和密钥设置授权服务器。然后使用 POST : https://<your-oauth-endpoint> 调用来提出请求。

请求

字段说明示例值字段类型是否必填?
content-type表示请求格式application/x-www-form-urlencoded字符串
grant_type针对请求的授权方式,如客户端凭据client-credentials&client_id=<client_id>&client_secret=<client_secret>字符串
client_id已注册的应用程序标识符a17c21ed& 
client_secretclient_id 对应的密钥  

响应

字段说明示例值字段类型是否必填?
content-type表示响应正文格式application/json字符串
token_type令牌的受众;表示提供的访问类型Bearer 
access_token引用 client_id 的访问令牌  
expires_in访问令牌的过期时间,以秒为单位86400 

错误

字段说明示例值字段类型是否必填?
error发生错误,如参数无效invalid_request
invalid_client
invalid_grant
字符串
errorMessage用于协助日志记录和问题调查的自定义错误消息 字符串

JWK 端点响应

我们将与您共享一个 URL,您可以从中获取 JWK 用于验证。例如:GET : https:// <WLTP_Domain>/keys/public-keys --header Authorization : Bearer - Partner_client_api_key

字段说明
alg签名算法
kty加密密钥类型
kid密钥标识符
use密钥的用途:用于签名 (sig) 或加密 (enc)
x5tX.509 证书指纹
x5cX.509 证书链
expires_on证书到期日期

请求签名

我们建议使用 JSON web 令牌 (JWT) 为所有 API 请求签名。请求签名的步骤如下:

  1. 我们会设置 2048 位 CA 签名的 RSA 私钥。
  2. 我们会通过 JWK URL 发布公钥证书(如上所述)。
  3. 然后,我们会创建一个包含签发者、主题、受众和过期声明的 JWT 令牌,并使用私钥为令牌签名。
  4. Expedia JWT 令牌将包含密钥标识符 kid 和 x5t,其中包含公钥证书的指纹。
  5. 执行 API 调用时,您将从授权标头中提取 JWT,并使用 Expedia 的公钥验证 JWT 签名。您会使用 kid 标头来识别密钥(如果 Expedia 的 JWK URL 中存在多个密钥)。
  6. 接下来,您会安排一次对 Expedia 的 JWK 端点的 API 调用,以获取公钥证书。
  7. 如果签名验证失败,还可以使用重试逻辑获取新证书。
您觉得这个页面有用吗?
我们该如何改进这些内容?
感谢您帮助我们改进!