> For the complete documentation index, see [llms.txt](https://resources.atriptech.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://resources.atriptech.com/api-wen-dang/support-and-reference/troubleshooting-and-support/errors-handing/search-errors.md).

# 搜索错误

{% hint style="info" %}
💬 **需要帮助？** 如果遇到问题，请在帮助中心咨询 Eva，快速获取诊断建议。

<a href="https://www.atriptech.com/" class="button primary" data-icon="comments">咨询 Eva</a>
{% endhint %}

当 `search.do`、`smartSearch.do` 或 `getOffers.do` 失败时，使用本页面。

当你需要以下内容时，从这里开始：

* 了解搜索请求失败的原因
* 判断问题是与输入、余额、航线、超时还是并发有关
* 知道是重试、修复还是重新开始搜索

### 常见问题

#### 哪些搜索错误通常是安全可重试的？

超时和临时负载情况，如 `112` 或 `127`，通常在短暂等待后是可重试的。

QPS 和航线控制情况，如 `110` 或 `108`，通常需要先退避或更改条件。

#### 哪些搜索错误通常需要先修复输入？

诸如 `102`、`124` 和 `126` 等代码通常意味着请求字段、结算货币或智能搜索上下文对于重用无效。

在重试前修复输入或重新开始流程。

### 最高频率的代码

#### `102` 非法请求参数

一个或多个搜索字段无效。

**典型原因**

* 没有成人乘客
* 乘客过多
* 无效的城市代码
* 缺少 `fromDate` 或 `retDate`
* 错误的日期格式

**操作**

* 验证行程类型
* 验证乘客数量
* 验证城市和机场代码
* 日期使用 `YYYYMMDD` 格式

#### `107` 余额不足

账户余额低于所需阈值。

**操作**

* 充值账户
* 余额更新后重新运行搜索

#### `108` 航线限制 / 系统限制

Atlas 已关闭此航线或流程的销售。

**操作**

* 稍后重试
* 与 Atlas 确认此航线是否应可用

#### `110` 并发请求过多

搜索 QPS 高于允许的限制。

**操作**

* 限制请求突发
* 添加重试和队列控制
* 如果需要更高吞吐量，请联系 Atlas

#### `429`

Atlas 拒绝了请求，因为活跃的请求限制已超出。

这是 Atlas 请求限制错误代码。

**操作**

* 读取 `retryAfter`
* 等待该延迟后重试
* 减少重复搜索突发并改进缓存重用

#### `112` 或 `127` 搜索超时

搜索未能及时完成。

**操作**

* 重试搜索
* 减少突发负载
* 在适用时使用智能搜索或轮询

#### `123` 请求过多但付费订单过少

与付费订单相比，搜索量过高。

**操作**

* 减少不必要的搜索流量
* 避免合成或重复搜索突发

#### `124` 不支持的结算货币

该货币不允许用于结算。

**操作**

* 切换到账户结算货币

#### `126` `requestId` 不存在或已结束

智能搜索 `requestId` 无效或过期。

**操作**

* 开始新的智能搜索
* 使用新的 `requestId`

### 快速重试指南

#### 短暂等待后重试

示例：

* `112`
* `127`

#### 仅在更改条件后重试

示例：

* `429`
* `108`
* `110`

#### 重试前修复请求

示例：

* `102`
* `124`
* `126`

### 快速故障排除检查清单

1. 验证必填字段和日期格式
2. 检查余额和结算货币
3. 确认航线受支持
4. 检查并发和重试行为
5. 如果 `requestId` 过期，重新运行智能搜索

### `110` 与 `429` 的区别

故障排除时使用此区分：

* `110` 是 Atlas 业务代码，表示搜索并发压力
* `429` 是 Atlas 请求限制错误代码

两者都需要较低的请求频率。

对于 `429`，在重试前始终遵守 `retryAfter`。

### 后续步骤

修复搜索问题后，返回[搜索](/api-wen-dang/product-guides/booking/booking-step-guides/search.md)并使用正确的标识符继续预订流程。

### 相关页面

* [搜索](/api-wen-dang/product-guides/booking/booking-step-guides/search.md)
* [预订 API](/api-wen-dang/api-reference/booking-apis.md)
* [财务](/api-wen-dang/support-and-reference/troubleshooting-and-support/faqs/atlas-api-finance.md)
