Twilio developer evangelist здесь.
Нет способа сделать условный сбор потоков в Autopilot, так что logi c должен быть частью кода вашего приложения. Вы можете реализовать эту условную логику c с помощью Autopilot, используя Twilio Functions , наш инструмент для работы в среде без серверов для Node.js приложений.
Этот Node.js быстрый запуск содержит то, что вы ищете.
У вас может быть одна задача автопилота, которая перенаправляет на функцию, которая проверяет, что пользователь сказал. Эта задача Redirect может включать эту JSON:
{
"actions": [
{
"collect": {
"name": "pregnant_collect",
"questions": [
{
"question": "Are you pregnant?",
"name": "pregnant",
"type": "Twilio.YES_NO"
}
],
"on_complete": {
"redirect": {
"method": "POST",
"uri": "https://YOUR-TWILIO-FUNCTION.twil.io/Function_Name"
}
}
}
}
]
}
, а затем использовать условное выражение в функции Twilio, которое над задачей Task перенаправляет (выше, это https://YOUR-TWILIO-FUNCTION.twil.io/Function_Name), чтобы проверить, что сказал пользователь. Задача «Автопилот Twilio» может включать следующее: JSON:
exports.handler = function(context, event, callback) {
//Memory from the answered question
let memory = JSON.parse(event.Memory);
//array of "actions" objects
let actions = [];
//response item to return/add to responseObject in Actions
let responseItem;
//get answer from Memory
let pregnant_answer = Memory.twilio.collected_data.pregnant_collect.answers.pregnant.answer;
//Yes or No
if (pregnant_answer === "Yes") {
responseItem = {
"say": "WHATEVER YOU WANT TO SAY FOR YES"
};
actions.push(responseItem);
}
else {
responseItem = {
"say": "WHATEVER YOU WANT TO SAY FOR NO"
};
actions.push(responseItem);
}
responseItem = {
"redirect": {
"method": "POST",
"uri": "task://next_task"
}
};
actions.push(responseItem);
let responseObject = {
"actions": actions
};
callback(null, responseObject);
};
Дайте мне знать, если это поможет! <3 </p>