API SMS : erreurs, codes de statut et limites de débit
Ce que signifie chaque code et combien de requêtes vous pouvez faire.
Dernière mise à jour
Les erreurs ont toujours la même forme. Programmez en fonction de code, jamais de message : le texte peut changer, le code non.
{
"error": {
"code": "device_not_found",
"message": "Device dev_oppo_cph2577 not found.",
"requestId": "req_01H8X2K9"
}
}Statuts HTTP
| Statut | Signification | Que faire |
|---|---|---|
| 200 | acceptée | rien |
| 400 | la requête est mal formée | corrigez le corps ; réessayer ne servira à rien |
| 401 | clé invalide ou révoquée | créez une nouvelle clé |
| 402 | plus aucun message disponible sur le forfait | attendez le renouvellement ou changez de forfait |
| 403 | le compte est bloqué, ou le destinataire s’est désinscrit | vérifiez le code ; réessayer ne servira à rien |
| 404 | l’appareil, le message ou la conversation n’existe pas | vérifiez l’id |
| 409 | l’Idempotency-Key a été utilisée avec un corps différent | utilisez une nouvelle clé pour une nouvelle requête |
| 429 | trop de requêtes | ralentissez ; la limite se réinitialise chaque minute |
| 5xx | panne de notre côté | réessayez avec la même Idempotency-Key |
Codes d’erreur
| Code | Quand il apparaît |
|---|---|
| validation_error | un champ manque ou est mal formé |
| invalid_number | le numéro n’est pas valide |
| message_too_long | plus de 10 000 caractères |
| device_not_found | le deviceId n’appartient pas au compte |
| not_found | le message ou la conversation n’existe pas, sur GET /messages/:id et /conversations/:id (404) |
| quota_exceeded | les messages de ce cycle sont épuisés |
| account_blocked | le compte a été bloqué (403) ; si vous pensez qu’il s’agit d’une erreur, écrivez à hello@droidsender.com |
| recipient_opted_out | le destinataire a répondu STOP ; ne réessayez pas (403) |
| idempotency_conflict | l’Idempotency-Key a déjà été utilisée avec un corps différent (409) |
| rate_limited | au-delà de la limite de requêtes de ce compte |
| invalid_key | la clé a été révoquée, ou n’a jamais existé |
Limites
| Limite | Valeur |
|---|---|
| Requêtes à l’API | 60 par minute et par clé, multipliées par le nombre de téléphones connectés au compte (jusqu’à 3000) |
| Envoi par téléphone | environ 30 messages d’une seule partie par minute ; sur la plupart des téléphones, Android autorise environ 30 parties de SMS par minute, donc un message en 3 parties compte pour 3 |
| Messages par cycle | le quota de votre forfait ; chaque réponse indique ce qu’il reste |
| Longueur du message | jusqu’à 10 000 caractères (environ 66 SMS en GSM-7) |
| champ reference | 200 caractères |