Ao enviar uma mensagem SMS, especialmente para fins críticos como a verificação de contas com códigos OTP, o trabalho não termina quando você clica em "enviar". É fundamental saber se a mensagem realmente chegou ao seu destino. É aqui que o DLR se torna uma ferramenta indispensável.
Sem um relatório de entrega, você opera no escuro, sem saber se uma falha de comunicação ocorreu do seu lado, na operadora ou com o usuário final. Entender o DLR é o primeiro passo para diagnosticar problemas e garantir a confiabilidade do seu sistema de mensagens.
O que é um DLR (Delivery Report) na prática?
Um DLR é, em essência, o "aviso de recebimento" do mundo do SMS. Ele é uma mensagem de sistema, não visível para o usuário final, que trafega pela infraestrutura de telefonia para reportar o que aconteceu com um SMS após ele ter sido despachado.
Quando uma plataforma como a SMS VOLT envia uma mensagem para a operadora, ela pode solicitar que a rede retorne um DLR. A operadora então tenta entregar o SMS ao aparelho de destino e, com base no resultado dessa tentativa, gera um relatório com um status específico. Esse relatório é enviado de volta para a plataforma de origem, que o processa e o disponibiliza para você.
Essa confirmação é crucial. Ela transforma o envio de SMS de uma ação do tipo "dispare e esqueça" para um processo transparente e mensurável.
O ciclo de vida de um SMS e o papel do DLR
Para entender o DLR, é útil visualizar o caminho que um SMS percorre. O processo é uma cadeia de eventos técnicos que precisa funcionar perfeitamente.
- Envio via API: Sua aplicação faz uma requisição a uma API de SMS para enviar uma mensagem para um número específico.
- Repasse ao SMSC: A plataforma de API formata a mensagem e a encaminha para o SMSC (Short Message Service Center) da operadora de destino.
- Tentativa de Entrega: O SMSC localiza o celular do destinatário na rede e tenta entregar a mensagem.
- Geração do DLR: A rede da operadora (ou o próprio celular de destino) envia um pequeno pacote de dados de volta ao SMSC, informando o resultado da entrega.
- Retorno à Plataforma: O SMSC repassa essa informação de status (o DLR) de volta à plataforma de API que originou o envio.
- Disponibilização: A plataforma de API registra esse status e o torna acessível a você, geralmente através de um painel de controle ou, de forma mais eficiente, via webhook.
O DLR é a peça final desse quebra-cabeça, fechando o ciclo de comunicação e fornecendo a confirmação que você precisa.
Os principais status de um DLR e o que significam
Os DLRs não são binários (apenas "entregue" ou "não entregue"). Eles vêm com diferentes status que oferecem um diagnóstico mais preciso. Embora os nomes exatos possam variar entre operadoras, os conceitos são universais.
| Status do DLR | Significado prático |
|---|---|
| Delivered (Entregue) | Sucesso. A mensagem foi recebida pelo aparelho do destinatário. |
| Sent (Enviado) | Status intermediário. A mensagem foi aceita pela operadora, mas a entrega final ainda não foi confirmada. |
| Failed (Falhou) | Falha definitiva. O número de destino é inválido, não existe ou está fora de serviço. |
| Undelivered (Não entregue) | Falha genérica. Pode ocorrer por vários motivos, como o número estar em uma área sem cobertura ou bloqueado para receber SMS. |
| Expired (Expirado) | O celular do destinatário estava desligado ou fora de área por um longo período (geralmente 24-72 horas). A operadora tentou entregar a mensagem, mas o prazo de validade dela se esgotou. |
| Rejected (Rejeitado) | A operadora bloqueou ativamente a mensagem. Isso pode acontecer devido a filtros anti-spam, restrições do número de destino ou bloqueio de certos tipos de remetente. |
| Unknown (Desconhecido) | A operadora não retornou um status claro ou a conexão foi perdida antes da confirmação. |
Por que o DLR é uma ferramenta essencial?
Ignorar os DLRs é como dirigir um carro sem painel de instrumentos. Você pode até chegar ao destino, mas não saberá se o motor está superaquecendo ou se o combustível está acabando. Para desenvolvedores e empresas, os relatórios de entrega são vitais por três razões principais:
- Diagnóstico de Falhas: Quando um usuário reclama "o código SMS não chega", o DLR é sua primeira ferramenta de investigação. Um status "Failed" indica um número inválido no cadastro, enquanto "Expired" sugere que o problema pode ser o celular do usuário desligado.
- Otimização e Limpeza de Base: Ao monitorar DLRs com status "Failed", você pode identificar e remover números inválidos da sua base de usuários. Isso evita gastos desnecessários com tentativas de envio para contatos que nunca receberão a mensagem.
- Monitoramento da Qualidade de Rota: Acompanhar a taxa de entrega de SMS ajuda a avaliar a qualidade do roteamento de SMS oferecido pelo seu provedor. Quedas repentinas nas taxas de entrega podem indicar problemas na rede da operadora ou na rota utilizada.
Como consultar os relatórios de entrega
Existem duas maneiras principais de obter as informações de um DLR de uma plataforma de SMS:
- Polling via API: Neste método, sua aplicação consulta periodicamente a API do provedor para verificar o status de uma mensagem que foi enviada. É mais simples de implementar, mas menos eficiente, pois gera tráfego constante e a informação não chega em tempo real.
- Webhooks: Este é o método preferido e mais moderno. Você configura uma URL no seu sistema (um endpoint de webhook) e a informa ao provedor de SMS. Assim que o provedor recebe um DLR da operadora, ele envia automaticamente uma notificação com todos os detalhes para a sua URL. É eficiente, em tempo real e escalável.
Para qualquer aplicação que dependa criticamente da entrega de SMS, a implementação de um receptor de webhooks para DLRs é uma prática altamente recomendada.
Perguntas frequentes
Um DLR "Entregue" garante que o usuário leu o SMS?
Não. Ele garante apenas que a mensagem foi entregue com sucesso ao hardware (o celular). Ele não informa se a notificação foi vista, se o aplicativo de mensagens foi aberto ou se o conteúdo foi lido pelo usuário.
O que significa se eu não receber um DLR para uma mensagem?
Isso pode acontecer por alguns motivos. Pode haver um atraso significativo na rede da operadora, a rota de SMS utilizada pode não suportar DLRs (comum em rotas de baixa qualidade), ou pode ter ocorrido uma falha de comunicação entre a operadora e a plataforma de API.
Quanto tempo um DLR leva para chegar?
Na maioria dos casos, um DLR de "Entregue" chega em poucos segundos após o envio do SMS. No entanto, status como "Expirado" podem levar de 24 a 72 horas para serem confirmados, pois dependem do tempo que a operadora mantém a mensagem em espera.
O DLR tem algum custo adicional?
Geralmente, não. O serviço de relatório de entrega costuma estar incluído no custo do envio do SMS. Provedores de qualidade oferecem essa funcionalidade como parte padrão do serviço, pois entendem sua importância para a transparência e confiabilidade.



