如何在Twilio Autopilot中创建可自定义的Collect?
Twilio Autopilot 动态可自定义Collect实现方法
完全可以实现你要的效果,核心思路是将Collect配置的生成逻辑从Twilio Autopilot控制台迁移到自有后端,通过Autopilot的动作重定向能力动态拉取配置,后续修改Collect问题只需要调整后端配置即可,无需改动Autopilot侧的任务设置。
具体实现步骤如下:
- 首先修改Autopilot控制台中对应任务的初始动作,不要硬编码固定的Collect结构,只需要配置一个重定向动作,指向你自有后端的配置生成接口,示例初始动作配置:
{ "actions": [ {"redirect": "https://你的自有后端服务地址/api/generate-collect"} ] }
- 在自有后端维护Collect的全量配置:你可以把Collect包含的问题列表、提问话术、字段校验规则、收集完成后的跳转逻辑都存在后端的配置文件或者数据库中,后续需要新增、删除、修改Collect内的问题,只需要调整这部分后端配置即可,完全不需要登录Twilio控制台改动任务内容。
- 后端接口处理逻辑:当用户触发对应Autopilot任务时,Autopilot会自动向后端的配置生成接口发送请求,请求中会携带当前会话ID、用户历史回答、用户属性等上下文信息。你可以在后端根据业务逻辑、自己维护的Collect配置,动态拼接出符合Twilio Collect规范的JSON结构返回给Autopilot即可。
后端返回的动态Collect结构示例:
{ "actions": [ { "collect": { "name": "dynamic_form", "questions": [ // 该数组完全由后端根据本地配置动态拼接生成,新增问题只需在后端配置中增加对应项 { "question": "请问您的常用收货地址是哪里?", "name": "address", "type": "Twilio.REGION" }, { "question": "请问您方便接电话的时间段是?", "name": "contact_time", "type": "Twilio.ALPHANUMERIC" } ], "on_complete": { "redirect": "https://你的自有后端服务地址/api/handle-collect-result" } } } ] }
补充说明:这套动态生成逻辑支持所有Collect原生能力,包括条件问题展示(比如根据用户之前的回答判断是否需要展示某个问题,直接在后端生成配置时做逻辑过滤即可)、多轮嵌套Collect(在收集完成的回调接口中再次返回新的Collect配置即可实现长问卷分步收集),没有功能限制。
内容的提问来源于stack exchange,提问作者Sanidh
相关产品推荐
相关产品推荐

