У меня есть значения Json, которые я хотел бы отправить в TwiML Redirect виджет.Json исходит из HTTP-запроса.Я вижу, что помимо методов Get и Post, есть еще один метод для Liquid Variable Input , может ли это быть моим решением?Если это так, как это работает?Мне не повезло, установив этот параметр.
Мой Json from (GetAccountsByPhoneNumber):
{"Accounts": [
{"AccountNumber": "9999999998", "HouseNumber": "3207", "StreetName": "Stokesberry ln"},
{"AccountNumber": "9999999997", "HouseNumber": "1204", "StreetName": "S Hardneir Rd"},
{"AccountNumber": "9999999996", "HouseNumber": "533", "StreetName": "Park Street"},
{"AccountNumber": "9999999995", "HouseNumber": "926", "StreetName": "S CO RD 67"}
]}
Функция Twiml предлагает выбрать учетную запись, о которой они звонят.
exports.handler = function(context, event, callback) {
const twiml = new Twilio.twiml.VoiceResponse();
//This is Where I need to get Access to my JSON Object,
//it works with Function, but does not return to studio flow.
var responseMany = JSON.parse(event.IncomingJson);
var gather = twiml.gather({
input: 'dtmf speech',
timeout: 5,
hints: '1,2,3,4,5,9',
numDigits: 1
});
gather.say("If you are calling about ");
gather.say({voice: 'Polly.Joanna'}).ssmlSayAs({'interpret-as': 'address'}, responseMany.Accounts[0].HouseNumber + " " + responseMany.Accounts[0].StreetName);
gather.say("Press or say one.");
gather.say("If you are calling about ");
gather.say({voice: 'Polly.Joanna'}).ssmlSayAs({'interpret-as': 'address'}, responseMany.Accounts[1].HouseNumber + " " + responseMany.Accounts[1].StreetName);
gather.say("Press or say two.");
if(responseMany.Accounts.length >= 3){
gather.say("If you are calling about ");
gather.say({voice: 'Polly.Joanna'}).ssmlSayAs({'interpret-as': 'address'}, responseMany.Accounts[2].HouseNumber + " " + responseMany.Accounts[2].StreetName);
gather.say("Press or say three.");
}
if(responseMany.Accounts.length >= 4){
gather.say("If you are calling about ");
gather.say({voice: 'Polly.Joanna'}).ssmlSayAs({'interpret-as': 'address'}, responseMany.Accounts[3].HouseNumber + " " + responseMany.Accounts[3].StreetName);
gather.say("Press or say four.");
}
twiml.redirect("https://webhooks.twilio.com/v1/Accounts/.../Flows/...?FlowEvent=return")
callback(null, twiml);
};
Как функция, он падает на twiml.redirect и никогда не возвращается в поток.