Expertise technical

DLR pending, delivered, failed, unknown : que signifient vraiment ces statuts SMS

Dlr pending delivered failed unknown : causes réelles, méthode de diagnostic et solutions concrètes pour le marché marocain.

Dernière mise à jour : 8 juillet 2026
DLR pending, delivered, failed, unknown : que signifient vraiment ces statuts SMS

Lorsque vous expédiez des milliers de SMS au Maroc, la réponse de l'API (`HTTP 200 OK`) ne confirme qu'une chose : la passerelle a bien reçu votre demande. Pour savoir si le client a réellement reçu le message sur son téléphone, vous devez interpréter les **Delivery Reports (DLR)**.

Ces accusés de réception asynchrones sont envoyés par l'opérateur (IAM, Orange, inwi) à la passerelle, qui vous les transmet via un Webhook.

La compréhension précise de ces 4 statuts est vitale pour monitorer la santé de vos envois, identifier une base de données corrompue, ou réagir à une panne réseau opérateur. Voici ce qu'ils signifient concrètement sur le terrain.

Les 4 statuts DLR expliqués simplement

### 1. DELIVERED (Délivré avec succès) C'est le statut final idéal. Il confirme formellement que le SMS a atteint le combiné (le téléphone) du destinataire. Délai technique : Pour un numéro marocain valide et couvert par le réseau, ce statut remonte généralement entre 2 et 5 secondes après l'envoi initial.

### 2. PENDING (En attente de livraison) Le message a été transmis à l'opérateur local, mais ce dernier n'a pas encore pu le livrer au combiné. Pourquoi ? Le téléphone est éteint, en mode avion, hors zone de couverture, ou la boîte de réception SMS du client est pleine. Durée : L'opérateur gardera le message en Pending pendant une période définie (Validity Period, souvent 24h ou 48h). Il réessaiera périodiquement. Si le délai expire, le statut basculera en Failed.

### 3. FAILED (Échec définitif) Le message n'a pas pu être livré, et l'opérateur a abandonné les tentatives. Pourquoi ? Le numéro n'existe plus, n'est pas attribué (Non-Existent Number), le délai de validité est dépassé, ou le téléphone a bloqué spécifiquement la réception. Un taux élevé de Failed indique que votre base de données n'est pas nettoyée et contient de nombreux "numéros morts".

### 4. UNKNOWN / REJECTED (Rejet opérateur) L'opérateur a reçu la demande mais refuse catégoriquement de l'acheminer. Pourquoi ? Le Sender ID n'est pas autorisé sur ce réseau, le contenu a été marqué comme SPAM par les filtres réseau, ou l'itinéraire vers ce préfixe est temporairement fermé.

Pourquoi un SMS reste en pending longtemps

Un pourcentage normal de Pending en fin de campagne se situe entre 5% et 8% (liés aux téléphones éteints ou hors réseau).

Cependant, si vous observez un bloc massif de messages bloqués en Pending (ex: 40% de la campagne) sur un opérateur spécifique (par exemple, uniquement les numéros en 0661), cela indique un incident de congestion réseau (Throttling) ou une panne SMSC chez l'opérateur en question. Dans ce cas, les messages sont coincés dans le goulot d'étranglement de l'opérateur.

Quand un statut unknown doit alerter votre équipe technique

Le statut Unknown ou Rejected est le plus critique. S'il apparaît de manière isolée, c'est souvent un filtre anti-spam mineur. S'il frappe une campagne entière dès le lancement, alertez immédiatement vos développeurs : votre Sender ID vient probablement d'être blacklisté, ou le compte a été bloqué pour non-conformité.

Exemple de payload JSON de webhook réel : ``json { "message_id": "d983f4b2-...", "to": "212612345678", "status": "REJECTED", "error_code": "403", "error_description": "Sender ID not whitelisted for this carrier", "timestamp": "2026-06-27T10:05:22Z" } ` Ici, le DLR vous donne précisément la raison de l'échec. La lecture de error_description` est primordiale.

Comment automatiser les relances sur statut failed

L'analyse des DLR n'a de sens que si elle déclenche une action métier.

  • Hygiène de base : Configurez un script qui détecte les statuts Failed (avec erreur type "numéro non attribué") et supprime ou marque ces numéros comme inactifs dans votre CRM. Cela évitera de payer pour les spammer à la prochaine campagne.
  • Relance intelligente : Si un SMS critique (OTP, confirmation de commande) tombe en Failed, configurez votre système pour déclencher un fallback automatique : envoyez l'alerte par e-mail, par WhatsApp, ou déclenchez un appel vocal.

La maîtrise des DLR est la différence entre une application qui "envoie des SMS" et un système de notification robuste de niveau entreprise.

💡 Pourquoi choisir EnvoiSMS pour votre entreprise ?

Délivrabilité Critique

Moins de 4 secondes pour vos OTP via des canaux directs opérateurs IAM, Inwi et Orange Maroc.

💰

Optimisation du Budget

WhatsApp Business API à 0,45 MAD par message. Le meilleur ROI conversationnel.

🛡️

Données Souveraines (CNDP)

Hébergement conforme aux réglementations de protection des données personnelles locales.

Articles suggérés

Formatage SMS au Maroc : Sauts de ligne, Encodage GSM-7 vs UCS-2 et Optimisation des Coûts
technical

Formatage SMS au Maroc : Sauts de ligne, Encodage GSM-7 vs UCS-2 et Optimisation des Coûts

Formatage WhatsApp Business au Maroc : Texte Enrichi, Emojis et Boutons Interactifs
technical

Formatage WhatsApp Business au Maroc : Texte Enrichi, Emojis et Boutons Interactifs

Chatbot WhatsApp en Darija Marocain : Comment l'IA Traite l'Arabizi et le Mix Français-Arabe
technical

Chatbot WhatsApp en Darija Marocain : Comment l'IA Traite l'Arabizi et le Mix Français-Arabe