Twilio Studio Flow自定义渠道集成疑问:流启动后如何收发自定义渠道消息
Twilio Studio 自定义渠道集成操作说明
核心结论
自定义渠道完全支持与Twilio Studio Flow完成集成,触发流运行后的消息收发操作可按以下步骤实现:
1. 从Studio流向自定义渠道发送消息
- 首先在Studio Flow画布中添加Send & Wait For Reply部件,或使用Run Function部件自定义投递逻辑
- 首次调用REST API触发流运行时,通过
parameters字段传入自定义渠道的用户唯一标识、会话ID等自定义参数,参数会全程保存在流上下文中,可通过{{flow.data.自定义参数名}}格式直接调用 - 如需调用自定义渠道的发消息接口,可直接在Run Function部件中编写请求逻辑,参考示例如下:
exports.handler = function(context, event, callback) { // 提取流上下文中的自定义参数 const channelUserId = event.flow.data.custom_channel_user_id; const sendContent = event.flow.data.to_send_content; // 调用自有自定义渠道的发消息接口 fetch("你的自定义渠道发消息接口地址", { method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({ user_id: channelUserId, content: sendContent }) }) .then(res => callback(null, {send_success: true})) .catch(err => callback(err)); };
2. 获取自定义渠道用户回复并同步回Studio
- 首次触发流运行后,保存返回的
execution_sid(流执行实例唯一标识)与自定义渠道用户ID、会话ID的映射关系 - 当自定义渠道收到用户回复时,调用Twilio Studio Execution REST API,将回复内容同步到对应流实例中,curl调用示例如下:
curl -X POST https://studio.twilio.com/v2/Flows/替换为你的Flow_SID/Executions/替换为匹配到的Execution_SID/Steps \ --data-urlencode "To=替换为你的自定义渠道标识" \ --data-urlencode "From=替换为发消息的用户在自定义渠道的ID" \ --data-urlencode "Body=替换为用户实际回复的内容" \ -u 替换为你的Account_SID:替换为你的Auth_Token
注意:若当前流实例处于等待用户回复状态,传入的回复内容会自动匹配到对应的Send & Wait For Reply部件,触发流自动向下执行;若流未处于等待回复状态,可选择触发新的流实例处理用户消息。
内容的提问来源于stack exchange,提问作者Marcio Cabral
相关产品推荐
相关产品推荐

