Quando os usuários dizem que o SMS de OTP não chegou, a causa do lado do app costuma ser uma destas: a rota é lenta ou filtrada, o sender ID ou o template não está registrado naquele país, a mensagem é bloqueada pelo conteúdo ou pela codificação, o número está errado ou o pedido de OTP foi limitado. Meça a entrega e a verificação por país e operadora para descobrir qual.
Por que meu SMS de OTP não chega?
Para quem tem um app, as falhas de OTP se concentram em países e operadoras específicos, em vez de se espalharem por igual. Comece verificando se os usuários afetados têm em comum um país, uma operadora, um sender ID ou uma faixa de horário. As causas mais frequentes do lado de quem envia são:
| Causa | Sinal típico | Solução |
|---|---|---|
| Filtro da operadora | Falhas em uma operadora, DLR recusado ou ausente | Passe para uma rota autorizada para essa operadora; verifique o conteúdo |
| Sender ID não registrado | Bloqueado ou remetente substituído em um país | Registre o sender ID no sistema do país |
| Template ou entidade não registrados | Todos os OTPs bloqueados em um país como a Índia | Registre entidade, header e template de OTP (DLT na Índia) |
| Rota lenta ou sobrecarregada | Entregue, mas depois de 30 segundos ou mais | Verifique a latência por rota, adicione uma segunda rota |
| Formato de número errado | Erros de número inválido | Guarde os números em E.164 |
| Seus próprios limites de taxa | Nenhuma mensagem enviada | Revise os limites e as mensagens de erro exibidas aos usuários |
Por que as mensagens de OTP atrasam?
O atraso de um OTP normalmente vem de filas na rota: um provedor que envia por saltos demais, um bind acima na cadeia com baixa vazão, uma operadora que limita o tráfego A2P internacional ou novas tentativas após erros temporários. Um código que chega depois de 60 segundos muitas vezes já não serve, porque o usuário já apertou "reenviar", o que aumenta a carga e confunde o usuário com dois códigos. Meça o tempo entre o envio e o relatório de entrega por operadora; veja taxa de entrega e latência de SMS. Se a latência só fica alta nos picos, pergunte sobre a vazão (TPS) dos seus binds: binds SMPP e TPS.
Problemas de entrega de OTP em operadoras específicas
Quando os usuários de uma operadora deixam de receber os códigos, normalmente a operadora ou o firewall dela está recusando o tráfego da sua rota, ou um registro expirou. Isso acontece quando a rota não está autorizada para tráfego A2P naquela rede, quando o sender ID foi registrado só em outras operadoras ou quando a operadora mudou as regras. Peça ao seu provedor os códigos de erro exatos e pergunte se a rota é direta ou passa por outros carriers. Veja firewalls de SMS, rotas SMS diretas e, para a Índia, registro DLT.
Problemas de conteúdo e de template
- Template divergente. Em países com registro de template, o texto enviado precisa corresponder ao template aprovado, incluindo espaços e variáveis.
- Links nas mensagens de OTP. URLs, principalmente encurtadas, aumentam o risco de filtro. Um código simples e o nome da marca são mais seguros.
- Unicode sem querer. Caracteres especiais ou emojis mudam a codificação e podem dividir a mensagem. Veja GSM-7 ou Unicode.
- Texto promocional. Um OTP que também faz propaganda pode ser classificado como promocional e bloqueado pelas regras de DND. Mantenha as mensagens de OTP puramente transacionais: veja SMS transacional ou promocional.
Quando o painel diz entregue, mas o usuário não recebeu nada
Se os relatórios dizem "entregue" enquanto os usuários garantem que não receberam nada, a rota pode estar devolvendo relatórios de entrega falsos. Teste com seus próprios chips em cada operadora e compare o que o celular recebe com o relatório. A outra explicação comum é que o número na sua base não é o número atual do usuário (reciclagem de números ou erros de digitação), o que uma etapa de validação no cadastro reduz.
Como resolver problemas de entrega de OTP
- Acompanhe três números por país e operadora: enviados, entregues (pelo DLR) e verificados. A diferença entre entregues e verificados revela problemas ocultos.
- Leia os códigos de erro, não só o status. Veja códigos de status de DLR SMS.
- Registre tudo o que for exigido em cada país antes de enviar: sender ID, templates, entidade.
- Use duas rotas nos seus principais países e faça failover quando a conversão cair.
- Adicione um segundo canal, como OTP por voz ou WhatsApp, depois de uma espera curta. Veja fallback de OTP.
- Proteja o formulário contra SMS pumping, que infla o tráfego e pode levar você ao throttling.
Para causas gerais além do OTP, veja por que o SMS não é entregue e, para o desenho da mensagem, boas práticas de SMS OTP.
A VoIPMatcher obtém rotas SMS A2P para OTP com seus carriers e faz a gestão delas por país. Solicite uma rota SMS para OTP.
Perguntas frequentes
O que mostrar ao usuário quando o OTP não chega?
Mostre uma contagem regressiva de 30 a 60 segundos e depois ofereça opções claras: reenviar o código, recebê-lo por chamada de voz ou WhatsApp, ou corrigir o número de telefone. Informe para qual número o código foi enviado, para que o usuário perceba erros de digitação. Limite o número de reenvios e explique quando ele pode tentar de novo.
Por que o OTP chega depois de expirar?
A mensagem atrasou na rota: filas no provedor, saltos extras, throttling da operadora ou um celular que estava offline. Defina a validade do código com folga para a entrega normal, normalmente alguns minutos, e corrija as rotas lentas. Se os atrasos afetam uma operadora, peça ao seu provedor para rotear essa operadora de outra forma.
Devo reenviar o mesmo código OTP?
As duas abordagens funcionam, desde que sejam consistentes. Muitos serviços reenviam o mesmo código enquanto ele ainda vale, para que uma primeira mensagem atrasada continue funcionando. Outros geram um código novo e invalidam o antigo. Nunca mantenha vários códigos válidos por muito tempo e sempre limite o total de tentativas por número e por sessão.
Por que os usuários de uma rede móvel não recebem OTPs?
Isso normalmente significa que a operadora está recusando o tráfego da sua rota, ou que o seu sender ID ou template não está registrado nessa rede. Verifique os códigos de erro dos relatórios de entrega dessa operadora, confirme o status do registro e teste com um chip dessa rede. Uma segunda rota para essa operadora costuma resolver rápido.
O SMS pumping pode fazer usuários reais perderem OTPs?
Sim. Ataques de pumping podem levar sua conta além dos limites de throttling ou de gasto, provocar o bloqueio do seu remetente ou da sua rota pela operadora e encher as filas, fazendo os códigos legítimos chegarem atrasados. Proteger o formulário de OTP com detecção de bots e limites de taxa protege os usuários reais, além do seu orçamento.
Precisa de uma rota?
Envie o destino, o tipo de rota e a tarifa alvo. Respondemos com o que podemos entregar.