【问题标题】:How do I get a Twilio function to continue a call and return gather information如何获得 Twilio 函数以继续通话并返回收集信息
【发布时间】:2021-01-27 15:26:37
【问题描述】:

我有一个工作室流程,我正在尝试处理多种不同的语言。我有一个小部件可以启动调用,然后将其传递给我的函数。但是,在拨打电话并转到该功能后,通话会立即结束。我做错了什么吗?据我了解,我可以将调用发送到一个函数以继续它。我的功能有问题吗?下面看我的函数代码。


exports.handler = function(context, event, callback) {
    let twiml = new Twilio.twiml.VoiceResponse();
  const gatherOptions = { Numdigit:"1", Timeout:"5"};
  let sayOptions = { Voice:"Alice", Language: event.Language };

  if(!event.Retries){
    event.Retries = 0;
  }
  console.log(event.Language);
  console.log(event.Body);
  if (event.Digits) {
    if(event.Digits === '9' && event.Retries < 3) {
      event.Retries += 1;
      twiml.gather(gatherOptions).say(sayOptions, event.Body);
    } else if(event.Digits === '3' || event.Digits === '5'){
      return callback(null, twiml);
    }else {
      twiml.say("sorry, I didnt get that.");
      event.Digits = '9';
    }
  } else {
    twiml.gather(gatherOptions).say(sayOptions, event.Body);
  }
  callback(null, twiml);
};

【问题讨论】:

  • 嗨 Nemean,欢迎来到 SO!执行此操作时Twilio Debugger 中是否有任何错误消息?你想用这个函数做什么?
  • 有一些错误(在选项中),我已经清除它们并开始获得一些声音。现在我正试图取回响应。我正在尝试使用能够执行以下操作的功能: 1. 仅使用 1 个小部件允许多种语言 2. 收集响应并将其发送回我的工作室流程。 (9 次重复消息,3 或 5 次被接受,其他都是重复)

标签: twilio twilio-functions


【解决方案1】:

在您的 Twilio 函数代码之外,无论何时您跳出 Studio 并返回 TwiML,然后想要返回 Studio 流程,您都必须使用 TwiML Redirect Widget(您可以使用它来调用 Twilio 函数)。

您的gatherOptions 键应为camelCase(即numDigits,超时)。

这对于跨函数传递状态可能很有用。

How to Share Information Between Your Applications

【讨论】:

  • 谢谢!我会看看我能用那个小部件做什么,然后检查第二个链接!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多