You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Twilio Studio的WhatsApp消息设置实时详细状态回调?

问题:如何让Twilio Studio触发的WhatsApp消息向Webhook推送详细状态更新

我正在尝试设置一个Webhook回调,希望Twilio Studio在消息发送流程的每个阶段调用该回调,并将活动状态发送到我设置的Webhook。

我当前使用的Studio创建方法:

client.studio \
        .v2 \
        .flows(TwilioConstants.TWILIOFLOW_PROXY) \
        .executions \
        .create(
            to=f'whatsapp:{user_number}',
            from_=f'whatsapp:{TwilioConstants.BASENUMBER}',
            parameters={
                'name': data.customer.name,
                'user_email': data.customer.email}
        )

该create方法仅接受3个参数:

create(self, to, from_, parameters=values.unset):

但messages.create方法支持包括status_callback在内的多个参数。

我曾尝试在“WhatsApp Sender -> Status callback URL”中设置Webhook,但它似乎仅返回非常基础的数据,且仅在用户交互消息时触发(目前尚未测试消息超时或错误情况)。我希望Webhook能收到类似“Monitor -> Messaging -> Message Details”中的详细信息。

解决方法

  • 为Studio Flow中的每个Send Message组件单独配置状态回调
    进入你的Studio Flow编辑页面,找到每个发送WhatsApp消息的「Send Message」组件,在组件的配置面板中找到「Status Callback」选项,填入你的Webhook地址。这个配置会让该组件发出的每一条消息,在其生命周期的每个阶段(排队、发送、送达、已读、失败、未送达等)都向指定Webhook推送完整的状态数据,包含的字段和你在Twilio控制台「Monitor -> Messaging -> Message Details」里看到的完全一致,比如MessageSid、Status、ErrorCode、ErrorMessage等核心信息。

  • 全局状态回调增强(可选)
    若希望所有WhatsApp号码发送的消息都默认启用详细状态回调,可在Twilio控制台进入「Messaging > Senders > WhatsApp Senders」,选择对应的号码进入编辑页,设置「Status Callback URL」,同时在「Callback Events」中勾选所有状态事件(包括sent、delivered、read、failed、undelivered等)。注意,Studio组件的单独配置优先级高于全局设置,若组件已设置回调,会以组件配置为准。

  • 验证Webhook接收内容
    Twilio会以POST请求推送状态数据,你可以打印请求体来确认字段,关键数据字段包括:

    • MessageSid: 消息唯一标识
    • Status: 消息当前状态
    • ErrorCode: 错误状态对应的代码(仅失败/未送达时存在)
    • ErrorMessage: 错误详情(仅失败/未送达时存在)
    • From/To: 消息的收发号码
    • DateCreated/DateUpdated: 消息的创建和更新时间戳

内容的提问来源于stack exchange,提问作者dazfaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:05:16