Правильный способ сделать это - постоянные переменные.Переменные приложения - один из вариантов, но вам, вероятно, нужны переменные сущности.Kynetx Webhooks работают с cookie-файлом Twilio, что приводит к сеансу, в котором хранятся переменные сущностей в приложениях kynetx.
Каждый телефонный звонок получает собственный сеанс, поэтому вам не нужно беспокоиться о нескольких одновременных вызовахдруг с другом.
Постоянные переменные приложения (используйте app:myvar
вместо ent:myvar
) будут работать, но являются глобальными для приложения, поэтому их следует использовать только тогда, когда переменные находятся в приложении.
Вот несколько правил, демонстрирующих это:
rule firstquestion {
select when twilio firstquestion
{
twilio:gather_start("firstanswer");
twilio:say("Question One");
twilio:gather_stop();
}
}
rule firstanswer {
select when twilio firstanswer
pre {
firstchoice = event:param("Digits");
}
{
twilio:gather_start("secondanswer");
twilio:say("Question Two");
twilio:gather_stop();
}
fired {
set ent:firstchoice firstchoice;
}
}
rule secondanswer {
select when twilio secondanswer
pre {
firstchoice = ent:firstchoice;
secondchoice = event:param("Digits");
}
noop();
}