使用SIP中继的Twilio号码如何添加通话日志等额外处理?
以下是几个可行的替代方案,解决你无法通过常规Webhook捕获通话记录的问题:
配置SIP中继的通话状态回调
这是最直接的解决办法。在Twilio控制台的SIP中继配置页,找到「Call Status Callback」字段,填入你的CRM接口地址,设置请求方法(推荐POST)和参数格式(JSON)。当通话挂断(状态变为completed)时,Twilio会自动向该URL发送包含通话详情的请求,你只需要让CRM接口处理这些参数即可完成同步。利用Twilio Event Streams实时接收通话结束事件
通过Twilio Event Streams服务订阅call.completed事件:在控制台创建事件流,选择「Call」资源对应的结束事件,将你的Webhook设为接收端点。通话结束时,Twilio会实时推送通话记录数据到你的接口,无需主动查询,适合实时同步需求。定时轮询Twilio Calls API拉取记录
如果前两种方式无法配置,可以编写定时任务调用Twilio Calls API:GET /2010-04-01/Accounts/{AccountSid}/Calls.json,通过Status=completed和DateCreated参数过滤出最近结束的通话,再同步到CRM。可以用Twilio Functions实现定时任务,或者用自己的后端服务定期执行查询。
注意:所有接收Twilio请求的接口都需要验证请求签名,避免伪造请求。可以用Twilio官方提供的签名验证逻辑校验X-Twilio-Signature请求头。
内容的提问来源于stack exchange,提问作者Pemberton Heath

