【问题标题】:How to fix "Invalid Autopilot Actions JSON: Invalid Autopilot Action"如何修复“无效的自动驾驶仪操作 JSON:无效的自动驾驶仪操作”
【发布时间】:2019-10-23 10:54:33
【问题描述】:

我正在尝试使用 Twilio 自动驾驶仪,它在收集一些单词后触发 twilio 功能,我需要程序来播放数字或“DTMF 音”

我在 Twilio Function as 中用 javascript 编写了代码

exports.handler = function(context, event, callback) {

const VoiceResponse = require('twilio').twiml.VoiceResponse;
const response = new VoiceResponse();
response.play({
    digits: '3'
});


console.log(response.toString());
  callback(null, response);
};

在此代码中,Twilio 函数会生成 XML (TwiML) 文件,但如果由自动驾驶仪触发,则会显示以下错误

无效的自动驾驶操作 JSON:无效的自动驾驶操作 可能的原因 Actions JSON 不符合 Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json)

可能的解决方案 针对 Actions Schema (https://carnelian-neanderthal-8008.twil.io/assets/ActionsSchema.json) 测试您的 JSON 响应

由于这个错误,我猜自动驾驶仪只需要 .json 即可执行。 我是否应该尝试其他方法。

有什么建议吗?

【问题讨论】:

    标签: json twilio dtmf twilio-functions twilio-programmable-voice


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    Autopilot 旨在接收人类的输入并以文本或语音对其做出响应,因此它无法处理播放 DTMF 音调。

    Autopilot 也不响应TwiML,而是响应JSON encoded actions

    您可以考虑使用<Gather> with input="speech" 收听消息,然后使用digits 回复<Play>。但这将在 Autopilot 之外。您可以使用 TwiML 播放 DTMF 音,直到您想通过回复 <Autopilot> element 将其传递给 Autopilot 助手。

    让我知道这是否有帮助。

    【讨论】:

    • 非常感谢@philnash,我使用python制作了一个示例代码,但我正在弄清楚如何检测IVR完成它的句子并等待用户在时间窗口中输入 Gather(input=' Speech', hint="press one", action="/completed") 触发动作以按下 1 'dtmf 音调' 我真的很抱歉,但我只知道一点点烧瓶。
    • 看起来可以了,你还有问题吗?
    • 是的,请问如何检测 IVR 完成它的句子并等待 Gather 中的输入?
    • Gather 有 timeoutspeechTimeout attributes,您可以使用它们告诉它在用户发言后等待多长时间才能转到 action URL。您可以将该时间设置为以秒为单位,或者将speechTimout 设置为“自动”,这将在呼叫者完成讲话后立即尝试将结果发送到action
    • 真的很抱歉迟到了,用gather设置spechTimeout和动作动词真的对我有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多