---
title: "WhatsApp 回应 Webhook"
description: "联系人添加、更改或移除 emoji 回应时的 whatsapp.reacted 载荷，以及为什么无法通过事件排序来重建当前状态。"
canonical: "https://bird.com/zh-sg/wendang/guides/whatsapp/webhooks/reactions"
---

# WhatsApp 回应 Webhook

`whatsapp.reacted` 在联系人对您的消息做出回应、更改 emoji 或撤回回应时触发。您的商业号码发送的回应不会触发该事件。订阅 `whatsapp.received` 不包含回应事件，回应也不会打开客服窗口。

回应是消息上的附注，而非独立消息，因此它不属于投递时间线，也不携带[每个消息事件都携带的字段](/docs/guides/whatsapp/webhooks#fields-every-message-event-carries)。

## 载荷

`whatsapp_id` 标识的是被回应的消息，而非回应本身；`emoji` 是用户所做的更改。一个用户先回应、再更改 emoji、最后撤回回应，会在同一条消息上产生三个事件。WhatsApp 在前两次之间不会发送移除事件，因此更改以携带新 emoji 的单个事件到达。

```json
{
  "data": {
    "emoji": "👍",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "whatsapp_id": "wam_01ky8b3xq4gd7pmzn2ka51f7te",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b"
  },
  "timestamp": "2026-07-23T14:52:11.000Z",
  "type": "whatsapp.reacted"
}
```

WhatsApp 以秒为精度报告回应时间，因此这三个事件中有两个可能共享同一个 `timestamp`。按该字段排序无法确定顺序，按投递顺序排序也不行，因为重试会使投递顺序不可靠。请将每个事件携带的回应视为它所描述的变更来处理。不要尝试从事件中重建序列，也不要将最后到达的事件视为该消息的当前回应，因为时间戳和到达顺序都不支持这样做。要获取仍然生效的回应，请回读消息：[`GET /v1/whatsapp/messages/{message_id}`](/docs/api/reference/get-whatsapp-message) 在 `reactions` 中为每个发送者返回一条记录，消息的[回应日志](/docs/api/reference/list-whatsapp-message-reaction-events)包含每次变更。

用户撤回回应时，`emoji` 存在且为 `null`，因此 null 表示的是移除操作本身，而非缺失值。emoji 完全按照 WhatsApp 发送时的原样投递，不做规范化处理，因此 `❤` 和 `❤️` 会作为不同字符串到达。

- `from` 是联系人，`to` 是您的 WhatsApp 号码。当联系人地址没有电话号码时，请处理[业务范围用户 ID](/docs/guides/whatsapp/business-scoped-user-ids)。

## 后续步骤

- [发送或移除回应](/docs/guides/whatsapp/reactions)：从您的业务号码对消息进行回应
- [WhatsApp webhooks](/docs/guides/whatsapp/webhooks)：选择要订阅的其他事件

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
