API de validação de telefone: o que faz e o que não faz
Uma API de validação de números de telefone verifica se um número está bem formado segundo as regras internacionais do plano de numeração e retorna sua região e o tipo de linha, como celular ou fixo, sem contatar nenhuma rede. Ela responde "este número poderia ser real?" e não "este número está conectado agora?"
Essa distinção determina o tipo de serviço de que você precisa. A validação de formato é rápida, gratuita de executar e privada, enquanto qualquer coisa que informe o status em tempo real depende de uma fonte de dados de nível de operadora e de um custo por consulta. Muitas equipes pagam pelo segundo quando o primeiro teria resolvido o problema real.
O que a validação baseada em regras faz bem
O plano de numeração de cada país é público: códigos de país, comprimentos permitidos, faixas válidas de código de área e prefixo, e quais prefixos são alocados a celular, fixo ou outros serviços. Um validador construído sobre essas regras, normalmente uma biblioteca derivada dos metadados do libphonenumber do Google, consegue fazer muito:
- Normalizar. Converter "(415) 555-0132", "415-555-0132" e "+1 415 555 0132" na mesma string E.164, para que seu banco de dados pare de guardar seis grafias de um mesmo número.
- Rejeitar entradas malformadas. Comprimento errado, prefixo impossível ou uma letra no lugar errado são detectados no formulário, antes de chegarem ao seu provedor de SMS e custarem dinheiro.
- Inferir a região. O país ou a região vem do código de chamada e do prefixo, o que ajuda no roteamento, na localização e na formatação padrão.
- Classificar o tipo de linha. Celular, fixo e várias outras categorias são derivados das alocações de prefixos.
Como o trabalho é pura computação, a resposta é imediata e o número nunca precisa ser enviado a um fornecedor externo. É uma vantagem de privacidade, já que números de telefone são dados pessoais na maioria das jurisdições. O verificador de números de telefone do ipto funciona assim: usa um parser autohospedado, e sua saída se baseia em regras do plano de numeração, sem consulta ativa a operadoras. Digite um número em formato internacional ou escolha um país para interpretar um número local.
O que ela não pode dizer
A validação baseada em regras tem limites rígidos, e vale conhecê-los antes de projetar um fluxo em torno dela.
- Se o número está ativo. Um número pode seguir todas as regras e ainda assim estar não atribuído, desconectado ou reciclado para um novo titular.
- Quem é o titular. As regras de numeração não dizem nada sobre o assinante.
- Qual operadora o atende atualmente. A portabilidade numérica faz com que o dono original do prefixo muitas vezes não seja a operadora atual.
- Se a linha é um serviço VoIP. A detecção de tipo baseada em prefixo é aproximada, e números virtuais são frequentemente alocados em faixas comuns.
Nos termos do ipto, "válido" significa "plausível segundo as regras de numeração". Para fatos concretos sobre alcançabilidade, você precisa de uma consulta ativa a operadoras ou do tipo HLR, feita por um provedor com esse acesso, ou de um teste prático, como enviar um código de uso único e ver se o usuário o digita.
Escolhendo entre as duas abordagens
Parta da decisão que você quer tomar. Se você está limpando uma lista de contatos, normalizando entradas no cadastro ou decidindo se exibe a bandeira de um país, a validação baseada em regras basta e uma consulta ativa paga é dinheiro desperdiçado. Se você está protegendo um fluxo de alto valor, como a recuperação de conta, o teste de alcançabilidade mais barato geralmente é o próprio código de verificação: ele prova o controle do número, o que nenhuma consulta faz.
Uma consulta ativa paga passa a valer a pena quando você envia em grande volume e quer evitar pagar por mensagens para números mortos, ou quando precisa distinguir certas categorias de linha com alta confiança. Mesmo assim, execute primeiro a verificação gratuita de formato. Ela elimina o lixo óbvio para que você pague apenas para consultar números que poderiam plausivelmente ser reais.
Onde as ferramentas do lado do IP se encaixam
Os dados de telefone são mais úteis ao lado de dados de rede e de e-mail. A consulta de operadora por IP é diferente de uma consulta de operadora por número de telefone: ela mapeia um endereço IP classificado como móvel à sua operadora por meio do diretório MCC e MNC, em nível de rede, nunca por assinante. O verificador de e-mail cobre sintaxe, registros MX e domínios descartáveis, e o verificador de pontuação de fraude incorpora um resultado de telefone como uma de quatro entradas opcionais, ao lado de IP, e-mail e User-Agent. Nessa pontuação, um número que falha na validação aumenta o risco, enquanto um plausível acrescenta pouco, o que condiz com o quão fraca é uma verificação de formato como evidência de legitimidade.
Para uma leitura relacionada sobre avaliar uma conta por vários ângulos, veja validação de e-mail descartável explicada.