message.reaction
EVENTO
message.reactiondesde M3envelope v1Reação recebida.
Quando é emitido
Emitido quando alguém reage a uma mensagem. text é o emoji (vazio = reação removida) e reaction_to o id WhatsApp da mensagem reagida.
Campos de data
| Campo | Tipo | Descrição |
|---|---|---|
type | string | reaction. |
text | string | Emoji; vazio quando a reação foi removida. |
reaction_to | string | wa_message_id da mensagem reagida. |
chat | string | JID do chat. |
sender | string | Quem reagiu. |
O envelope (id, type, version, instance_id, timestamp,data) está em Visão geral. Campos novos podem ser adicionados emdata sem mudar a versão: ignore os que não conhecer.
Exemplos
{ "id": "evt_2a7e4c1f9b6d3058", "type": "message.reaction", "version": 1, "instance_id": "inst_7f3a9c2e5b1d4086", "timestamp": "2026-10-17T13:53:08.555Z", "data": { "id": "msg_7d3b0e6a2c9f4185", "wa_message_id": "3A5D8F1B4E7C0A3D6F9B", "from_me": false, "push_name": "Maria", "source": "contact", "type": "reaction", "text": "👍", "reaction_to": "3EB0A1B2C3D4E5F6A7B8C9", "timestamp": "2026-10-17T13:53:08Z" }}Entrega e ordem
- Por webhook: pelo menos uma vez, com retry por até 24 horas. O mesmo evento pode chegar duas vezes: deduplique por
X-LiteZap-Event-Id. Veja Entrega e retentativas. - A ordem entre eventos não é garantida (retentativas reordenam): use
timestamp. - Por SSE: ao vivo, sem replay. Veja Tempo real com SSE.
- Para assinar só este tipo:
"events": ["message.reaction"]no webhook, ou?types=message.reactionno SSE.
Relacionados: message.received
Equivalente na Z-API: Ao receber (reação).

