Skip to content

Report di consegna SMS (DLR): stati e codici

Cosa mostra un report di consegna SMS (DLR): DELIVRD, UNDELIV, EXPIRED, REJECTD e gli altri stati, il formato del DLR, i codici di errore e come leggerli.

Aggiornata il 20 ottobre 2026

Un report di consegna SMS (DLR) ti dice lo stato finale di un messaggio: DELIVRD (ha raggiunto il telefono), UNDELIV (fallito), EXPIRED (periodo di validità scaduto), REJECTD (rifiutato dalla rete), DELETED, UNKNOWN, oppure ACCEPTD ed ENROUTE come stati intermedi. Lo stato arriva con un codice di errore che spiega i fallimenti, ma i codici di errore sono specifici di ogni operatore o piattaforma.

Come ti arriva un DLR

Su SMPP chiedi una conferma impostando il campo registered_delivery nel submit_sm (il valore 1 chiede una conferma sia per successo sia per fallimento, il valore 2 solo per fallimento). Il fornitore risponde con submit_sm_resp e un message ID, che significa solo che il messaggio è stato accettato, non consegnato. Più tardi la conferma arriva come deliver_sm, con l'esm_class che la indica come delivery receipt. Con le HTTP API la stessa informazione viene inviata al tuo webhook. Le due interfacce sono confrontate in SMPP vs HTTP API per gli SMS A2P.

La specifica SMPP 3.4 suggerisce un formato di testo per la conferma, seguito dalla maggior parte delle piattaforme:

id:1234567890 sub:001 dlvrd:001 submit date:2610201015 done date:2610201015 stat:DELIVRD err:000 text:Your code is

L'id corrisponde al message ID del submit_sm_resp. Le date sono di solito nel formato YYMMDDhhmm. Molte piattaforme inviano gli stessi dati anche nei parametri opzionali receipted_message_id e message_state.

Valori di stato

StatoSignificatoFinale?
DELIVRDConsegnato al telefonoSì
UNDELIVNon è stato possibile consegnarlo (numero non valido, abbonato assente, bloccato, filtrato)Sì
EXPIREDPeriodo di validità finito prima della consegna, spesso perché il telefono era spento o senza coperturaSì
REJECTDRifiutato dalla rete o da un firewall SMS, spesso per motivi di sender ID o di contenutoSì
DELETEDCancellato dall'SMSC prima della consegnaSì
UNKNOWNStato finale non noto o non riportatoDa considerare fallito fino a prova contraria
ACCEPTDAccettato dall'SMSC per conto dell'abbonato, senza conferma dal telefonoIntermedio
ENROUTEIn transito, la consegna è ancora in corsoIntermedio

Alcune piattaforme inviano conferme intermedie e poi una finale. Il tuo sistema deve aggiornare lo stato del messaggio ogni volta e considerare come risultato solo lo stato finale.

Codici di errore

Il campo err contiene un codice a tre cifre, di solito 000 in caso di successo. Nei fallimenti il suo significato dipende dall'operatore e da ogni piattaforma della catena, quindi non esiste un elenco universale. Le categorie comuni dietro i codici sono: abbonato sconosciuto o numero non assegnato, abbonato assente, memoria del telefono piena, chiamate bloccate, guasto di rete e blocco da parte di un filtro antispam o di un firewall. Chiedi a ogni fornitore la sua tabella dei codici di errore e ricollegala alle tue categorie. Non confondere i codici di errore dei DLR con i codici command_status SMPP restituiti all'invio: quelli sono trattati in codici di errore SMPP più comuni.

Leggere correttamente i DLR

  • Un DLR mancante non è di per sé un fallimento. Alcune destinazioni o rotte non restituiscono conferme. Sappi quali sono prima di costruire gli allarmi.
  • I tempi contano. Uno stato EXPIRED può arrivare ore o giorni dopo, a seconda del periodo di validità impostato. Un periodo di validità breve è adatto agli OTP, dove un codice in ritardo è inutile.
  • I messaggi concatenati possono produrre una conferma per ogni parte. Conta un messaggio lungo come consegnato solo quando lo sono tutte le parti. Vedi SMS lunghi concatenati.
  • Troppo bello per essere vero è un segnale. Una rotta con il 100% di DELIVRD e conferme istantanee potrebbe inviare fake DLR.

Usare i DLR per gestire le rotte

Aggrega gli stati ogni ora per paese, per rete e per rotta. Un aumento di UNDELIV o REJECTD su una rete spesso significa una modifica del firewall o un problema di sender ID; un aumento di EXPIRED può indicare congestione. È la base del monitoraggio della consegna, spiegato in tasso di consegna e latenza degli SMS. Quando una rotta peggiora, una rotta di backup ti permette di spostare il traffico in fretta.

