curl -X POST "https://seu-dominio/instances/:id/messages" \
-H "x-api-key: $VERTICE_API_KEY" \
-H "content-type: application/json" \
-d '{"to":"5511999999999","text":"Olá!","replyTo":"opcional","queue":false,"delayMessage":3,"delayTyping":2,"idempotencyKey":"pedido-123"}'
const response = await fetch('https://seu-dominio/instances/:id/messages', {
method: 'POST',
headers: {
'x-api-key': process.env.VERTICE_API_KEY ?? '',
'content-type': 'application/json',
},
body: JSON.stringify({
"to": "5511999999999",
"text": "Olá!",
"replyTo": "opcional",
"queue": false,
"delayMessage": 3,
"delayTyping": 2,
"idempotencyKey": "pedido-123"
}),
});
const payload = await response.json();
console.log(payload);
Conceituação
Envia texto para um contato ou grupo. Com queue, delayMessage, delayTyping ou idempotencyKey, o envio passa pela fila durável e responde 202.
Envio síncrono devolve o ID da mensagem imediatamente. Com queue, delayMessage, delayTyping ou idempotencyKey, a resposta é 202 e o job pode ser acompanhado em /instances/:id/queue.
A operação exige que a instância esteja conectada ao WhatsApp. Caso o socket esteja desconectado, a API responde 409 not_connected.
Atributos
Header
x-api-key
string
obrigatório
API key do workspace (vtc_live_...). Também aceita Authorization: Bearer.
content-type
string
obrigatório
application/json.
Path
id
string
obrigatório
ID da instância.
Body
to
string
obrigatório
Telefone com DDI e DDD, ou JID de grupo terminando em @g.us.
text
string
obrigatório
Corpo da mensagem. Respeite o limite de 65.536 caracteres.
replyTo
string
opcional
ID de uma mensagem recente para citar na resposta.
queue
boolean
opcional
Quando true, o envio passa pela fila durável e a resposta é 202.
delayMessage
integer
opcional
Atraso em segundos antes de enviar (1 a 15).
delayTyping
integer
opcional
Tempo em segundos simulando digitação antes do envio (1 a 15).
idempotencyKey
string
opcional
Chave única para evitar duplicidade em retries. Repetir a chave devolve o mesmo job.
Request Body
{
"to": "5511999999999",
"text": "Olá!",
"replyTo": "opcional",
"queue": false,
"delayMessage": 3,
"delayTyping": 2,
"idempotencyKey": "pedido-123"
}
Resposta
{
"data": {
"id": "3EB0...",
"messageId": "3EB0...",
"zaapId": "job_...",
"status": "sent",
"to": "5511999999999@s.whatsapp.net"
}
}
Respostas de sucesso são envelopadas em data.