參考
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 | 缺少某個欄位或欄位類型錯誤;param 會指出該欄位。 | 修正該欄位。沒有收取任何費用。 |
| 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 不存在於此帳戶中,或該 endpoint 不存在。 | 請檢查 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 重試:若首次請求已被接受,將返回原回應而非再次發送。