Référence Développeur

Guide des codes d'erreur API et statuts de livraison SMS au Maroc

Découvrez la signification de chaque code d'erreur HTTP et de chaque statut de rapport de livraison (DLR) retourné par notre API pour diagnostiquer rapidement vos flux d'envoi.

Dernière mise à jour : 8 juillet 2026

Codes d'erreur HTTP de l'API REST

L'API EnvoiSMS.ma utilise les codes HTTP standards accompagnés d'un message JSON explicite.

  • 400 Bad Request : Corps de requête JSON manquant ou mal formé
  • 401 Unauthorized : Clé API invalide, expirée ou absente
  • 402 Payment Required : Solde du compte insuffisant pour effectuer l'envoi
  • 422 Unprocessable Entity : Numéro de destinataire invalide ou non conforme (+212)
  • 429 Too Many Requests : Seuil de requêtes par seconde dépassé

Statuts des accusés de réception (DLR)

Une fois le message accepté par l'API, l'opérateur télécom transmet un statut de livraison final par webhook.

  • DELIVRD (Délivré) : Le SMS a été reçu avec succès sur le terminal mobile
  • UNDELIV (Non délivré) : Mobile éteint, hors zone de couverture ou mémoire pleine
  • EXPIRED (Expiré) : Le message n'a pas pu être remis dans le délai de validité (généralement 48h)
  • REJECTD (Rejeté) : Message refusé par l'opérateur (numéro bloqué ou expéditeur non autorisé)

Bonnes pratiques de gestion des erreurs

Implémentez une stratégie de retry avec temporisation exponentielle pour les erreurs temporaires (429, 503) et désactivez les numéros retournant une erreur 422 pour assainir vos listes de contacts.

Tout savoir sur Référence Développeur.

Suis-je débité si un numéro est invalide (422) ?
Non. Une requête rejetée avec le statut 422 est bloquée avant expédition et n'est pas débitée de votre solde.
Quand le webhook DLR est-il envoyé ?
Dès que l'opérateur mobile du destinataire confirme la remise ou le rejet du message, généralement en quelques secondes.