3

KRL / Twilioアプリを編集していて、ユーザーからの入力を収集するイベントがあります。「gather_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」に設定)、アプリケーションの永続変数はまだ利用できないようです。TIA。

4

1 に答える 1

3

これを行う正しい方法は、永続変数です。アプリ変数は 1 つのオプションですが、おそらく必要なのはエンティティ変数です。Kynetx Webhook は Twilio の Cookie jar と連携して、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();
  }
于 2010-12-08T00:19:59.217 に答える