参考
API错误和错误代码
错误使用HTTP状态码,并始终具有相同的JSON主体。param在某个字段是原因时命名该字段。每个响应都有一个X-Request-Id头:在支持工单中引用它。
{
"error": {
"code": "text_too_long",
"message": "The text is longer than 10 segments (1,530 GSM-7 or 670 UCS-2 characters).",
"param": "text",
"doc_url": "https://bulksmsapi.cc/en/docs/errors#text_too_long"
}
}代码
| code | HTTP | 原因 | 资金 |
|---|---|---|---|
| invalid_json | 400 | 请求体不是JSON对象,或Content-Type不是application/json。 | 修正请求体。未产生费用。 |
| invalid_request | 400 | 缺少字段或字段类型错误;参数名已指明。 | 修正字段。未产生费用。 |
| invalid_number | 400 | 请求中无符合E.164格式(+号后接7-15位数字)的号码。 | 检查号码。未产生费用。 |
| unsupported_country | 400 / 404 | 无匹配号码的计价国家,或GET /v1/pricing/{country}使用了未知国家代码。 | 检查国家列表。未产生费用。 |
| text_too_long | 400 | 文本超过10个分段。 | 缩短文本。未产生费用。 |
| too_many_recipients | 400 | 单次请求超过10,000个收件人。 | 拆分列表。未产生费用。 |
| schedule_out_of_range | 400 | send_at不在当前时间2分钟后至45天内的有效范围内。 | 选择其他时间。未产生费用。 |
| suppressed | 400 | 请求中所有号码均在您的禁止发送列表(控制台设置中配置)。 | 未发送且未计费。 |
| unauthorized | 401 | Authorization请求头缺失、格式错误或密钥已撤销。 | 使用有效密钥。未产生费用。 |
| top_up_required | 402 | 账户余额低于本次请求费用;消息中会显示具体金额。 | 充值后重试。未产生费用。 |
| not_found | 404 | 该id不存在于当前账户,或端点不存在。 | 检查id和路径。 |
| idempotency_conflict | 409 | 该Idempotency-Key在过去24小时内已用于不同请求体。 | 新请求需使用新密钥。 |
| not_cancelable | 409 | 仅可取消处于预约状态的批次;当前批次已开始或完成。 | 无变更。 |
| rate_limited | 429 | 该密钥在过去60秒内请求超过600次。 | 等待Retry-After秒后重试。未产生费用。 |
| server_error | 500 | 服务端出现错误。 | 使用相同的 Idempotency-Key 重试。 |
重试
- 除 429 之外的 4xx 错误需要对请求进行更改;再次发送相同的请求会返回相同的错误。
- 遇到 429 时,等待 Retry-After 中指定的秒数。
- 遇到 5xx 或网络超时,使用相同的 Idempotency-Key 重试:如果第一个请求已被接受,你将收到其响应,而不是第二次发送。