開発者ドキュメント

RESTful 形式の API で、アクセストークンによって認証します。リクエストとレスポンスはいずれも UTF-8 の JSON で統一されています。以下の各エンドポイントには、そのまま実行できる curl の例が付いています。


SMS API — SMS の送信

お客様の業務システムから直接送信を実行できます。to には単一の番号を渡すか、半角カンマで区切って一括で渡します(1 回につき最大 1000 件)。受理されると message_id が返り、これを使って到達状況を照会できます。

認証用リクエストヘッダー
パラメータ
必須
説明
Authorization
はい
リクエストに API トークンを添え、認証方式を Bearer に設定します。例:Authorization: Bearer {api_token}
Accept
はい
application/json を指定します

SMS の送信

一つまたは複数の番号へテキスト SMS を送信します。レスポンスの segments はこの送信が占める通数、cost はその合計費用です。

エンドポイント

POST https://redsmsbox.com/api/v1/sms/send

パラメータ

パラメータ
必須
説明
to
はい
string
受信番号。E.164 形式(国番号を含む)。複数の場合は半角カンマで区切ります
message
はい
string
SMS の本文。中国宛は【署名】本文の形式で、プロモーションの本文は配信停止の案内で終える必要があります
channel
いいえ
string
回線 ID。省略時はアカウント既定の回線を使用します
sender_id
いいえ
string
国際 SMS の送信者識別子(Sender ID)
schedule_at
いいえ
string
予約配信の時刻(ISO 8601 UTC)。省略時は即時に送出します
callback_url
いいえ
string
この SMS の状態通知を受け取る Webhook の URL。アカウント既定の設定より優先されます

リクエスト例

curl -X POST https://redsmsbox.com/api/v1/sms/send \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
  "to": "+8613800138000",
  "message": "【RedsmsBox】您的验证码是 123456,5 分钟内有效。"
}'

レスポンス

{
  "ok": true,
  "message_id": "msg_3f7a91",
  "status": "queued",
  "to": "+8613800138000",
  "segments": 1,
  "cost": "0.06",
  "currency": "USD"
}
{
    "ok": false,
    "error_code": "invalid_parameter",
    "error": "The body is not valid JSON, or a field failed validation"
}

失敗時のレスポンスは常にこの形式です。error フィールドは常に英語で、表示言語によって変わりません(機械処理とログ集約のためのものです)。error_code で分岐し、error の文言を照合しないでください。エラーコードの一覧はコンソールの開発者ドキュメントにあります。

送信状況の照会

送信時に返された message_id を用いて、単一の SMS の現在の状態と通信事業者の受領時刻を照会します。

エンドポイント

GET https://redsmsbox.com/api/v1/sms/{message_id}

パラメータ

パラメータ
必須
説明
message_id
はい
string
送信エンドポイントが返した SMS の識別子

リクエスト例

curl -X GET https://redsmsbox.com/api/v1/sms/msg_3f7a91 \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

レスポンス

{
  "ok": true,
  "message_id": "msg_3f7a91",
  "status": "delivered",
  "to": "+8613800138000",
  "segments": 1,
  "cost": "0.06",
  "currency": "USD",
  "submitted_at": "2026-08-16T09:12:31Z",
  "delivered_at": "2026-08-16T09:12:34Z"
}
{
    "ok": false,
    "error_code": "invalid_parameter",
    "error": "The body is not valid JSON, or a field failed validation"
}

失敗時のレスポンスは常にこの形式です。error フィールドは常に英語で、表示言語によって変わりません(機械処理とログ集約のためのものです)。error_code で分岐し、error の文言を照合しないでください。エラーコードの一覧はコンソールの開発者ドキュメントにあります。

送信履歴の照会

現在のアカウントの送信履歴をページ単位で取得します。時間と状態で絞り込めます。

エンドポイント

GET https://redsmsbox.com/api/v1/sms

パラメータ

パラメータ
必須
説明
status
いいえ
string
状態で絞り込みます。例:queued / delivered / failed
start
いいえ
string
開始時刻(ISO 8601 UTC)
end
いいえ
string
終了時刻(ISO 8601 UTC)
page
いいえ
number
ページ番号。省略時は 1

リクエスト例

curl -X GET 'https://redsmsbox.com/api/v1/sms?status=delivered&page=1' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'

レスポンス

{
  "ok": true,
  "page": 1,
  "total": 2,
  "items": [
    {
      "message_id": "msg_3f7a91",
      "status": "delivered",
      "to": "+8613800138000",
      "segments": 1,
      "cost": "0.06"
    }
  ]
}
{
    "ok": false,
    "error_code": "invalid_parameter",
    "error": "The body is not valid JSON, or a field failed validation"
}

失敗時のレスポンスは常にこの形式です。error フィールドは常に英語で、表示言語によって変わりません(機械処理とログ集約のためのものです)。error_code で分岐し、error の文言を照合しないでください。エラーコードの一覧はコンソールの開発者ドキュメントにあります。

お探しの内容が見つかりませんか。お気軽にご相談ください

業務の内容をお知らせいただければ、サポートが配信可能な範囲、回線のご提案、単価をご案内します。