如何在Dialogflow中通过Twilio实现向用户发送带工单编号的短信
前置准备
- 完成Twilio账号基础配置:注册后获取
Account SID、Auth Token、Twilio官方分配的可发送短信的号码,提前确认该号码支持你目标用户所属地区的短信发送权限 - 确保Dialogflow智能体内已经配置好手机号收集的对应意图,手机号参数可命名为
user_phone,确认可以正常提取用户输入的合规手机号
核心实现步骤
1. 自定义随机工单编号生成规则
你可以根据业务需求调整工单格式,以下是简单的8位字母+数字组合的生成示例(Node.js环境为例):
// 生成8位随机工单编号 function generateTicketId() { return Math.random().toString(36).substring(2, 10).toUpperCase(); }
如果有需要可以自行添加工单前缀、日期标识等字段。
2. 配置Dialogflow Fulfillment回调
你需要自行部署一个后端服务承接Dialogflow的触发请求,配置逻辑如下:
- 打开Dialogflow对应智能体的「Fulfillment」设置页,开启Webhook功能,填入你部署的后端服务接口地址
- 找到用户完成服务请求提交的对应意图,开启该意图的「Fulfillment调用」开关,确保意图触发时会把用户提交的所有参数(包括
user_phone)发送到你的后端接口
3. 后端调用Twilio接口发送短信
后端接收到Dialogflow的回调请求后,按以下逻辑处理:
- 从请求参数中提取用户提交的手机号
user_phone,按照Twilio的规则调整号码格式,需要补充对应国家码,比如中国手机号前缀加+86 - 调用工单生成函数得到随机工单编号,拼接短信内容,示例内容:
【XX服务台】您提交的服务请求已受理,工单编号:XXXXXX,后续进度会同步通知您 - 引入Twilio官方SDK调用短信发送接口,Node.js环境示例代码如下:
const twilio = require('twilio'); const client = twilio('你的Twilio Account SID', '你的Twilio Auth Token'); client.messages .create({ body: 拼接完成的短信内容, from: '你的Twilio发送号码', to: 补充了国家码的用户手机号 }) .then(message => console.log(message.sid));
- 短信发送成功后,给Dialogflow返回响应内容,即预设的话术:
您将在所填写的手机号上收到携带工单编号的短信,Dialogflow会自动将这段内容返回给前端用户
4. 测试验证
- 走完整对话流程提交测试手机号,确认可以正常收到带工单编号的短信
- 可自行添加异常兜底逻辑:如果短信发送失败,给用户返回
短信发送失败,请检查你输入的手机号是否正确,或稍后再尝试提交
内容的提问来源于stack exchange,提问作者Aviral
相关产品推荐
相关产品推荐

