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.

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 202 Accepted`) 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 : Ce statut remonte lorsque l'opérateur confirme la remise ; le délai varie selon l'opérateur et l'état du réseau (en août 2026, le délai médian jusqu'à cette confirmation se situait entre 13 et 40 secondes sur nos routes marocaines).

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

Une petite part de Pending en fin de campagne est normale (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
{
  "event": "message.failed",
  "data": {
    "id": "msg_8f2da1b2c3d4e5f6a7b8c9d0",
    "to": "+212612345678",
    "channel": "sms",
    "status": "failed",
    "error_code": "DLR_REJECTD",
    "error_message": "The destination network did not deliver this message and gave no reason."
  },
  "timestamp": "2026-06-27T10:05:22Z"
}

Ici, le DLR vous donne précisément la raison de l'échec. Branchez votre logique sur error_code ; error_message est un texte d'affichage.

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é Opérateurs

Routes locales vers IAM, Orange et Inwi, avec bascule automatique entre routes et statut de livraison transmis par webhook.

💰

Optimisation Budgétaire

WhatsApp Business API dès 0,65 MAD par message. Le meilleur retour sur investissement.

🛡️

Données Souveraines (CNDP)

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

Q.Comment suivre l'acheminement sur les réseaux IAM, Inwi et Orange ?
Nos routes locales vers Maroc Telecom (IAM), Orange et inwi, avec bascule automatique entre routes, renvoient un statut de livraison opérateur pour chaque message, par webhook. Le délai de remise dépend de l'opérateur et du réseau du destinataire.
Q.Comment la plateforme gère-t-elle le format des numéros marocains ?
EnvoiSMS normalise automatiquement les numéros saisis (06..., 07..., 00212...) vers le standard E.164 (+212) pour éviter tout échec de distribution.

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