Skip to main content
POST

Autorizações

Authorization
string
header
obrigatório

Token da API no formato sk_live_….

Corpo

Canal de texto livre (web_whatsapp, web_whatsapp_premium): envie body.

Canal de WhatsApp oficial (whatsapp_business_account): envie template, porque o primeiro contato exige um template aprovado. A API confere o nome e os parâmetros com os templates do canal ao criar o agendamento, então um erro de template aparece na hora, antes do dia do envio.

Mídia: em canais de WhatsApp não oficial (web_whatsapp, web_whatsapp_premium), o arquivo pode ser enviado junto, como multipart/form-data no campo file. Nesses canais o arquivo é a própria mensagem e o body vira a legenda. Com anexo, o texto deixa de ser obrigatório.

Em canal oficial, o anexo só é aceito quando o template tem cabeçalho de mídia. Caso contrário, a resposta é 400 ERR_API_TEMPLATE_MEDIA_NOT_ALLOWED, porque a Meta não aceita anexo avulso.

sendAt
string<date-time>
obrigatório

Data e hora do envio, no formato ISO 8601. Precisa ser uma data futura.

Sem fuso, vale o fuso da sua empresa. 2026-09-15T09:00:00 envia às nove da manhã no fuso configurado na empresa. Com fuso explícito (2026-09-15T09:00:00-03:00) ou em UTC (Z), o valor é respeitado como está.

Exemplo:

"2026-09-15T09:00:00-03:00"

contactId
integer
obrigatório

Contato ao qual este registro pertence.

Exemplo:

1042

channelId
integer
obrigatório

Canal por onde a conversa acontece. Veja os canais disponíveis em GET /channels.

Exemplo:

4

body
string

Texto da mensagem. Use em canais de texto livre.

Exemplo:

"Lembrete: sua consulta é amanhã às 14h."

template
object

Use em canais de WhatsApp oficial, no lugar de body.

Exemplo:
userId
integer

Id do usuário nesta empresa, o mesmo que GET /users devolve. A mesma pessoa tem um id diferente em cada empresa em que trabalha.

Exemplo:

3

queueId
integer

Fila de atendimento.

Exemplo:

7

Resposta

Criado

data
object
Exemplo: