Base URL
https://lip-backend-1064145932505.southamerica-east1.run.app
Endpoint
/api/external/whatsapp/messagesEnvia uma mensagem de WhatsApp (texto, midia ou interativo).
whatsapp:sendAssincrono — responde 202 com requestIdPor ser um envio, este endpoint e assincrono: a mensagem e validada, enfileirada e a API responde 202 com um requestId. Acompanhe o resultado em /usage/status/{requestId} ou por webhook. Suporta o header Idempotency-Key — veja Idempotencia.
Body (campos)
tostringobrigatorioNumero no formato internacional (DDI 55).
messageTypestringopcionaltext, media, interactive, image, audio, video ou document.
contentstringopcionalObrigatorio para text e interactive.
mediaUrlstringopcionalObrigatorio para midia. Precisa ser acessivel publicamente pelo WhatsApp.
mediaTypestringopcionalimage, audio, video ou document. Obrigatorio quando messageType=media.
filenamestringopcionalNome do arquivo exibido ao destinatario.
buttonsarrayopcionalBotoes de resposta para mensagens interactive.
listItemsarrayopcionalItens de lista para mensagens interactive.
Regras e validacoes
messageTypeigual aimage|audio|video|documentviramediaautomaticamente.messageType=mediaexigemediaType.messageType=interactiveexigecontentebuttonsoulistItems.- O numero deve ser valido e celular (Brasil, DDI 55).
Templates nao vao por aqui
Esta rota nao envia templates. Para templates aprovados pela Meta, use POST /api/external/whatsapp/templates/send.
Midia precisa ser publica
O mediaUrl precisa estar acessivel publicamente pela internet — o WhatsApp baixa o arquivo a partir dessa URL no momento do envio.
Formatos suportados (interativo)
Botoes (reply)
Envie buttons como array de objetos com id e title.
Exemplo:
Lista
Envie listItems com id, title e description opcional.
Exemplo:
Exemplos por tipo
Texto
Midia (imagem)
Midia (documento)
Exemplo em curl
Resposta (202 Accepted)
O messageId e o conversationId definitivos ficam disponiveis apos o processamento, em GET /api/external/usage/status/{requestId} ou no evento WHATSAPP_SENT do webhook.
Erros comuns
400payload invalido (campo obrigatorio ausente,messageTypeinvalido, numero invalido)401API key invalida403escopo insuficiente500falha ao enfileirar a mensagem
Última atualização
15 de junho de 2026