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

如何用Twilio监听POST请求并触发多号码短信发送?

实现监控系统触发Twilio批量发短信方案指引

核心结论

Twilio本身不直接监听公网POST请求触发短信,但不用TwiML Bins(它仅用于处理语音/短信的Webhook响应,比如接电话、收短信时返回交互指令),你可以用Twilio Functions创建一个自定义HTTP端点,接收监控系统的POST请求后,批量调用短信API发送告警。

具体步骤

1. 创建Twilio Function端点

  • 登录Twilio控制台,进入「Functions & Assets」→「Functions」,新建一个空白模板的Function。
  • 基础配置:
    • 勾选「Enable ACCOUNT_SID and AUTH_TOKEN」(自动注入API凭证)
    • 将请求方法设置为POST(匹配你的监控系统请求方式)

2. 编写Function处理代码

替换默认代码为以下逻辑(可按需调整手机号列表、短信内容):

exports.handler = async function(context, event, callback) {
  // 从监控系统POST请求中提取告警内容(支持动态传参)
  const alertContent = event.alertMsg || "监控系统触发警报!";
  
  // 目标手机号列表(建议存环境变量,避免硬编码)
  const targetNumbers = ["+1234567890", "+0987654321"];
  
  const client = context.getTwilioClient();
  const sendResults = [];
  
  // 循环批量发送短信
  for (const number of targetNumbers) {
    try {
      const msg = await client.messages.create({
        body: alertContent,
        from: context.TWILIO_PHONE, // 你的Twilio号码,存环境变量
        to: number
      });
      sendResults.push(`发送成功至${number}: ${msg.sid}`);
    } catch (err) {
      sendResults.push(`发送失败至${number}: ${err.message}`);
    }
  }
  
  // 返回处理结果给监控系统
  callback(null, {
    status: "done",
    details: sendResults
  });
};

3. 配置环境变量

在Function的「Environment Variables」面板添加:

  • TWILIO_PHONE:你的Twilio已验证手机号或购买的号码(格式如+1xxxxxxxxxx)

4. 对接监控系统

  • 保存Function后,复制生成的公网URL(比如https://xxx-xxx-xxx.twil.io/alert-sms)
  • 在监控系统中配置告警触发规则:向该URL发送POST请求,可携带alertMsg参数传递自定义告警内容

补充说明

  • Twilio Functions是全托管服务,无需自行搭建服务器,适合快速落地需求
  • 若需超大规模批量发送,可改用Twilio的批量短信API优化性能,小场景用上述循环逻辑足够
  • 监控系统的POST请求如果是JSON格式,Twilio Functions会自动解析参数到event对象中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:25:09