由于供应商错误消息更改不会发出通知,也不是由这些系统发布,因此,完整的消息列表尚未可知。

  • 请在错误发生时记录并收集错误消息,以便创建自己的错误数据库。
  • 通过在自己的系统中收集处理、类别以及消息元素,您可以最终解决所有发生的错误,其中包括供应商资源返回的所有新消息。

常见错误类型

搜索错误 已知的搜索、位置异常以及其他常见错误
信用卡错误 已知的信用卡错误
预订错误 常见的预订错误
取消错误 常见的取消错误

特殊情形及规定处理

避免重复预订 阻止重复预订的特殊逻辑
待定堆栈跟踪 表示待定预订状态的供应商消息
待定流程 表示待定预订状态的供应商消息
价格更改错误 如何处理价格不匹配或价格更改错误
PHP、Axis、.NET、JSON 问题 PHP、Axis、.NET 或 JSON 进程的已知问题

错误将指明以下情形:

  • 请求结构问题。通过检查字符串的结构、拼写、关闭标签等内容来更正请求字符串。
  • 数据发送问题。检查选择的酒店数据解析是否正确。
  • 用户输入问题。提醒用户更正输入。
  • 与供应商和第三方系统的连接或交互出现问题。供应商问题可能是间歇性问题,也可能是持久性问题。

逻辑示例

通过检查处理、类别以及消息详细信息,大部分错误都可以轻松修正。

阅读返回的消息,了解错误的本质,但请勿依赖消息本身来确定应如何处理您的代码。在大多数情况下,此类文本都会针对错误的处理代码和类别方面的详细信息为您提供清晰的解释。

消息示例:“您选择的房价不适用。检查适用价格失败。”

<handling>RECOVERABLE</handling> 
<category>PRICE_MISMATCH</category>

错误处理示例:

  • handling=RECOVERABLE 表示如果能够更正错误并重新提交预订,则预订可成功。
  • category=PRICE_MISMATCH 表示房价更改以及验证为什么信息提示返回了特定文本
  • 由于已提交价格“失败”(更改),因此用户必须选择其他客房
  • 必须刷新客房结果以获取新房价并重新提交更新后的预订查询。
  • 在未首先取得用户对于任何新价格的认同之前,请勿使用新的或更改后的房价提交预订,尤其是房价提高的情况。
  • 在允许用户认同新价格的同时,让用户选择认同感更高的酒店的其他客房,和/或允许用户选择搜索或选择预订新酒店。

连接和通信问题

  • “供应商通信问题”
  • “通信失败”
  • “供应商回复为空”
  • “预订未处理。未返回任何回复”

所有这些消息(不管供应商为何)都表明我们:

  1. 收到了预订请求
  2. 已尝试传达给供应源
  3. 未收到来自供应商的任何回复或收到错误回复

在这些情况下,供应商应遇到了连接问题,在恢复完全连接之前无法进行通信,或者由于供应商自身网络的其他问题无法完成预订。在某些情况下,如果连接问题只是间歇性的,重新提交请求即可修复此错误。如果连接错误是持续性的,您就必须做出其他供应商选择。

最佳做法

请勿依赖文字匹配异常消息来判断行动方案。

  1. 确定特定的错误处理代码、类别和消息
  2. 审核您的请求结构
    • 审核格式正确的示例请求以确保您正确提交了全部参数和值
    • 使用我们的 API 沙盒生成有效请求,然后与您自己的请求作对比。调试工作表能帮助您对比您的请求和正确格式的请求。
  3. 确定用户执行更改后能否解决错误
    • 用户需要选择其他酒店吗?
    • 用户需要修正他们的输入数据吗?
    • 告知用户在返回 handling=AGENT_ATTENTION 时,代理将与他们联系以便跟进预订请求的处理。

由于供应商错误消息更改不会发出通知,也不是由这些系统发布,因此,完整的消息列表尚未可知。

  • 请在错误发生时记录并收集错误消息,以便创建自己的错误数据库。
  • 通过在自己的系统中收集处理、类别以及消息元素,您可以最终解决所有发生的错误,其中包括供应商资源返回的所有新消息。

内容类型和特殊字符编码

阅读有关内容类型、编码和正确处理信息传输的信息