所有 API 错误都会返回包含 error 字段的 JSON 请求体。4xx 通常表示需要修正请求、账户或速率限制;5xx 表示服务器端或临时故障,但是否能安全重试仍取决于具体 action。
| 代码 | 名称 | 含义 |
|---|---|---|
| 400 | Bad Request | 由于必填值缺失、格式错误、不受支持或超出允许范围,验证失败。请先修正请求再重试。 |
| 403 | Forbidden | 该 key 或账户无权执行此操作,例如账户已暂停。原样重试不会解决问题。 |
| 404 | Not Found | 找不到所请求的 API 资源,或当前 key 无权访问。重试前请核对标识符和账户归属。 |
| 409 | Conflict | 请求与现有状态冲突,例如为不同逻辑订单复用 add 的 request_id。请根据情况使用原请求或新的唯一标识符。 |
| 413 | Content Too Large | 请求体过大。请缩小载荷,或将受支持的批量请求拆分后重试。 |
| 429 | Too Many Requests | 请求被速率或 action 限制拒绝。若存在 X-RateLimit-DeniedBy,请检查它,并等待 X-RateLimit-Reset 指定的相对秒数。 |
| 500 | Internal Server Error | 发生意外的服务器端故障。不要假设每个写入操作都能安全重复;请遵循下方针对各 action 的重试和核对说明。 |
| 502 | Bad Gateway | 供应商拒绝了履约请求。重试前请检查服务可用性和请求数据。 |
| 503 | Service Unavailable | API 或所需操作暂时不可用,包括没有可用的合格提供方 (provider_not_found)。请稍后退避重试;若存在 Retry-After,请遵循其值,并在该 action 支持幂等标识符时保留原值。 |
{
"error": "Missing required parameter: service"
}该 action 需要一个未被包含的参数。请将其加入请求体并重试。
{
"error": "Invalid API key"
}key 错误、已吊销或缺失。请检查该值是否与 /dashboard/api 中显示的一致。为防止枚举攻击,缺失和无效两种情况的错误完全相同。
{
"error": "Insufficient balance"
}你的账户余额低于订单的总费用。请通过 /dashboard/wallet 充值,或使用优惠券。
{
"error": "Service not found"
}该服务 ID 不存在。请使用 action=services 重新获取目录并选择当前有效的 ID;已停用服务会返回另一条 400 错误。
{
"error": "Rate limit exceeded"
}请求被速率或 action 限制拒绝。若存在 X-RateLimit-DeniedBy,请检查它,并等待 X-RateLimit-Reset 指定的相对秒数。
{
"error": "language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh",
"error_code": "INVALID_LANGUAGE"
}services 和 catalog 仅接受 en、es、pt、ru、tr、ar、hi、id、fr 或 zh。请修正语言值后再重试。
为避免重复,请使用相同的 request_id 和相同的逻辑请求重试 action=add;其他订单应使用新的唯一值。读取操作可以安全地重复。只要订单仍符合取消条件,重复尝试取消也是安全的。