twilio - 如何将处理从 Twilio 函数的调用传递回 Twilio Studio 流程?

标签 twilio twilio-functions twilio-studio

我正在尝试将工作室流程的某些部分迁移到 Twilio Functions,但不是全部,但似乎当我尝试重定向回工作室流程时,Twilio 因错误而终止400 或挂断电话。

我正在尝试以下代码:

exports.handler = function(context, event, callback) {
    let twiml = new Twilio.twiml.VoiceResponse();
    //twiml.doWhatINeed();
    twiml.redirect('https://webhooks.twilio.com/v1/Accounts/AC.../Flows/FW...?FlowEvent=success');
    callback(null, twiml);
};

我希望它能够在成功分支上继续工作室流程,但调用被挂断了。我还尝试过省略 FlowEvent,但效果并没有更好。

当我输入无效的 FlowEvent(例如 helicopter)时,我会收到错误 400。

你们知道我错过了什么吗?

最佳答案

在此处添加另一个答案,因为其他两个似乎不正确(不再?)。

为了在调用函数后返回事件流程,您必须使用 TwiML Redirect widget而不是 Run Function 小部件,并且在完成外部逻辑后重定向回 Studio 时,您必须将 ?FlowEvent=return 附加到流程 Webhook URL。有关详细信息,请参阅链接的文档页面。

在重定向之前,您可以根据需要进行任意多轮的 TwiML,因为 Studio 流程会挂起调用(以及该调用在流程中的位置)直到调用结束,即使它不再直接控制它.

要使用 TwiML Redirect 小部件而不是“运行函数”,您所需要做的就是手动获取函数 URL 并自行配置它,而不是让“运行函数”小部件为您生成它。您可以使用 Liquid 变量将参数作为 URI 参数编码在 URL 字符串中,然后使用 GET 方法而不是 POST 来将参数传递给函数。

关于twilio - 如何将处理从 Twilio 函数的调用传递回 Twilio Studio 流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55654437/

相关文章:

c# - 获取调用 SID 记录可以成功完成

ruby-on-rails - Twilio 错误,通过 SID 查找 SMS 时找不到资源

Twilio 入站短信到出站语音调用

twilio - 无法从 twilio 函数运行时客户端设置同步文档的 ttl

node.js - 如何在自动驾驶仪中添加监听或超时功能?

Twilio 发送消息 API 错误 21603

twilio - 无法从 Twilio Studio 创建任务

带有测试凭证的 Twilio 消息服务