如何在Twilio Autopilot中获取提问用户的WhatsApp号码
Twilio Autopilot 获取WhatsApp发送方号码实现方法
Twilio Autopilot 接收WhatsApp渠道请求时,会自动把请求上下文注入内置对象,不需要额外做webhook配置就能拿到用户号码,两种常用取法如下:
- 在Autopilot任务配置中直接取值透传
Autopilot 会把WhatsApp发送方号码存在内置的twilio.whatsapp.from字段(旧版Autopilot配置对应字段为Channel.From),用双大括号模板语法就能直接引用,配置跳转到Twilio Function时直接作为参数传递即可,示例配置:
该字段返回值为标准E.164格式带渠道前缀,例如{ "actions": [ { "redirect": { "uri": "你的Twilio Function部署地址", "params": { "user_whatsapp": "{{twilio.whatsapp.from}}" } } } ] }whatsapp:+86138xxxxxxxx,如果需要纯手机号字符串,直接替换掉前缀whatsapp:即可。 - 在Twilio Function侧直接读取(推荐,无需手动传参)
只要你的Autopilot任务是通过redirect动作跳转到Twilio Function,Function收到的请求体里会自动携带原始渠道参数,不需要在Autopilot侧手动配置参数传递,直接在Function代码中读取event.From就能拿到用户WhatsApp号码,示例代码:exports.handler = async function(context, event, callback) { // 直接读取用户WhatsApp身份 const rawUserWhatsapp = event.From; // 提取纯手机号 const purePhoneNumber = rawUserWhatsapp.replace('whatsapp:', ''); // 后续写调用自有API、写入数据库的逻辑即可 return callback(null, { // 这里返回Autopilot需要的响应动作即可 }); };
注意:不要依赖手动传参传递用户号码,Twilio内置注入的字段是经过平台校验的可信来源,手动传参存在被伪造篡改的风险。
内容的提问来源于stack exchange,提问作者Gaurav Narkar
相关产品推荐
相关产品推荐

