Это на самом деле довольно просто сделать.
Как уже упоминалось @lizziepika, вы должны использовать функции.
Во-первых, скажем, вы хотите собрать данные из вопроса примерно так: Пример ЗАДАЧ
{
"actions": [
{
"collect": {
"name": "contact",
"questions": [
{
"question": "Are you a human?",
"name": "contact_human",
"type": "Twilio.YES_NO"
}
],
"on_complete": {
"redirect": {
"method": "POST",
"uri": "https://Your_Twilio_Function_Domain.twil.io/Function_Name"
}
}
}
}
]
}
По завершении автопилот перенаправит на функцию Twilio.
Здесь можно найти отличный пример функции Twilio для автопилота. https://github.com/twilio/autopilot-templates/blob/master/Functions/simple_response.js
Я настроил это для нашего примера.
exports.handler = function(context, event, callback) {
//we get the Memory from the answered questions.
let memory = JSON.parse(event.Memory);
//set up an array of object "actions" for the autopilot to continue.
let actions = [];
let responseItem;
//get the answer from Memory
let human = Memory.twilio.collected_data.contact.answers.contact_human.answer; //Yes or No
if(human === "Yes"){
responseItem = {
"say": "ANSWER YES - You are human"
};
actions.push(responseItem);
}else{
responseItem = {
"say": "ANSWER No - You are NOT human"
};
actions.push(responseItem);
}
responseItem = {
"redirect": {
"method": "POST",
"uri": "task://next_task"
}
};
actions.push(responseItem);
let respObj = {
"actions": actions
};
callback(null, respObj);
};
Прелесть этого в том, что вы можете заставить функцию отвечать всем, что будет присутствовать в задании. Вы можете заставить функцию отвечать вопросами, действиями, перенаправлениями и т. Д. c, если полезная нагрузка имеет ту же форму, что и задачи автопилота.