Как заставить функцию Twilio продолжить вызов и вернуть информацию о сборе

У меня есть студийный поток, который я пытаюсь обрабатывать на нескольких разных языках. У меня есть виджет, который запускает вызов, а затем передает его моей функции. Однако после выполнения вызова и перехода к функции вызов мгновенно завершается. Я что-то делаю неправильно? Насколько я понимаю, я могу отправить вызов функции, чтобы продолжить ее. Что-то не так с моей функцией? См. Мой код функции ниже.


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);
};


person Nemean    schedule 27.01.2021    source источник
comment
Привет, Nemean, добро пожаловать в SO! Есть ли сообщения об ошибках в Twilio Debugger при выполнении этого? Что вы пытаетесь сделать с этой функцией?   -  person yvesonline    schedule 27.01.2021
comment
Было несколько ошибок (в опциях), я их исправил и начал слышать. сейчас пытаюсь получить ответ. Я пытаюсь использовать функцию, чтобы иметь возможность делать следующее: 1. Разрешить использование нескольких языков только с одним виджетом 2. Собирать и отправлять ответы обратно в поток моей студии. (9 повторений сообщения, 3 или 5 принятых ответов, все остальное повторяется)   -  person Nemean    schedule 27.01.2021


Ответы (1)


Вне кода функции Twilio каждый раз, когда вы выходите из Studio и возвращаете TwiML, а затем хотите вернуться в поток Studio, вы должны использовать Виджет перенаправления TwiML (который можно использовать для вызова функции Twilio).

Ваши ключи gatherOptions должны быть camelCase (т.е. numDigits, тайм-аут).

Это может быть полезно для переноса состояния между функциями.

Как обмениваться информацией между вашими приложениями

person Alan    schedule 27.01.2021
comment
Спасибо! Я посмотрю, что я могу сделать с этим виджетом, и посмотрю по второй ссылке! - person Nemean; 27.01.2021