接收 WhatsApp 音频
联系人发送的音频以携带 audio 的入站消息形式到达。该分支涵盖在聊天中录制的语音备忘录和附加的音频文件,voice 用于区分两者。
入站音频包含的内容
代码示例
{
"id": "wam_01kyb3q8ndvt6r2h5k9wxc4pfa",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"status": "received",
"audio": {
"id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyb3q8ndvt6r2h5k9wxc4pfa/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
"mime_type": "audio/ogg; codecs=opus",
"voice": true
},
"created_at": "2026-08-25T09:07:32Z"
}| 字段 | 包含的内容 |
|---|---|
| id | 已存储的文件,获取字节时作为 media_id 传入 |
| url | 一个 Bird URL,使用你的 API 密钥获取 |
| mime_type | WhatsApp 报告的媒体类型,例如语音备忘录对应 audio/ogg; codecs=opus |
| voice | 在聊天中录制的语音备忘录为 true,而非附加的音频文件 |
该分支在收发两个方向上都不存在 caption,因此音频消息不会附带文本。联系人如需添加文字,需另外发送一条文本消息。
语音备忘录会在 WhatsApp 客户端中自动下载,并可为接收者转录。Bird 直接透传音频,不进行转录,因此联系人在自己的应用中看到的转录内容不属于你读取到的消息。
获取字节
将消息 ID 和媒体 id 传给频道的媒体方法。Hub 的获取入站媒体页面包含该调用的每种语言示例,以及其遵循的重定向和请求头规则。
mime_type 标明容器格式和编解码器,语音备忘录使用 Ogg 容器中的 Opus 编码,而附件通常是 MP3 或 AAC。应从字段读取类型,而非从 url 中的文件扩展名读取(该 URL 不带扩展名),并在将字节交给仅支持部分格式的转录服务之前检查类型。消息及其媒体在消息到达 30 天后一同过期;Hub 的获取入站媒体页面说明了该时间窗口以及过期后读取请求的返回内容。
Webhook 载荷
whatsapp.received 在事件信封上携带 audio 分支,包含 voice 标志:
代码示例
{
"type": "whatsapp.received",
"timestamp": "2026-08-25T09:07:32.451Z",
"data": {
"whatsapp_id": "wam_01kyb3q8ndvt6r2h5k9wxc4pfa",
"workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
"direction": "inbound",
"from": { "phone_number": "+14155550100" },
"to": { "phone_number": "+13124495569" },
"audio": {
"id": "waf_01kyb2m4xq7whs0d8n3prv6tez",
"url": "https://platform.bird.com/v1/whatsapp/messages/wam_01kyb3q8ndvt6r2h5k9wxc4pfa/media/waf_01kyb2m4xq7whs0d8n3prv6tez",
"mime_type": "audio/ogg; codecs=opus",
"voice": true
},
"tags": null,
"metadata": null
}
}自动响应语音备忘录的流程在此处读取 voice,无需先获取任何内容:一个需要转录录音但转发附件音乐文件的工单队列,仅凭该标志即可完成分支判断。
注意事项
- 将 voice 视为标记语音备忘录的标志。 其他任何值(包括字段缺失)均表示普通音频附件。
- 不会报告时长。 该分支不携带时长信息,如果队列需要时长,请在获取文件后从文件中读取。
后续步骤
- 接收消息的工作原理:入站信封、媒体获取以及 whatsapp.received webhook
- WhatsApp 音频消息:同一分支的发送端
- 接收视频:视频片段,带有音频分支所没有的字幕
- WhatsApp 事件:完整事件列表,通过 API 或 webhooks 获取