As boas práticas essenciais de SMS OTP são: uma rota rápida e direta, um sender ID registrado, uma mensagem curta com o código perto do início, validade de poucos minutos, limites de taxa contra SMS pumping e um canal de fallback quando o SMS falha. Meça o sucesso pelos códigos digitados, não só pelos relatórios de entrega.
Escolha a rota certa
Uma senha de uso único só serve se chegar em segundos. A maioria dos usuários desiste ou pede um novo código depois de 30 a 60 segundos. Isso faz do OTP o tipo de tráfego em que as rotas baratas custam mais caro.
- Use rotas diretas ou de alta qualidade, de preferência declaradas e precificadas para tráfego de OTP.
- Mantenha pelo menos duas rotas por país importante, para poder trocar quando uma piorar.
- Acompanhe a latência, não só a taxa de entrega. Uma entrega mediana abaixo de 5 a 10 segundos é uma meta razoável em boas rotas. Veja taxa de entrega e latência de SMS.
Sender ID e registro
Os usuários confiam em códigos que vêm de um nome reconhecível. Onde sender IDs alfanuméricos são suportados, registre o nome da sua marca nos países que exigem e use o mesmo nome em todo lugar. Em países como a Índia, as mensagens de OTP também precisam corresponder a um template registrado. Nos EUA, o tráfego de OTP roda em campanhas 10DLC registradas, números toll-free verificados ou short codes. As regras estão em registro de sender ID e 10DLC e SMS toll-free nos EUA.
Escreva bem a mensagem
- Código primeiro ou perto do início: "123456 é seu código MyApp. Válido por 5 minutos." Assim o código aparece na prévia da notificação.
- Diga o nome do serviço para que o usuário saiba para que serve o código, e acrescente "Não compartilhe este código" para reduzir a engenharia social.
- Fique no GSM-7 e abaixo de 160 caracteres para que a mensagem seja um único segmento. Um único caractere acentuado ou especial pode passar a mensagem inteira para Unicode e reduzir o limite para 70. Veja codificação GSM-7 ou Unicode.
- Sem links nas mensagens de OTP, a não ser que sejam necessários. Links acionam filtros de spam e parecem phishing.
- Suporte ao preenchimento automático: no Android, a SMS Retriever API usa um hash do app de 11 caracteres na mensagem; no iOS, o sistema detecta os códigos, e os códigos vinculados a domínio usam uma última linha com o domínio e o código.
Configurações de código e sessão
| Configuração | Prática comum |
|---|---|
| Tamanho do código | 6 dígitos |
| Validade do código | 3 a 10 minutos |
| Período de validade do SMS no envio | Curto, poucos minutos, para que mensagens atrasadas expirem em vez de chegar inúteis |
| Reenvio permitido depois de | 30 a 60 segundos |
| Máximo de tentativas por número | Um número pequeno por hora, depois bloquear ou trocar de canal |
Proteja-se contra SMS pumping
Os endpoints de OTP são o alvo principal do tráfego artificialmente inflado: bots disparam milhares de códigos para números premium ou de alto custo para que alguém na cadeia ganhe uma parte da tarifa. Defesas que funcionam:
- Limites de taxa por número de telefone, por IP, por dispositivo e por prefixo de país.
- Bloqueie ou desafie países que você não atende.
- Crie alertas para aumentos repentinos de tráfego para prefixos incomuns e para conversão baixa (códigos enviados mas nunca digitados).
- Use proteção contra bots no formulário que dispara o código.
Mais em SMS pumping (tráfego artificialmente inflado).
Meça a conversão e planeje o fallback
Os relatórios de entrega podem estar errados ou atrasados. A métrica real é a conversão: a parcela de códigos que os usuários digitam. Acompanhe-a por país, rede e rota. Quando o SMS falha ou o usuário pede reenvio, um fallback como uma chamada de voz que lê o código ou uma mensagem no WhatsApp pode recuperar a sessão. Veja fallback de OTP: SMS, voz e WhatsApp.
Como obter rotas de OTP
A VoIPMatcher obtém rotas SMS A2P com qualidade para OTP com seus carriers e faz a gestão delas para você. Os dados do seu tráfego não são compartilhados com os fornecedores. Solicite uma rota SMS para OTP com seus países e volume mensal.
Perguntas frequentes
O OTP por SMS é seguro?
O OTP por SMS é um segundo fator razoável para a maioria dos serviços ao consumidor, mas não é o mais forte. Os códigos podem ser roubados por SIM swap, phishing ou engenharia social, e por isso as mensagens devem dizer para não compartilhar o código. Para ações de alto risco, como pagamentos grandes, muitos serviços acrescentam autenticação por app e mantêm o SMS como fallback.
Por quanto tempo um OTP deve valer?
A maioria dos serviços deixa o código válido de 3 a 10 minutos. Uma validade menor limita o estrago se o código for interceptado, mas uma janela curta demais prejudica usuários em rotas lentas. Defina também um período de validade curto para o SMS no envio, para que uma mensagem presa em fila expire em vez de chegar depois que o código já parou de funcionar.
Quantos dígitos um OTP deve ter?
Seis dígitos é a prática comum. Isso dá um milhão de combinações, o suficiente quando as tentativas têm limite de taxa, e é fácil de ler e digitar. Códigos mais curtos são mais fáceis de adivinhar, e os mais longos causam mais erros de digitação. Combine o tamanho com um limite de tentativas por número e por sessão.
Qual é a melhor alternativa ao OTP por SMS?
Alternativas comuns são chamadas de OTP por voz, mensagens de autenticação do WhatsApp, apps autenticadores e notificações push no seu próprio app. A maioria dos serviços mantém o SMS como padrão porque funciona em qualquer celular sem app, e acrescenta outro canal como fallback ou para ações de alto risco. Escolha por país e meça a conversão de cada canal.
Por que os SMS de OTP atrasam?
Os atrasos normalmente vêm da rota: rotas indiretas enfileiram as mensagens em cada salto, o throttling cria uma fila quando você passa do seu TPS, e os firewalls das operadoras retêm ou filtram sender IDs não registrados. Celulares desligados ou sem cobertura também atrasam a entrega. Meça a latência por país e por rede, e mantenha uma rota de reserva para trocar.
Precisa de uma rota?
Envie o destino, o tipo de rota e a tarifa alvo. Respondemos com o que podemos entregar.