不支持的 WhatsApp 消息类型
WhatsApp 承载了 Bird 的 API 未建模的内容,从目录订单到关于对话的系统通知。Bird 不会丢弃这类消息或以空内容投递,而是使用一个 unsupported 分支记录它,该分支标明了 WhatsApp 内容类型。消息在 WhatsApp 日志中可见,并像其他消息一样送达你的 webhook。
不支持的消息包含什么
unsupported.type 携带 WhatsApp 自身的类型字符串来描述收到的内容,这也是消息上唯一的内容。外层信封不变:
代码示例
{
"id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"unsupported": { "type": "order" },
"created_at": "2026-08-25T09:31:20Z"
}| type | 联系人发送的内容 |
|---|---|
| interactive | API 无法将其回复形式识别为点击的互动内容 |
| button | API 无法将其识别为回复的按钮点击 |
| order | 从产品目录下单的购物车或订单 |
| system | 关于对话的系统通知,例如联系人更换了手机号码 |
| unsupported | WhatsApp 自身的 unsupported 类型,用于其自有客户端无法渲染的消息 |
unsupported 在上表中不是占位符。当 WhatsApp 的某个客户端发送了其他客户端无法显示的内容时,它会上报一个以此命名的内容类型,该值即以此形式到达。
该列表是开放的。WhatsApp 会随时间添加新的内容类型,因此遇到无法识别的 type 时,应将其视为未来的类型而非错误:记录并继续,而不是中断读取。
webhook 载荷
whatsapp.received 也会为不支持的消息触发,携带相同的分支:
代码示例
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:31:20.774Z",
"data": {
"whatsapp_id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"unsupported": { "type": "order" },
"tags": null,
"metadata": null
}
}根据找到的 content 字段进行分支的端点应有一个默认分支,该分支正是此 arm 所落入的位置。无论哪种情况都以 2xx 确认 webhook:重试不会改变任何结果,因为内容不会在两次尝试之间变为已建模。
不支持的消息仍然会做什么
在不依赖于内容的所有方面,该消息都被视为一条入站消息:
- 它会重置客服窗口为全新的 24 小时,因此从目录下单的订单会重新打开自由回复权限。
- 它会出现在消息列表和 WhatsApp 日志中,显示其类型而非空白行。
- 它不会被计费。 入站消息均不收费。
你无法做的是读取其内容。订单不会携带购物车详情,系统通知也不会说明具体变更。如果需要这些细节,可以用文字询问联系人,或使用回复按钮或列表菜单,使回答以你可以处理的已建模分支到达。
注意事项
- 不要将该分支视为错误。 消息已成功接收,只是内容未建模。对其告警意味着每当联系人下单时都会触发告警。
- system 类型可能意味着联系人更换了号码。 Meta 将电话号码变更记录为引发系统消息的事件之一,同时会重新生成联系人的业务范围用户 ID。该分支仅标明类型,不含其他信息,因此应将其视为重新确认对方身份的提示。
- 表情回应不是不支持的消息。 它根本不是入站消息,因此不会触达任何 webhook,也不会出现在任何消息列表中:每次变更都记录在被回应消息自身的回应日志中,详见 WhatsApp 事件。
- 原样存储类型值。 未来的类型会解析为你尚未编写代码处理的名称,保留原始值才能在你实现支持后找到这些消息。
后续步骤
- 接收消息的工作原理:入站信封、媒体获取以及 whatsapp.received webhook
- 接收互动回复:以已建模内容到达的点击操作
- WhatsApp 日志:在控制面板中浏览对话
- WhatsApp 事件:完整的事件列表,通过 API 或 webhook 获取