Logo

Base URL

https://lip-backend-1064145932505.southamerica-east1.run.app

Endpoint

POSTEnviar/api/external/whatsapp/messages

Envia uma mensagem de WhatsApp (texto, midia ou interativo).

Escopo: whatsapp:sendAssincrono — responde 202 com requestId

Por 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)

Body
tostringobrigatorio

Numero no formato internacional (DDI 55).

messageTypestringopcional

text, media, interactive, image, audio, video ou document.

contentstringopcional

Obrigatorio para text e interactive.

mediaUrlstringopcional

Obrigatorio para midia. Precisa ser acessivel publicamente pelo WhatsApp.

mediaTypestringopcional

image, audio, video ou document. Obrigatorio quando messageType=media.

filenamestringopcional

Nome do arquivo exibido ao destinatario.

buttonsarrayopcional

Botoes de resposta para mensagens interactive.

listItemsarrayopcional

Itens de lista para mensagens interactive.

Regras e validacoes

  • messageType igual a image|audio|video|document vira media automaticamente.
  • messageType=media exige mediaType.
  • messageType=interactive exige content e buttons ou listItems.
  • 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

  • 400 payload invalido (campo obrigatorio ausente, messageType invalido, numero invalido)
  • 401 API key invalida
  • 403 escopo insuficiente
  • 500 falha ao enfileirar a mensagem

Última atualização

15 de junho de 2026

Editar esta página no GitHub