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

如何在Twilio Voice Intelligence的Webhook响应中携带会议码?

问题背景与需求

我正在使用Twilio Studio结合Voice Intelligence功能,流程为用户拨打指定号码,输入会议码(用于追踪)后开始录制会议。Twilio会在录制完成后自动完成转录与总结,完成后向Webhook发送响应。目前的问题是,希望Webhook响应中包含用户输入的会议码。

当前收到的POST请求内容:

{
  "account_sid": "AC803xxxxxxxx",
  "service_sid": "GAexxxxxxxxxx",
  "transcript_sid": "GTbxxxxxxxxxxxxx",
  "customer_key": "",
  "event_type": "voice_intelligence_transcript_available"
}

期望的响应格式:

{
    "account_sid": "AC803xxxxxxxx",
    "service_sid": "GAexxxxxxxxxx",
    "transcript_sid": "GTbxxxxxxxxxxxxx",
    "customer_key": "",
    "event_type": "voice_intelligence_transcript_available",
    "meeting_code": "123456" 
}

或者将meeting_code作为查询参数传递也可。

问题解答

1. Twilio Studio能否直接实现?

不能。Twilio Studio没有提供直接将自定义数据(比如用户输入的会议码)附加到Voice Intelligence系统级回调响应中的配置项,必须通过自定义逻辑实现。

2. 你尝试的Function代码是否可行?

可行,但需要注意几个细节:

  • 确保event.meeting_code能正确获取值:在Studio流程中,必须通过「Gather」小部件收集用户输入的会议码,然后将该值作为参数传递给Function小部件,这样Function才能从event对象中读取到meeting_code。
  • 处理URL编码问题:如果会议码包含特殊字符,需要用encodeURIComponent()对其进行编码,避免URL解析错误,修改后的transcribeCallback代码如下:
    transcribeCallback: `https://api.mywebsite/dev/notification/callback?meeting_code=${encodeURIComponent(event.meeting_code)}`
    
  • 确认回调触发逻辑:如果你的流程是通过<Record>指令开启录制并关联Voice Intelligence,那么这个transcribeCallback会被触发,你的Webhook会收到带meeting_code查询参数的请求。

3. 针对Voice Intelligence原生事件回调的替代方案

如果依赖Voice Intelligence的voice_intelligence_transcript_available原生事件回调,可采用以下步骤:

  • 在Studio收集到会议码后,调用Twilio Function将会议码与当前通话的CallSid关联存储(可使用Twilio Sync,或直接将会议码存入Call资源的CustomParameters字段)。
  • 当收到Voice Intelligence的Webhook时,通过transcript_sid查询关联的Call资源,取出存储的会议码,再在你的Webhook服务中补充该字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 18:55:08