A terceira chamada envia de verdade. Não há ambiente de teste, veja
Ambiente. Use um número seu até ter certeza do formato.
1
Pegue sua credencial
Em Conta → API Keys, crie uma credencial. O segredo completo
aparece uma única vez.Confirme que ela funciona antes de seguir. Um
404 aqui é boa notícia: significa que a credencial
autenticou e o identificador é que não existe.2
Leia o modelo
O texto do envio vem sempre de um modelo, e é do modelo que saem as chaves de É um modelo de cobrança por WhatsApp, só texto, já aprovado. Serve para o quickstart inteiro.
O campo A chave de
parameters. Por
isso esta chamada não é opcional: sem ela você não consegue montar a próxima.Para começar sem preparar nada, use este modelo pré-aprovado, disponível para qualquer
organização:No painel esse modelo aparece como Pré-aprovado. Na API o valor é
template_status: "APPROVED" com template_origin: "SYSTEM": não existe um status
PRE_APPROVED. É a mesma coisa com dois nomes.Usar um modelo seu
Usar um modelo seu
Os modelos da sua organização ficam em
Conta → Modelos. Abra o modelo e copie o
template_id.
Ele também está na URL da página, no formato /conta/modelos/PBD_TPL_....Você também pode criar um com POST /templates. Se fizer isso, guarde o template_id que a
resposta devolve: a API não lista modelos, então esse é o único momento em que você o recebe. Em
WhatsApp o modelo novo ainda precisa da aprovação da Meta antes do primeiro envio.Para enviar por e-mail você vai precisar de um modelo seu com channel: "email".variables vem assim:parameters é o marcador literal, "{{1}}". Não é o índice e não é o
variable_name.3
Envie
Os sete Guarde o
parameters abaixo são as variáveis do modelo pré-aprovado do passo anterior. Troque
recipient_phone, recipient_full_name e recipient_tax_id pelos seus dados e o corpo está pronto.notification_id. É por ele que você acompanha a entrega e baixa o laudo, e a API não tem
listagem para recuperá-lo depois.Para enviar um anexo, o arquivo viaja nesta mesma chamada, em
multipart/form-data. Em
WhatsApp o anexo exige um modelo DOCUMENT ou IMAGE: o pré-aprovado deste guia é só texto e
recusa o arquivo. As partes, os tipos aceitos e os limites estão em
Cria uma notificação extrajudicial.Enviar por e-mail
Enviar por e-mail
Troque
channel por "EMAIL" e recipient_phone por recipient_email. E-mail exige um modelo
seu com channel: "email": o modelo pré-aprovado acima é de WhatsApp.O endereço de origem é resolvido pelo Pombo. Sem endereço dedicado verificado, o e-mail sai do
endereço compartilhado do Pombo, que é o caso comum. Se a organização já verificou um endereço
próprio, passa a haver mais de um endereço utilizável e o envio é recusado com
422 SENDER_CHOICE_REQUIRED. Nesse caso, fale com o suporte do Pombo.4
Acompanhe e baixe o laudo
Não há notificação ativa de eventos: o acompanhamento é por consulta, até o status ser terminal.Leia
Python
notification_delivery_status, não notification_status. O segundo descreve o
processamento interno e não acompanha a entrega.Os eventos certificados (sent, delivered, read e failed) vêm com sua atestação, com
proof_hash e certified_at. enqueued não é certificado: attestation é sempre null nele.
É isso que o laudo consolida.Deu errado?
Dois tropeços são deste caminho em particular:
Todos os outros estão em Erros, com o envelope, a ordem de validação e a ação sugerida
para cada status.
Depois daqui
Idempotência
Como repetir uma chamada sem enviar duas vezes.
Glossário
Laudo, atestação, modelo, remetente: o vocabulário do Pombo.

