O objeto mensagem
Enviar uma mensagem
202 Accepted (o cost do exemplo é ilustrativo):
message.status_updated. Consultar GET /v1/messages/{id} em laço funciona, mas o webhook é o caminho para produção.
Regras que valem saber
- Um conteúdo por mensagem. Mande exatamente um entre
templateName,body,interactive,locationereaction. Zero ou mais de um responde400 VALIDATION_ERROR. - Janela de 24h. Só
templateNamepassa a qualquer hora. Os outros conteúdos exigem a janela aberta; fora dela a resposta é422 CONVERSATION_WINDOW_CLOSED. Para checar antes, usePOST /v1/conversations/window-status. - Telefone. Use E.164 com
+(+5511999999999). Também passam5511999999999ewhatsapp:+5511999999999. Inválido:422 INVALID_RECIPIENT. - Mídia no cabeçalho. A URL da imagem ou do PDF vai na primeira posição de
templateVariables. Se o arquivo não está hospedado, suba emPOST /v1/media/upload(imagem até 5 MB, PDF até 100 MB). - Idempotência. Com
Idempotency-Key, a mesma chave devolve a mensagem já criada, sem reenviar nem cobrar. O corpo não é comparado: derive a chave de um evento do seu sistema (id do pedido, id da tentativa) e use uma chave por intenção de envio. - Status em maiúsculas. A API responde
PENDING,SENT,DELIVERED. O webhook usa os mesmos estados em minúsculas, comPENDINGvirandoqueued. - Consulta por dono.
GET /v1/messages/{id}só devolve mensagens do mesmo usuário dono da chave. Mensagem de outro membro responde403sem corpo, e ID inexistente responde404sem corpo. - Lote é tudo ou nada. Em
POST /v1/messages/batch(até 1.000 destinatários, mesmo template), um telefone inválido ou saldo insuficiente recusa o lote inteiro com422. Acima de 1.000, use Campanhas.
Agendar
scheduled_at em uma data futura deixa a mensagem em SCHEDULED até o horário. Data no passado envia na hora.
Endpoints
Conversas agrupam as mensagens trocadas com um telefone e controlam a janela de 24h. Exigem plano com caixa de entrada, número dedicado e chave
ADMIN.
Erros mais comuns
A lista completa de cada endpoint está na página dele. Códigos de falha de entrega em Por que minha mensagem falhou.
Próximos passos
Templates
Criar e gerenciar templates aprovados.
Eventos de webhook
Receber
delivered, read e failed em tempo real.