Minha plataforma conecta clientes na API oficial do WhatsApp. Como forneço um número novo pra cada cliente?
Por NumioPublicado em
O cliente que chega numa plataforma de atendimento, num CRM ou numa agência de automação quase sempre esbarra na mesma etapa: a API oficial do WhatsApp exige um número que não esteja em uso no WhatsApp, e o número que ele tem é justamente o que está no celular. Sem um número novo, o cadastro para ali. Fornecer o número junto com o seu produto tira essa etapa do caminho.
Há dois jeitos de fazer isso com a Meta. No primeiro, o cliente digita o número que você entregou na tela de cadastro incorporado (Embedded Signup) e você repassa o código a ele. No segundo, você entrega um número pré-verificado: sua plataforma cria e verifica o número antes, e o cliente só escolhe na lista. A própria documentação da Meta resume a regra: quem fornece números aos clientes precisa entregar os códigos a eles, ou fornecer números pré-verificados.
A API de parceiros da Numio cobre a metade que a Meta não cobre: contratar o número brasileiro em nome do cliente, conduzir a identificação do titular exigida pela Anatel e receber a ligação de verificação, devolvendo o código por webhook. Com isso o seu sistema encadeia Numio e Meta sem ninguém atender telefone.
Quais são os caminhos pra entregar o número ao cliente?
| Cliente digita o número no cadastro | Número pré-verificado | |
|---|---|---|
| Quem pede o código | O cliente, na tela da Meta | A sua plataforma, por API, antes do cadastro |
| O que o cliente faz | Informa o número, escolhe ligação e digita o código que você mostra a ele | Escolhe o número já verificado numa lista |
| O que a sua plataforma faz | Mostra o código que chegou pela Numio | Cria o número no seu portfólio, pede e confirma o código |
| Prazo | Na hora | O número fica verificado por 90 dias, à espera de um cliente |
| Quando usar | Volume baixo, ou cliente que já comprou o número | Cadastro sem atrito, em volume |
Nos dois casos, depois do cadastro incorporado a sua plataforma ainda chama register pro número, com o PIN de 6 dígitos, e assina o webhook da conta do cliente.
Como fica o fluxo com número pré-verificado?
1. Cadastre o cliente e a identificação do titular
Na Numio, crie o cliente (
POST /api/v1/customers) e abra a sessão de verificação de identidade. A numeração brasileira exige titular identificado; a aprovação chega no webhookcustomer.kyc.approved.2. Contrate o número
Consulte o catálogo por DDD e contrate em nome do cliente. O número fica pronto em instantes, e você recebe
did.ready.3. Arme o recebimento da ligação
Chame
POST /api/v1/dids/{didId}/whatsapp-verification. O recebimento fica armado por até 24 horas.4. Crie o número no seu portfólio da Meta e peça o código
Use
add_phone_numbersno portfólio empresarial e depoisrequest_codecomcode_method=VOICEelanguage=pt_BR.5. Receba o código por webhook e confirme
A Numio atende a ligação da Meta e dispara
whatsapp_verification.code_ready, com o código emdata.verification.code. Envie emverify_code.6. Ofereça o número no cadastro incorporado
O cliente passa pelo cadastro e escolhe o número já verificado. Sua plataforma registra o número e começa a receber as mensagens.
Lado da Meta: criar o número pré-verificado e pedir o código por ligação
curl -X POST "https://graph.facebook.com/v25.0/$BUSINESS_PORTFOLIO_ID/add_phone_numbers?phone_number=551130000000" \
-H "Authorization: Bearer $TOKEN"
curl -X POST "https://graph.facebook.com/v25.0/$PHONE_NUMBER_ID/request_code?code_method=VOICE&language=pt_BR" \
-H "Authorization: Bearer $TOKEN"
# o código chega no seu webhook da Numio; então:
curl -X POST "https://graph.facebook.com/v25.0/$PHONE_NUMBER_ID/verify_code?code=$CODE" \
-H "Authorization: Bearer $TOKEN"Lado da Numio: o evento que entrega o código
{
"id": "evt_AbC123",
"type": "whatsapp_verification.code_ready",
"createdAt": "2026-10-13T12:01:10.000Z",
"data": { "verification": { "code": "482913" } }
}O exemplo do evento mostra só o campo do código; o formato completo, a assinatura Numio-Signature e a política de reenvio (até 8 tentativas) estão na referência da API. As quatro chamadas de registro, com os erros de cada uma, estão em registrar número por API.
O que a API de parceiros da Numio cobre?
| Etapa | Recurso da API | Webhook |
|---|---|---|
| Cliente final | POST /api/v1/customers | customer.created |
| Identificação do titular | Sessão de verificação de identidade do cliente | customer.kyc.approved / customer.kyc.rejected |
| Número | Catálogo por DDD e contratação em nome do cliente | did.ready |
| Código do WhatsApp | POST e GET /api/v1/dids/{didId}/whatsapp-verification | whatsapp_verification.code_ready |
| Ligações (opcional) | Credenciais SIP do número | sip.configured |
| Cancelamento | DELETE /api/v1/dids/{didId} | did.canceled |
- Sandbox:
sandbox-api.numio.com.brtem os mesmos endpoints e webhooks, com números fictícios, e um endpoint que simula a ligação da Meta. Dá pra desenvolver o encadeamento inteiro sem contratar número. - Limite: 10 verificações por dia por número.
- Quando o código não é reconhecido: o estado vira
NO_CODEe a gravação da ligação fica disponível pela API, pra você mostrar ao cliente ou pedir outra ligação. - Cobrança: a Numio cobra a sua plataforma pelos números; a cobrança do cliente final é sua.
A chave de API é emitida pelo time Numio. Pra pedir acesso, escreva pra contato@numio.com.br com o caso e o volume esperado. Mais em API de números pra revenda.
Em nome de quem o número fica?
Do cliente final. A numeração é de operadora autorizada pela Anatel e cada número tem um titular identificado, com documento. Por isso a API tem a etapa de identificação do cliente: a sua plataforma é quem integra e cobra, mas o titular do número é a empresa ou a pessoa que vai usá-lo.
Do lado da Meta vale a mesma lógica: o número deve terminar na conta do WhatsApp Business do cliente, que é quem responde pelas mensagens e, no modelo de provedor de tecnologia, quem paga a Meta pelo uso.
O que este número não faz?
- Não recebe SMS. É número fixo; o código do WhatsApp vem por ligação. Códigos de outros serviços que só mandam SMS não chegam.
- Não envia mensagens. A Numio não é provedor oficial de mensagens da Meta.
- Não é portabilidade. O número é novo; a Numio não porta o número que o cliente já usa.
- Não serve a disparo em massa nem a revenda de tráfego, vedados nos Termos de Uso.
E se eu tiver poucos clientes?
Não precisa de API. Cada cliente (ou você, por ele) contrata o número no site, a partir de R$ 25,90/mês, com até 20 números por pedido, e o código aparece no painel e no e-mail do titular. A integração por API compensa quando o cadastro manual vira fila.
Perguntas frequentes
Contratando o número por API em nome do cliente e entregando o código de verificação a ele, ou registrando o número como pré-verificado no seu portfólio da Meta antes do cadastro. A API de parceiros da Numio contrata o número e devolve o código por webhook.
É um número que o parceiro cria e verifica no próprio portfólio da Meta antes de o cliente se cadastrar. No cadastro incorporado o cliente só escolhe o número. Pela documentação da Meta, ele fica verificado por 90 dias até ser usado.
A Meta aceita número fixo e virtual com verificação por ligação de voz, e a tela de cadastro deixa o cliente escolher como receber o código. Com número pré-verificado, o cliente nem passa por essa etapa.
Sim, na API de parceiros: o evento whatsapp_verification.code_ready traz o código de 6 dígitos em data.verification.code, segundos depois da ligação da Meta.
Tem. O sandbox usa os mesmos endpoints e webhooks, com números fictícios, e um endpoint que simula a ligação de verificação da Meta.
Não. A numeração é da TIP Brasil, operadora autorizada pela Anatel. A sua plataforma integra e cobra; o titular do número é o cliente final, identificado pela API.
Não. A Numio fornece números e a verificação por ligação. O envio de mensagens é da Cloud API da Meta, pela sua plataforma.