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

如何配置Twilio呼叫路由实现点击浏览器图标先呼销售手机再呼客户

Twilio 坐席先接后呼客户实现方案

核心逻辑说明

你需要的是Twilio经典的双呼(点击拨号)场景,全程走运营商语音线路,无需依赖浏览器的麦克风/耳机权限,坐席直接用自有手机接听即可完成外呼流程。

具体实现步骤

1. 前置资源准备

  • 注册Twilio账号并开通语音服务,申请至少1个支持外呼的Twilio号码,确保该号码具备你业务所需地区的语音呼出权限
  • 获取你的Twilio Account SID 和 Auth Token,这两个凭证仅可存储在你的CRM服务端,禁止暴露到前端代码中
  • 你的CRM服务端需要提供公开可访问的HTTPS接口,用于接收Twilio的Webhook回调,本地调试可借助内网穿透工具实现公网访问

2. 前端交互对接

在你的CRM前端页面给呼叫图标绑定点击事件,点击后将当前登录坐席的手机号、待拨打的客户手机号两个参数,发送到你自己的CRM后端接口,不要直接从前端调用Twilio公开接口,避免凭证泄露。

3. 服务端发起坐席侧呼叫

CRM后端收到前端的呼叫请求后,调用Twilio的Calls API发起第一通呼叫,主叫为你申请的Twilio号码,被叫为坐席手机号,同时指定回调地址参数。
以下是Node.js环境的示例代码:

const accountSid = '替换为你的Twilio Account SID';
const authToken = '替换为你的Twilio Auth Token';
const twilioClient = require('twilio')(accountSid, authToken);

twilioClient.calls
  .create({
    url: 'https://你的CRM服务域名/twilio/agent-connected?customerPhone=编码后的客户手机号',
    to: '坐席手机号(E.164格式,如+8613xxxxxxxxx)',
    from: '你的Twilio号码(E.164格式)'
  })
  .then(call => console.log('呼叫坐席任务创建成功,SID:', call.sid))
  .catch(err => console.error('呼叫创建失败:', err));

其中url参数为Twilio的回调地址,当坐席接通电话后,Twilio会主动请求该地址获取后续执行指令。

4. 坐席接通后自动呼叫客户

当坐席在手机上接听来电后,Twilio会向你上面配置的回调地址发送POST请求,你需要在该接口中返回TwiML格式的响应,告知Twilio接下来需要拨打客户手机号:
回调接口返回的TwiML示例:

<Response>
  <!-- 可以在这里加<Say>标签播放接通提示音,比如<Say>正在为您接通客户,请稍候</Say> -->
  <Dial callerId="你的Twilio号码" timeout="20" record="record-from-answer">
    <Number>客户手机号(E.164格式)</Number>
  </Dial>
</Response>

Twilio收到该响应后会自动发起对客户的呼叫,客户接通后双方即可正常通话,你也可以通过TwiML的配置扩展录音、等待音、通话状态同步等能力。

教程参考

Twilio官方文档中心有「Click to Call」场景的完整分步操作指引,覆盖Java、Python、PHP、Node.js等多种常用编程语言的示例代码,搜索对应关键词即可找到。

注意事项

  • 所有号码必须使用E.164格式填写,否则会出现呼叫失败的问题
  • 如面向国内用户提供服务,需提前确认Twilio号码的国内呼出权限、资费以及对应的合规要求
  • 可通过配置呼叫状态回调接口,将通话时长、接通状态、录音地址等数据同步回你的CRM系统,满足数据统计需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 12:09:03