Skip to main content
Todo campo number da API — em mensagens, contatos e flows — espera o mesmo formato: E.164 sem o +, ou seja DDI + DDD + número, só dígitos.
55 (Brasil) + 34 (DDD) + 999990000 (número com o nono dígito).

Escreveu → interpretado

Se depois de remover tudo que não é dígito não sobrar nenhum caractere (number vazio, só espaços, ou só símbolos), a API responde 400 com code: ERR_NUMBER_INVALID. Mas um número sem DDI passa nessa checagem — o único jeito de garantir o envio certo é sempre mandar o formato completo.

O nono dígito

Números de celular brasileiros têm 9 dígitos depois do DDD desde a unificação nacional. A API aceita e normaliza variantes com e sem o nono dígito em campos de busca (como number em GET /v1/contacts), mas ao enviar mensagem ou criar contato, use sempre o formato completo com 9 dígitos — é o que garante a entrega correta pelo WhatsApp.

Validar no WhatsApp antes de salvar

No upsert de contato (POST /v1/contacts), o parâmetro opcional validateNumber confere se o número existe no WhatsApp antes de gravar:
Se o número não existir no WhatsApp, a resposta é 422 com code: ERR_NUMBER_NOT_ON_WHATSAPP.
validateNumber só se aplica a conexões Baileys. Em conexões WABA a checagem não bloqueia o upsert — a Meta não expõe essa validação pela Cloud API.
validateNumber faz uma checagem ativa no WhatsApp e pode ser mais lento que um upsert comum. Não use em importações em massa; reserve para fluxos onde você precisa ter certeza antes de prosseguir (ex.: cadastro de um lead único).