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

如何在Twilio端触发API发送SMS的Webhook,无需传递参数同步CRM

实现Twilio API发送SMS自动触发Webhook(无需客户端传参)

针对软电话通过Twilio API发SMS无法注入参数、没法同步CRM的问题,不用依赖官方要求的随消息传参方案,直接用Twilio的服务器端能力就能解决,以下是两种可行方案:

方案一:用Twilio Functions做API代理拦截并注入参数

把软电话的API请求先转到自己的Twilio函数,在函数里自动补全Webhook和自定义参数,再转发给Twilio官方SMS API。

步骤1:创建Twilio函数

在Twilio控制台新建一个函数,粘贴以下代码:

exports.handler = async function(context, event, callback) {
  const twilioClient = context.getTwilioClient();
  
  // 提取软电话发来的原始短信参数
  const { To, From, Body } = event;
  
  // 自动注入Webhook和自定义参数
  const smsParams = {
    To,
    From,
    Body,
    // 直接指定CRM的状态回调地址
    StatusCallback: 'https://your-crm-sync-endpoint.com/sms-status',
    StatusCallbackMethod: 'POST',
    // 注入标识渠道的自定义参数,方便CRM识别
    Parameters: {
      messaging_channel: 'softphone'
    }
  };
  
  try {
    // 调用Twilio官方接口发消息
    const message = await twilioClient.messages.create(smsParams);
    // 把Twilio的响应返回给软电话,不影响原有流程
    callback(null, message);
  } catch (error) {
    callback(error);
  }
};

步骤2:配置函数权限

确保函数拥有messages:create的API权限,Twilio函数控制台会自动处理凭证,只要启用函数即可。

步骤3:修改软电话的API地址

把软电话里原来调用Twilio官方SMS API的地址,换成这个函数的部署URL(比如https://xxx.twil.io/send-sms),软电话无需做其他改动。

方案二:用全局事件Webhook捕获所有SMS事件

如果完全没法修改软电话的API配置,可以用Twilio的账户级全局Webhook监听所有短信发送事件,直接同步到CRM。

步骤1:配置全局事件Webhook

在Twilio控制台的"Settings > Webhooks & Events"里,添加message.sent事件的Webhook地址,指向你的Twilio函数。

步骤2:编写事件处理函数

新建Twilio函数处理事件:

exports.handler = async function(context, event, callback) {
  // 从Twilio的事件数据里提取短信详情
  const { MessageSid, From, To, Body, Status } = event;
  
  // 调用CRM同步接口
  const syncResult = await fetch('https://your-crm-sync-endpoint.com/sync-sms', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      message_id: MessageSid,
      sender: From,
      receiver: To,
      content: Body,
      status: Status,
      messaging_channel: 'softphone'
    })
  });
  
  callback(null, syncResult.ok ? { status: 'sync_success' } : { status: 'sync_failed' });
};

注意事项

如果用全局事件方案,需要过滤掉非软电话发送的短信(比如通过控制台或其他应用发的),可以通过From号码前缀、事件里的Source字段来区分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 17:48:09