Skip to main content
POST
Enviar Texto
Auth: TokenAccount ou TokenInstanceRate-limit: Global (100/min) • Idempotente: não

Descrição

Envia uma mensagem de texto a um contato 1-a-1, grupo (@g.us) ou canal (@newsletter). Suporta replyTo (citação por ID), replyPrivate (responder no privado a partir de uma mensagem de grupo), mention / mentionAll (apenas em grupos), linkPreview e delay (em segundos) para simular digitação real. É o endpoint mais usado e serve como “Hello World” para validar que a instância está conectada.

Exemplos

Mínimo

Envia uma mensagem de texto com o payload mínimo (number + message). Sem delay, sem preview, sem citação, útil como “Hello World” para validar que a instância está conectada.
Envia indicador de “digitando…” por 3 segundos e depois envia a mensagem com prévia da URL detectada.

Como resposta

Cita uma mensagem existente (replyTo recebe o messageId da mensagem original). A mensagem original precisa pertencer à mesma instância e ter sido salva no banco (qualquer mensagem trafegada via webhook/envio é salva automaticamente).

Como resposta no privado (grupo)

Quando alguém manda uma mensagem em um grupo e você quer responder no privado dessa pessoa (sem retornar a resposta para o grupo), use replyPrivate: true. O number deve apontar para o JID do grupo onde a mensagem original foi enviada, o servidor extrai o autor original e redireciona a resposta para o privado dele, mantendo a citação.

Com menção a membro(s) (grupo)

Adiciona menção visível com @5511... no corpo da mensagem e lista os números no array mention. O texto e o array precisam estar consistentes, o WhatsApp só transforma em link clicável o que estiver no mention.

Menção oculta (grupo)

Faz ping em todos os membros do grupo sem precisar listar @s no texto, usando mentionAll: true. O texto exibido fica limpo, mas os participantes recebem a notificação de menção. Útil para anúncios silenciosos. Para mencionar pessoas específicas de forma oculta, basta usar mention: ["..."] sem colocar @número no texto, eles também recebem a notificação sem aparecer marcados.

Resposta de sucesso

A resposta inclui o messageId (use-o em replyTo para citar essa mensagem em envios futuros), o direction: "outgoing" e a marcação de chat/sender. Os campos mentions e replyTo só aparecem quando aplicáveis, e chat.groupName é incluído em mensagens de grupo.
200 OK

Parâmetros de rota

string
obrigatório
Nome da instância (ex.: $Instance_Name).

Headers

string
obrigatório
TokenAccount ou TokenInstance.
string
obrigatório
application/json

Request body

string
obrigatório
Destino: telefone (5511999999999) ou JID (@s.whatsapp.net, @lid, @g.us, @newsletter).
string
obrigatório
Corpo do texto. Não pode estar vazio.
int
padrão:"0"
Tempo em segundos para aguardar antes de enviar. Durante o intervalo, o servidor envia o indicador de “digitando…” ao destinatário e dispara o “paused” antes do envio real.
Quando true, o servidor extrai a primeira URL do message, busca os metadados Open Graph (título, descrição, thumbnail) e envia a mensagem como ExtendedTextMessage com o card de preview embutido. Quando false ou omitido, a URL aparece como texto simples.
string
ID da mensagem a ser citada (reply). A mensagem original precisa pertencer à mesma instância e ter sido salva no banco. Erros possíveis: reply_message_not_found, reply_message_instance_mismatch.
boolean
padrão:"false"
Quando true e replyTo aponta para uma mensagem originária de um grupo, a resposta é redirecionada para o privado do autor original (mantendo a citação). Útil para responder dúvidas individualmente sem poluir o grupo. Ignorado se a mensagem original não for de grupo.
string[]
Lista de números (ou JIDs) a mencionar. Apenas em grupos (@g.us). Limite de 10 menções por mensagem, números excedentes são ignorados com warning. Para que apareçam como link clicável, inclua @5511... no message. Sem isso, viram menções ocultas (apenas notificam).
boolean
padrão:"false"
Quando true, menciona todos os membros do grupo (exceto a própria instância). Equivale ao @todos/@everyone. O servidor consulta a lista de participantes e injeta cada JID no MentionedJID do contexto, sem alterar o texto exibido. Apenas em grupos.
string
padrão:"api"
Identificador de origem para rastreabilidade (ex.: crm, bot-suporte, n8n). Salvo no registro da mensagem no banco e propagado para webhooks. Quando omitido, assume "api".

Notas

  • delay é em segundos (diferente de muitas APIs que usam ms). Valor 3 = 3 segundos de “digitando”.
  • Em grupos, o texto com @5511... por si só não vira clickable, é o array mention que o WhatsApp processa. Mantenha os dois consistentes.
  • mention e mentionAll são exclusivos a grupos. Se enviados para DM/canal, retorna 400 Mentions are only supported in group chats.
  • Para números BR (começando com 55), o serviço tenta automaticamente variações com e sem o 9º dígito, evitando o histórico de inconsistências em DDDs antigos.
  • linkPreview requer que o servidor consiga buscar os metadados Open Graph da URL, sites com bloqueio de bots podem cair no fallback de texto simples sem erro visível.
  • Mensagens enviadas via replyPrivate: true aparecem no privado do destinatário com o card da mensagem citada do grupo, ele consegue ver de qual conversa veio.

Erros

Envelope de erro: