vértice
Produto Preços Painel
Mensagens

Enviar texto

Envia texto para um contato ou grupo.

API key Escopo write
Exemplo de requisição
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"}'
POST /instances/{id}/messages
API key
Entenda

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.

Corpo JSON. Os campos abaixo são exemplos; campos marcados como obrigatórios precisam ser enviados.
Contrato

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.

Payload

Request Body

{
  "to": "5511999999999",
  "text": "Olá!",
  "replyTo": "opcional",
  "queue": false,
  "delayMessage": 3,
  "delayTyping": 2,
  "idempotencyKey": "pedido-123"
}
Contrato

Resposta

200 / 202
{
  "data": {
    "id": "3EB0...",
    "messageId": "3EB0...",
    "zaapId": "job_...",
    "status": "sent",
    "to": "5511999999999@s.whatsapp.net"
  }
}

Respostas de sucesso são envelopadas em data.

Erros comuns

400 Corpo, query ou parâmetro inválido. A resposta traz error.code e error.message.
401 Credencial ausente, inválida ou sessão expirada.
403 Escopo insuficiente, IP não autorizado ou workspace suspenso.
404 Recurso não encontrado ou pertence a outro workspace.
409 Instância não conectada ou conflito de estado.