3 Stimmen

Übergabe von Variablen an ein Ereignis über den Befehl "twilio:gather_start" in KRL

Ich bearbeite eine KRL/Twilio-App, und ich habe ein Ereignis, das Eingaben vom Benutzer sammelt. Ist es möglich, eine Variable an das Ereignis zu übergeben, die "gather_start Brände"? Hier sind die Möglichkeiten, die ich bisher ausprobiert habe und die nicht funktionieren (in diesem Fall wird versucht, die Variable "color" als "red" zu übergeben):

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

Scheint wie persistent vars könnte am besten sein (setzen Sie etwas wie "ent:color" auf "rot"), aber es klingt wie Anwendung persistent vars sind noch nicht verfügbar? TIA.

3voto

TelegramSam Punkte 2730

Der richtige Weg dazu sind persistente Variablen. App-Variablen sind eine Möglichkeit, aber was Sie wahrscheinlich wollen, sind Entitätsvariablen. Kynetx Webhooks arbeiten mit dem Cookie Jar von Twilio, was zu einer Sitzung führt, die Entitätsvariablen in kynetx-Apps verwaltet.

Für jeden Anruf wird eine eigene Sitzung eingerichtet, so dass Sie sich keine Sorgen machen müssen, dass sich mehrere gleichzeitige Anrufe gegenseitig stören.

Persistente Variablen anwenden (verwenden Sie app:myvar anstelle von ent:myvar ) funktionieren, sind aber global für die Anwendung, so dass sie nur verwendet werden sollten, wenn die Variablen auf die Anwendung beschränkt sind.

Hier sind ein paar Regeln, die dies verdeutlichen:

 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();
  }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X