Mensagens
Enviar Reação
Reage com emoji a uma mensagem específica (ou remove a reação)
POST
Enviar Reação
Auth:
Envelope de erro:
TokenAccount ou TokenInstance • Rate-limit: Global (100/min) • Idempotente: não
Descrição
Adiciona ou remove uma reação (emoji) a uma mensagem existente. O camporeaction recebe o emoji ("👍", "❤️", "😂", etc.) ou a string literal "remove" para remover a reação. Em conversas 1-a-1, basta messageId + fromMe. Em grupos, quando a mensagem original não foi enviada pela instância (fromMe: false), é obrigatório informar participant com o JID do autor original, sem isso o WhatsApp não consegue localizar o alvo. Reações não suportam delay, replyTo nem mention.
Exemplos
Reagir em conversa 1-a-1
fromMe: false indica que a mensagem alvo foi recebida (não enviada) pela instância.
Reagir em grupo (mensagem de outro participante)
Em grupos, quando você reage a uma mensagem que não é sua (fromMe: false), o participant com o JID do autor original é obrigatório. Sem ele o servidor responde 400 missing_participant.
Remover reação
Enviereaction: "remove" para apagar uma reação previamente colocada na mensagem.
Resposta de sucesso
OmessageId retornado é o da própria reação (não o da mensagem reagida, esse fica em replyTo.messageId). O content traz o emoji aplicado, ou string vazia quando a reação foi removida.
200 OK
Quando a reação é removida (
reaction: "remove"), a message retornada vira "Reaction removed successfully" e o content fica vazio. A reação aparece no destinatário ancorada à mensagem original, se você reagir novamente com outro emoji, o WhatsApp substitui a reação anterior.Parâmetros de rota
Nome da instância (ex.:
$Instance_Name).Headers
TokenAccount ou TokenInstance.application/jsonRequest body
Chat onde a mensagem alvo está: telefone (
5511999999999) ou JID (@s.whatsapp.net, @lid, @g.us).ID da mensagem que receberá a reação.
Emoji da reação (ex.:
"👍", "❤️", "😂", "🔥") ou a string literal "remove" para apagar uma reação existente.true quando a mensagem original foi enviada pela própria instância; false quando ela foi recebida de outro contato/participante. O WhatsApp usa esse flag junto com participant para localizar o alvo.JID do autor da mensagem original (ex.:
5511888888888@s.whatsapp.net). Obrigatório em grupos quando fromMe: false, sem ele o servidor retorna 400 missing_participant. Em conversas 1-a-1 ou quando fromMe: true, é ignorado.Identificador de origem para rastreabilidade (ex.:
crm, bot-suporte, n8n). Salvo no registro da mensagem e propagado para webhooks.Notas
- Reações não suportam
delay,replyTo,replyPrivate,mentionnemmentionAll, apenas os campos listados acima. - Para alterar uma reação existente, basta enviar uma nova com outro emoji. O WhatsApp substitui automaticamente.
- Em grupos, sem
participantcorreto a reação cai emmissing_participantmesmo que omessageIdexista no banco. fromMeprecisa refletir o lado real da mensagem. Se invertido, o WhatsApp pode não localizar o alvo e a reação some silenciosamente no aplicativo do destinatário.
Erros
| HTTP | Status interno | Mensagem |
|---|---|---|
| 400 | , | Instance name is required |
| 400 | , | Invalid request body: <detalhe> |
| 400 | , | Number is required |
| 400 | , | MessageID is required |
| 400 | , | Reaction is required |
| 400 | invalid_number | Invalid phone number format: <detalhe> |
| 400 | invalid_message_id | (motivo do messageId inválido) |
| 400 | missing_participant | Participant is required for group reactions when fromMe=false |
| 404 | , | Instance not found |
| 500 | send_failed | Failed to send reaction: <reason> |
| 503 | disconnected | Instance is not connected to WhatsApp |