Documentation développeur
Une API RESTful authentifiée par jeton d’accès, avec du JSON UTF-8 en requête comme en réponse. Chaque point d’accès ci-dessous est accompagné d’un exemple curl exécutable tel quel.
API SMS — envoyer des messages
Déclenchez les envois directement depuis vos propres systèmes. to accepte un numéro unique, ou plusieurs séparés par des virgules (jusqu’à 1000 par appel) ; une fois l’envoi accepté, l’appel renvoie un message_id qui permet de suivre l’état de remise.
En-têtes d’authentification
AuthorizationAuthorization: Bearer {api_token}AcceptEnvoyer un message
Envoie un SMS texte vers un ou plusieurs numéros. Dans la réponse, segments indique le nombre de messages occupés par cet envoi et cost son coût total.
Point d’accès
POST https://redsmsbox.com/api/v1/sms/sendParamètre
tomessagechannelsender_idschedule_atcallback_urlExemple de requête
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 分钟内有效。"
}'Réponse
{
"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"
}Les réponses en échec utilisent toujours cette enveloppe. Le champ error est toujours en anglais et ne suit pas la langue de l’interface — il s’adresse aux machines et à l’agrégation de journaux. Faites vos branchements sur error_code ; ne comparez jamais le texte de error. La table complète des codes figure dans la documentation développeur de la console.
Vérifier l’état de remise
Consultez l’état courant d’un message et l’heure de l’accusé de l’opérateur à partir du message_id renvoyé lors de l’envoi.
Point d’accès
GET https://redsmsbox.com/api/v1/sms/{message_id}Paramètre
message_idExemple de requête
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'Réponse
{
"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"
}Les réponses en échec utilisent toujours cette enveloppe. Le champ error est toujours en anglais et ne suit pas la langue de l’interface — il s’adresse aux machines et à l’agrégation de journaux. Faites vos branchements sur error_code ; ne comparez jamais le texte de error. La table complète des codes figure dans la documentation développeur de la console.
Lister les messages envoyés
Parcourez page par page l’historique d’envoi de ce compte, filtré par date et par statut.
Point d’accès
GET https://redsmsbox.com/api/v1/smsParamètre
statusstartendpageExemple de requête
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'Réponse
{
"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"
}Les réponses en échec utilisent toujours cette enveloppe. Le champ error est toujours en anglais et ne suit pas la langue de l’interface — il s’adresse aux machines et à l’agrégation de journaux. Faites vos branchements sur error_code ; ne comparez jamais le texte de error. La table complète des codes figure dans la documentation développeur de la console.
Vous ne trouvez pas ce qu’il vous faut ? Écrivez-nous
Décrivez votre usage et l’assistance reviendra vers vous avec le périmètre autorisé, une recommandation de route et le tarif.