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

Twilio外发短信前置验证:识别VoIP号码,拦截发送并反馈用户

实现Twilio外发短信前验证VoIP号码并拦截发送

1. 创建Twilio Functions验证服务

通过Twilio Functions搭建号码类型验证服务,借助Twilio Lookup API识别接收方号码是否为VoIP类型。

函数代码示例

exports.handler = async function(context, event, callback) {
  const twilioClient = context.getTwilioClient();
  const phoneNumber = event.to; // 接收方号码需带国际国家码,格式如+1234567890

  try {
    const lookupResult = await twilioClient.lookups.v2.phoneNumbers(phoneNumber).fetch({
      fields: 'line_type_intelligence'
    });

    const lineType = lookupResult.lineTypeIntelligence.type;
    const isVoIP = lineType === 'voip';

    callback(null, {
      is_voip: isVoIP,
      line_type: lineType
    });
  } catch (error) {
    console.error('号码识别失败:', error);
    callback(error);
  }
};

注意:需在Twilio Functions控制台配置好TWILIO_ACCOUNT_SID和TWILIO_AUTH_TOKEN环境变量,并确保账户已启用Lookup API权限。

2. 用Studio Flow编排发送逻辑

通过Twilio Studio构建完整的发送决策流程,先验证号码类型,再执行对应操作:

  • 添加Trigger节点,选择「Messaging」作为触发方式(或根据需求选API触发)
  • 添加Run Function节点,关联上述验证函数,传入接收方号码参数(如{{trigger.message.To}})
  • 添加**Split Based On...**节点,判断函数返回的is_voip值:
    • 若为true:添加Send Message节点,向发送方反馈「无法向VoIP号码发送短信」,结束流程
    • 若为false:添加Send Message节点,发送目标短信内容,完成流程

3. 配置发送入口

  • 若通过API触发发送:直接调用Studio Flow的API,传入接收方号码参数
  • 若通过Twilio号码触发:将该号码的Messaging Webhook指向Studio Flow的Webhook地址

关键注意事项

  • 接收方号码必须带国际国家码,否则Lookup API无法正确识别类型
  • Lookup API会产生少量调用费用,需确保账户余额充足
  • 反馈消息可定向至触发发送的号码(如{{trigger.message.From}})或指定通知号码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 15:42:32