接收 WhatsApp 贴纸
联系人从贴纸面板点选的贴纸会作为入站消息到达,携带 sticker:一个 WebP 文件引用,加上一个 animated 标志。
入站贴纸包含的内容
代码示例
{
"id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"sticker": {
"id": "waf_01kye6r7as0zkv3g1q6suy9whc",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
"mime_type": "image/webp",
"animated": false
},
"created_at": "2026-08-25T09:19:37Z"
}| 字段 | 包含的内容 |
|---|---|
| id | 已存储的文件,获取字节时作为 media_id 传入 |
| url | 一个 Bird URL,使用你的 API 密钥获取 |
| mime_type | WhatsApp 报告的媒体类型,贴纸为 image/webp |
| animated | 贴纸是否为动态;仅在入站贴纸上存在 |
该分支在任一方向都不携带标题文字,也没有贴纸或所属贴纸包的名称。贴纸就是整条消息。
animated 用于区分动态 WebP 和静态 WebP,当你自行渲染文件时这一点很重要:动态贴纸是多帧 WebP,静态图像渲染器会将其压平为第一帧。
获取字节数据
将消息 ID 和媒体 id 传入渠道的媒体方法。Hub 的获取入站媒体涵盖了该调用的所有语言示例,以及它遵循的重定向和请求头规则,并管理文件所在的保留时间窗口。
大多数集成从不获取贴纸。贴纸通常传达的是情感而非信息,因此客服收件箱可以显示占位符,自动化流程可以将该消息视为重置窗口的确认,而无需下载任何内容。
Webhook 载荷
whatsapp.received 在事件信封上携带 sticker 分支:
代码示例
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:19:37.882Z",
"data": {
"whatsapp_id": "wam_01kye7t1rgyw9u5l8p2zaf7sid",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"sticker": {
"id": "waf_01kye6r7as0zkv3g1q6suy9whc",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kye7t1rgyw9u5l8p2zaf7sid/media/waf_01kye6r7as0zkv3g1q6suy9whc",
"mime_type": "image/webp",
"animated": false
},
"tags": null,
"metadata": null
}
}注意事项
- 贴纸仍会重置服务窗口。 它与其他入站消息一样,即使不携带可操作的文本,也会再获得 24 小时的自由回复时间。
- 贴纸不是表情回应。 联系人对你的消息添加的表情回应根本不是入站消息:它记录在该消息自身的回应日志中,读取方式参见 WhatsApp 事件。
后续步骤
- 接收的工作原理:入站信封、媒体获取和 whatsapp.received webhook
- WhatsApp 贴纸消息:同一分支的发送端
- 不支持的消息类型:订单、系统通知以及其他未建模的入站内容
- WhatsApp 事件:完整的事件列表,通过 API 或 webhook 获取