Pular para o conteúdo principal
POST
curl

Lidar com indisponibilidade do provedor

Se o provedor de telefonia estiver temporariamente indisponível, este endpoint retorna 502 com um código estável e legível por máquina:
Trate esta resposta como passível de nova tentativa. Use um backoff curto e mostre ao usuário uma mensagem de serviço temporariamente indisponível, em vez de pedir que ele altere um número de telefone ou código válido.

Complemento de inteligência

Defina enable_enrichment como true para também executar a inteligência telefônica do número: uma pontuação de risco, o tipo de linha, se o número foi portado recentemente e um índice de confiança. O complemento é cobrado a $0.05 por requisição, segundo o preço de tabela, além do preço da verificação. A requisição retorna 403 quando seu saldo não for suficiente para cobrir o custo. Quatro campos definem como os sinais são tratados. Cada um é NO_ACTION (o padrão) ou DECLINE, e cada um só tem efeito quando enable_enrichment é true. Com NO_ACTION, o sinal continua sendo retornado em phone.phone_intelligence, para que você possa aplicar sua própria regra.

Autorizações

x-api-key
string
header
obrigatório

Chave de API da sua aplicação, em Developers -> API keys no Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter escopo restrito: nenhum acesso, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está errada, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que a requisição veio de um endereço fora da sua lista de IPs; 404 em uma rota de sessão significa que a sessão está fora dos fluxos ou status da chave. Uma chave sem acesso a mídia recebe URLs de imagem, vídeo e PDF como null, e uma chave sem permissão de escrita em sessões recebe links e tokens de sessão como null. Consulte https://docs.didit.me/console/api-keys.

Corpo

application/json
phone_number
string
obrigatório

O mesmo número de telefone usado na chamada correspondente a POST /v3/phone/send/, no formato E.164. É isso que vincula a verificação ao envio.

Maximum string length: 20
Exemplo:

"+14155552671"

code
string
obrigatório

O OTP que o usuário final recebeu. Deve ter de 4 a 8 dígitos numéricos — qualquer outro valor retorna 400 sem consumir uma tentativa. Um código bem formado, mas incorreto, retorna 200 com status: "Failed" e consome uma das 3 tentativas.

Required string length: 4 - 8
Pattern: ^[0-9]{4,8}$
Exemplo:

"123456"

duplicated_phone_number_action
enum<string>
padrão:NO_ACTION

O que fazer quando o mesmo número já foi usado por outro usuário (vendor_data diferente) da sua aplicação. DECLINE altera o status final para Declined; NO_ACTION registra o risco em phone.warnings e preenche phone.matches.

Opções disponíveis:
NO_ACTION,
DECLINE
disposable_number_action
enum<string>
padrão:NO_ACTION

O que fazer quando a consulta à operadora sinaliza o número como linha temporária/descartável (phone.is_disposable). DECLINE muda o status final para Declined; NO_ACTION registra o risco em phone.warnings.

Opções disponíveis:
NO_ACTION,
DECLINE
voip_number_action
enum<string>
padrão:NO_ACTION

O que fazer quando a consulta à operadora informa um tipo de linha virtual — voip, isp ou vpn (phone.is_virtual). DECLINE muda o status final para Declined; NO_ACTION registra o risco em phone.warnings.

Opções disponíveis:
NO_ACTION,
DECLINE
enable_enrichment
boolean
padrão:false

Quando true, também executa a inteligência de telefone no número: uma pontuação de risco, o tipo de linha, se o número foi portado recentemente e um índice de confiança. Cobrado como uma unidade phone_intelligence_api por requisição ($0.05 pelo preço de tabela), além do preço próprio deste endpoint. A requisição retorna 403 quando o seu saldo não é suficiente para cobri-la.

Exemplo:

false

phone_intelligence_score_action
enum<string>
padrão:NO_ACTION

Ação quando a pontuação de risco da inteligência de telefone está acima do limiar. DECLINE muda o status final para Declined; NO_ACTION registra o sinal sem recusar. Só tem efeito quando enable_enrichment é true.

Opções disponíveis:
NO_ACTION,
DECLINE
phone_type_risk_action
enum<string>
padrão:NO_ACTION

Ação quando o número é de um tipo de linha de alto risco. DECLINE muda o status final para Declined; NO_ACTION registra o sinal sem recusar. Só tem efeito quando enable_enrichment é true.

Opções disponíveis:
NO_ACTION,
DECLINE
recent_port_action
enum<string>
padrão:NO_ACTION

Ação quando o número foi portado para outra operadora recentemente. DECLINE muda o status final para Declined; NO_ACTION registra o sinal sem recusar. Só tem efeito quando enable_enrichment é true.

Opções disponíveis:
NO_ACTION,
DECLINE
low_phone_trust_action
enum<string>
padrão:NO_ACTION

Ação quando o índice de confiança da inteligência de telefone está igual ou abaixo do limiar. DECLINE muda o status final para Declined; NO_ACTION registra o sinal sem recusar. Só tem efeito quando enable_enrichment é true.

Opções disponíveis:
NO_ACTION,
DECLINE
enable_social
boolean
padrão:false

Quando verdadeiro, também consulta a presença digital do número: as plataformas de mensagens, redes sociais, e-commerce e profissionais em que ele está cadastrado. Cobrado como uma unidade phone_social por requisição, além do preço deste endpoint.

Exemplo:

true

phone_no_social_presence_action
enum<string>
padrão:NO_ACTION

Ação quando a verificação de pegada social não encontra o número registrado em nenhuma das plataformas que ela cobre. Somente NO_ACTION e DECLINE são aceitos neste endpoint; REVIEW está disponível na chave de configuração do fluxo de mesmo nome.

Opções disponíveis:
NO_ACTION,
DECLINE

Resposta

Verificação concluída — códigos incorretos e verificações inexistentes também retornam 200; confira status, não o código HTTP. phone é preenchido apenas em resultados finalizados (Approved/Declined), é null em Failed e fica ausente em Expired or Not Found.

request_id
string<uuid>

Em Approved/Declined: o ID da sessão da verificação correspondente, idêntico ao request_id retornado por POST /v3/phone/send/. Em Failed e Expired or Not Found: um UUID aleatório de uso único que não pode ser consultado depois.

status
enum<string>

Approved: código correto, sem risco que cause recusa. Declined: terminal; um risco que causa recusa foi identificado ou o limite de tentativas (3) foi esgotado. Failed: código errado, ainda restam tentativas. Expired or Not Found: não há verificação pendente para este número nos últimos 5 minutos.

Opções disponíveis:
Approved,
Declined,
Failed,
Expired or Not Found
message
string

Explicação legível do resultado, incluindo o número de tentativas restantes após um código incorreto.

phone
object | null

Relatório completo do telefone. Presente (não nulo) somente em resultados finalizados (Approved/Declined); null em Failed e ausente em Expired or Not Found.

vendor_data
string | null

vendor_data da sessão da verificação correspondente. null em Expired or Not Found.

metadata
object | null

metadata da sessão da verificação correspondente. null em Expired or Not Found.

created_at
string<date-time>

Data e hora desta resposta de verificação.

Última modificação em 1 de novembro de 2026