当前位置: 首页 > 知识库问答 >
问题:

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

钱志
2023-03-14

我试图将studio流的某些部分迁移到Twilio函数,但不是全部,但似乎当我试图重定向回studio流时,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(如celopel)时,我会得到错误400。

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

共有1个答案

康鹏云
2023-03-14

在这里添加另一个答案,因为另外两个似乎不正确(再也不正确了?)。

为了在调用函数后返回活动流,必须使用TwiML重定向小部件而不是Run function小部件,并且在完成外部逻辑后重定向回Studio时,必须将?flowevent=return追加到流webhook URL。有关更多信息,请参见链接文档页。

在重定向之前,您可以有任意多轮的TwiML,因为Studio流会一直挂起调用(该调用在流中的位置)直到调用结束,即使它不再直接控制它。

使用TwiML重定向小部件而不是运行函数所需要做的就是手动获取函数URL并自己配置它,而不是让运行函数小部件为您生成它。通过使用液体变量将参数作为URI参数编码到URL字符串中,然后使用GET方法而不是POST方法,可以将参数传递给函数。

 类似资料:
  • 问题内容: 我在工具栏中有大约10个QAction(此数字在运行时会有所不同),它们都会做相同的事情,但是使用不同的参数。我正在考虑将参数作为属性添加到QAction对象,然后,QAction的触发信号还将对象本身发送给回调函数,以便我可以获取该函数所需的参数。我实际上对此有2个问题: 能做到吗 有更好的方法吗? 问题答案: 您可以使用信号映射器发送动作对象本身。但是,最好仅发送一个标识符并在信号

  • 问题内容: 我试图将回调函数从控制器传递给指令。 这是回调函数代码: 指令用法: 指令代码: 模板中的回调用法: 但是,这给了我以下错误: 我看过很多类似的问题,但不明白我在哪里错了。 问题答案: 从指令中调用表达式方法时,您需要以格式传递指令中的参数,还应更正指令属性值以像 指令用法: 指令模板

  • 问题内容: 我正在尝试将一些参数传递给用作回调的函数,该怎么做? 问题答案: 如果您想要更一般的东西,可以使用arguments变量,如下所示: 但是否则,您的示例可以正常工作(可以在测试器中使用arguments [0]代替回调)

  • 问题内容: 我有一些如下的JavaScript代码: 我收到未定义的错误,在使用该功能之前,一切都在工作。 我希望一段时间后调用我的函数。我该怎么办? 问题答案: setTimeout(function() { postinsql(topicId); }, 4000) 您需要将匿名函数作为参数而不是字符串作为参数,后一种方法甚至不符合ECMAScript规范,但浏览器比较宽松。这是正确的解决方案,

  • 我正在尝试设置一个“事件接收器”类,将GLFW回调封装到用户可以从中继承的类中,但在将基类成员函数传递到GLFW“set callback”函数中时遇到问题。 这本质上提供了一个带有纯虚拟函数的基类,供用户继承和重写,以便在事件发生时提供自己的逻辑。用户定义的子类将被传递到更大的“应用程序框架”类中,该类将进行必要的调用以设置GLFW回调函数。 当然,您不能将成员函数作为函数参数传递,因为您必须提

  • 问题内容: 我是ajax和回调函数的新手,如果我弄错了所有概念,请原谅我。 问题: 我可以将 回调 函数作为参数发送给将执行该回调的另一个函数吗? 问题答案: 对。函数引用与任何其他对象引用一样,您可以将它们传递到您的内心。 这是一个更具体的示例: 您还可以传递以下参数: