与许可、处理能力或验证有关的 403 代码通信问题:

代码 消息 说明
403 禁用 您未获准访问所请求的方法或目标。
403 未经授权 与您的请求相关的 API 密钥未得到认可,或数字签名错误。
403 开发人员无效 您用来访问 API 的 API 密钥未获得批准、不正确或已被禁用。如果使用的是 SIG 验证,则您的数字签名不正确且与收到您的请求时生成的签名不匹配。
403 帐户超出每秒查询次数限制 您正在使用的 API 密钥在一秒钟内尝试访问 API 的次数过多。
403 帐户超出速率限制 您正在使用的 API 密钥在速率限制期间尝试访问 API 的次数过多。
403 超出速率限制 您请求的服务超出了处理能力。
403 验证失败

验证检查组合失败。结合使用第二种验证方法验证 CID/API 密钥值对是否准确:

  • IP:将结果中返回的服务器 IP 地址添加到与密钥相对应的应用程序的 IP 字段中。
  • 数字签名:尝试重新发送请求,方法是通过您的请求中返回的时间戳,重新生成 sig 值。

IP 验证错误

  • 当使用 IP 验证时,EAN 将通过为访问而注册的 CID 和 API 密钥来验证所请求的 IP。
  • 如果未注册服务器 IP,API 将返回验证异常。
  • 要修正该错误,请针对您帐户中正使用的密钥和/或 CID 在应用程序 IP 字段中输入异常中报告的 IP 地址

以下是一个“可恢复”的酒店版本 3 的验证错误示例,因为联盟可以在开发中心帐户中更新 IP 地址。

<ns2:HotelListResponse xmlns:ns2 = "http://v3.hotel.wsapi.ean.com/">
  <EanWsError>
    <itineraryId>-1</itineraryId>
    <handling>RECOVERABLE</handling>
    <category>AUTHENTICATION</category>
    <exceptionConditionId>-1</exceptionConditionId>
    <presentationMessage>TravelNow.com cannot service this request.</presentationMessage>
    <verboseMessage>Authentication failure.  (cid=xxx; ipAddress= 216.251.112.134)</verboseMessage>
    <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />
  </EanWsError>
  <customerSessionId>0ABAA82C-179E-A912-F322-7A2C619058E3</customerSessionId>
</ns2:HotelListResponse>

有时,对于在手动处理预订之前需要其他代理关注以确认交易是否有效的用户交易所对应的某些预订请求,会返回“验证”类别的代码。

发布网站后对验证和开发人员不活动错误进行调试

审核有关 API 访问和验证的信息。

  • 如果使用的是 IP 验证,请核实已在您的开发中心帐户中注册所有 IP。
  • 如果使用的是签名验证,请根据 EAN Sig 生成器进行测试以核实是否准确生成了数字签名。

要使用您自己的 PHP 脚本调试 IP 验证,请参阅代码库中的脚本示例。

或者您可以使用我的 IP 是什么?验证“请求的”IP 地址。

  • 1
    在用于发送请求的计算机上打开浏览器。
  • 2
    访问
    WhatIsMyIP.com
  • 3
    WhatIsMyIP.com 将显示代理服务器或名称服务器的 IP。
  • 4
    将该 IP 地址添加到密钥/CID 对所对应的开发中心应用程序

请注意,使用更新 API 密钥和新条目发送请求后,系统最多需要 20 分钟来同步到联盟记录。