リファレンス
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 | 1リクエストあたりの受信者が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 | 過去24時間以内に同じIdempotency-Keyで異なるリクエストボディが使用されました。 | 新しいリクエストには新しいキーを使用してください。 |
| not_cancelable | 409 | キャンセルできるのは予約済みのバッチのみです。このバッチは既に開始または終了しています。 | 変更はありません。 |
| rate_limited | 429 | このキーで過去60秒間に600回以上のリクエストが行われました。 | Retry-After秒待機してください。課金は発生していません。 |
| server_error | 500 | サーバー側で問題が発生しました。 | 同じIdempotency-Keyで再試行してください。 |
再試行
- 429以外の4xxエラーはリクエストの変更が必要です。同じリクエストを再度送信しても同じエラーが返ります。
- 429エラー時は、Retry-Afterヘッダーで指定された秒数待機してください。
- 5xxエラーまたはネットワークタイムアウト時は、同じIdempotency-Keyで再試行してください。最初のリクエストが受理されていれば、二重送信されずに最初のレスポンスが返ります。