跳转到内容

认证

应用程序会为您提供一个 Client IDSecret Key,您需要使用它们来创建一个经过认证的 OAuth2 会话,以便与 Wink 和 TripPay API 通信。

以下是创建认证会话的步骤。

步骤 1. 在测试环境或生产环境中获取访问令牌:

您很可能会使用适合您语言的强大 OAuth2 库,它会为您处理所有繁重的工作。 我们的示例将展示使用命令行 curl 的最基本用法。

Terminal window
curl -X POST https://staging-iam.wink.travel/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<YOUR_CLIENT_ID>" \
-d "client_secret=<YOUR_SECRET_KEY>"
Terminal window
curl -X POST https://iam.wink.travel/oauth2/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-d "client_id=<YOUR_CLIENT_ID>" \
-d "client_secret=<YOUR_SECRET_KEY>"

这将返回一个访问令牌,以及其他 OAuth2 响应数据:

{
"access_token": "abc123"
}

当您调用我们的任何端点时,请在请求头中包含以下内容:

  • Wink-Version = 2.0 最新版本 - 请参阅我们的 API 文档了解其他可用版本。
  • Authorization = Bearer ${access_token} 插入您的访问令牌。

权限范围(scope) 是您的访问令牌所携带的权限。当您请求令牌时,需要在 scope 参数中传递以空格分隔的权限列表,令牌只能访问这些权限所覆盖的区域。使用 client_credentials 授权时,您在令牌请求中设置权限范围 — 参见上面的 curl 示例和 Postman 演练

权限范围命名格式为 section.action,其中 action 是以下之一:

  • read — 查看资源(安全的 GET 请求)
  • write — 创建和更新资源(POST / PUT / PATCH
  • remove — 删除资源(DELETE

Wink 按功能区域分组权限。请仅请求您的集成所需的权限范围:

权限组权限范围解锁内容风险等级
账户account.read account.write account.remove管理实体、团队成员、设置、应用程序低–中
库存inventory.read inventory.write inventory.remove物业、房型、价格计划、价格、附加服务、可用性、活动、景点低–中
预订booking.read booking.write booking.remove搜索、查看、创建、取消和退款预订;结账;取消政策低–中
营销marketing.read marketing.write marketing.remove活动、优惠、销售渠道、WinkLinks、托管社交、忠诚度低–中
内容content.read content.write content.remove物业描述、评论、媒体、地图、绿色指数低–中
分析analytics.read analytics.write analytics.remove报告和分析 — 收入、排行榜低–中
集成integrations.read integrations.write integrations.remove渠道管理、外部预订系统、Google 酒店、通知端点、预订同步低–中
支付payment.read payment.write payment.remove支付处理、Stripe、Revolut、付款、订阅中–高
会计accounting.read accounting.write accounting.remove会计、提款账本、对账中–高
MCPmcp.read mcp.write mcp.remove打开 AI 代理的 MCP 传输 (/mcp)低–中

请注意以下几点:

  • 请求最小权限。 仅请求您的集成实际使用的权限范围 — 如果令牌权限过宽,泄露时影响范围更大。
  • 未知权限范围会被拒绝。 请求未注册的权限范围或不存在的权限范围,令牌颁发时会失败。
  • mcp.* 仅适用于 AI 代理客户端。 您需要它来打开 MCP 传输;常规 REST API 调用不需要。详见 模型上下文协议