Передача переменных в событие из команды twilio: collect_start в KRL - PullRequest
3 голосов
/ 08 декабря 2010

Я редактирую приложение KRL / Twilio, и у меня есть событие, которое собирает информацию от пользователя.Можно ли передать переменную в событие, которое "collect_start " срабатывает?Вот способы, которые я до сих пор пробовал, которые не работают (в данном случае он пытается передать переменную «color» как «red»):

twilio:gather_start("choice") with action="choice?color=red" and numDigits = "1" and timeout = "5" and color = "red" and parameters = {"color":"red"};

Похоже, что постоянные переменные могут быть лучшими(установите что-то вроде «ent: color» на «red»), но похоже, что постоянные переменные приложения еще не доступны?ТИА.

1 Ответ

3 голосов
/ 08 декабря 2010

Правильный способ сделать это - постоянные переменные.Переменные приложения - один из вариантов, но вам, вероятно, нужны переменные сущности.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();
  }
...