VoIPMatcher procura dai suoi carrier rotte SMS A2P con DLR. Richiedi una rotta SMS e indicaci quali destinazioni hanno bisogno del supporto completo ai DLR.

Domande frequenti

Cosa significa DLR negli SMS?

DLR sta per delivery report, detto anche delivery receipt o conferma di consegna. È il messaggio di stato che torna indietro dopo che una rete ha provato a consegnare un SMS, e dice al mittente se il messaggio ha raggiunto il telefono, è fallito, è scaduto o è stato rifiutato. Le piattaforme A2P lo restituiscono al mittente via SMPP o su un webhook.

Come attivo i report di consegna SMS sul mio telefono?

Nella maggior parte delle app di messaggistica Android, i report di consegna sono un'opzione nelle impostazioni SMS dell'app, spesso tra le impostazioni avanzate. iPhone non offre report di consegna per i normali SMS. I report di consegna del telefono sono diversi dai DLR A2P che le aziende ricevono dal loro provider SMS, che vengono richiesti al momento dell'invio di ogni messaggio.

Cos'è un DLR dell'SMSC?

Un DLR dell'SMSC è la conferma di consegna generata dallo Short Message Service Centre dell'operatore dopo aver tentato di consegnare il messaggio. È l'unico report che riflette cosa è successo sulla rete. Le conferme create da piattaforme intermedie senza la conferma dell'operatore non sono veri DLR dell'SMSC e possono nascondere traffico non consegnato.

Perché per alcuni SMS non ricevo il report di consegna?

Alcune destinazioni, reti e rotte non restituiscono alcuna conferma, e alcune la restituiscono solo per i fallimenti. Un DLR mancante quindi non prova che il messaggio sia fallito. Chiedi al tuo fornitore quali destinazioni hanno il supporto completo ai DLR, riporta i DLR mancanti separatamente dai fallimenti e conferma con test su telefoni reali.

Quanto tempo ci mette un report di consegna?

Sulle buone rotte un report DELIVRD di solito arriva pochi secondi dopo la consegna. Gli stati di fallimento possono richiedere molto di più: un report EXPIRED arriva solo alla fine del periodo di validità, che può essere ore o giorni dopo. Report che arrivano sempre entro un secondo dall'invio, anche per i fallimenti, fanno pensare che siano generati e non reali.

Ti serve una rotta?

Mandaci destinazione, tipo di rotta e tariffa target. Ti rispondiamo con quello che possiamo offrirti.

Altre guide

Tutte le guide
SMS A2P OTP vocale: come funzionano le chiamate di verifica Cos'è l'OTP vocale, come funziona una chiamata di verifica text-to-speech, OTP vocale e OTP via SMS a confronto, caller ID, costi e prevenzione delle frodi. SMS A2P Strumenti SMPP client e server per i test Librerie client SMPP open source, server e simulatori per i test, e un metodo passo per passo per testare una connessione SMPP. SMS A2P Come testare una rotta SMS: checklist per i test SMS A2P Come testare una rotta o un gateway SMS prima di inviare traffico: test sui telefoni per rete, sender ID, latenza, accuratezza dei DLR, test di carico e pilota. SMS A2P SMS OTP: buone pratiche su lunghezza, scadenza e consegna Buone pratiche per gli SMS OTP veloci e sicuri: scelta della rotta, sender ID, formato del messaggio, lunghezza e scadenza del codice, SMS pumping e fallback. SMS A2P Lookup numero VoIP: come si riconosce il tipo di linea Come funzionano lookup dei numeri VoIP e riconoscimento del tipo di linea, cosa indica ogni tipo e come le app li usano contro iscrizioni false e frodi SMS. SMS A2P HLR e VLR: qual è la differenza nel GSM? HLR e VLR spiegati: cosa contiene ciascun registro della rete mobile, come lavorano insieme per chiamate, SMS e roaming, e cosa li ha sostituiti in 4G e 5G. SMS A2P SMS transazionali e promozionali: le differenze SMS transazionali e promozionali a confronto: cosa sono, consenso, disiscrizione, orari di invio, registrazione e perché il tipo cambia la rotta. SMS A2P Codici di errore SMPP: elenco completo e significato Codici di errore SMPP spiegati: i valori command_status SMPP 3.4 più comuni come 0x0B, 0x45 e 0x58, le loro cause e quali riprovare o considerare definitivi.