Webフックノードを使ってメッセージを購読したり、Webフック イベントを使ってリアルタイムのイベントからリアルタイムのデータを取得してユーザーに表示したりすることができます。Webフックノードを使用して、サーバーサイドの検証、ビジネスロジックの実行、バックエンドサーバーのAPIコールを行うことができます。また、Kore.ai SDKツールのBotKitを利用してイベントハンドラを追加したり、Webフックノードとスクリプトノードを接続してレスポンスを処理することで、必要に応じてメッセージやWebフックイベントを制御することができます。
はじめに:アプリの作成と登録
あなたのダイアログタスクにWebフックイベントへのアクセスとWebフックノードの使用には、ボットの設定のタブにアプリを購読して設定する必要があります。詳細については、 SDKの設定 を参照してください。
- サイドナビゲーションパネルにカーソルを合わせ、アプリとエージェントをクリックします。
- アプリとエージェントウィンドウで エージェント転送のタブをクリックします。
- アプリ名のドロップダウンリストから、既存のアプリを選択するか、アプリの作成をクリックします。
- クライアントアプリの作成ダイアログで、アプリの 名前を入力し、次へをクリックします。
- クライアントIDとクライアントシークレットが表示されます。完了をクリックします。
- コールバックURLフィールドに、ライブエージェントアプリケーションからのURLを入力します。
- 保存をクリックします。「正常に購読されました」 というメッセージが表示されます。
注意:作成した登録アプリは、ボットのすべてのタスクに適用されるコールバックURLに基づいています。各タスクは固有の SDK 構成を持つことができますが、コールバック URLは同じものになります。ライブエージェント転送のための別のアプリケーション コールバックURLには、別のボットを作成してください。
Webフックノードの設定
ダイアログタスクにWebフックノードを設定するには、次のステップを実行します。
ステップ1:ダイアログタスクにWebフックノードを追加する
- Webフックノードを追加するダイアログタスクを開きます。
- Webフックノードを追加したいノードの隣にカーソルを合わせ、その上のプラスアイコンをクリックします。
- ノードの後に表示されるプラスアイコンをクリックし、インテント > 新規Webフックノードを選択します。エンティティのコンポーネントプロパティウィンドウが開きます。
- ノードの名前を入力します。
- その他の設定は、エージェント転送 SDK の構成に基づいて自動入力されます。設定を変更するには、アプリとエージェントにアクセスしてください。
- タイムアウトは、1分間から10分間の範囲から選択して設定できます。デフォルトでは、4分に設定されています。
- 変数名前空間]セクション(ver8.0で導入)で、このノードとその遷移の実行に使用される変数名前空間を関連付けます。このオプションは、ボットで変数名前空間が有効になっている場合にのみ表示されます。タスクレベルの設定を使用するか、このノード用にカスタマイズできます。詳細については、「名前空間の管理」を参照してください。
ステップ2:接続 (または遷移) プロパティを設定する
ノードの接続ペインにIf-Elseの演算子を追加して、次に実行するダイアログテキストのノードを決定することができます。条件文は、ダイアログタスク内のエンティティやコンテキストオブジェクトの値に基づいて記述することができ、また遷移を使用することもできます。
コンポーネント遷移の設定には、次のステップを実行します。
- ノードにカーソルを合わせてアイコンをクリックすると、接続ペインが開きます。
- 「接続」 ウィンドウで、IFを追加をクリックします。
- 次のいずれかの基準条件に基づいて条件式を設定します。
- エンティティ:これらの演算子のいずれかを使用して、ダイアログ内のエンティティノードを特定の値と比較します。存在する、等しい、より大きいか等しい、より小さいか等しい、等しくない、より大きい、より小さい。それぞれのドロップダウンリストを使用して、エンティティ、演算子を選択し、値ボックスに数値を入力します。例:PassengerCount (エンティティ) が5 (指定された値) より大きい (演算子)
- コンテキスト:これらの演算子のいずれかを使用して、ダイアログ内のコンテキストオブジェクトを特定の値と比較します。存在する、等しい、より大きいか等しい、より小さいか等しい、等しくない、より大きい、より小さい。例:Context.entity.PassengerCount (コンテキストオブジェクト) が5 (指定された値) より大きい (演算子)
- インテント:次のユーザー発言と一致するインテントを選択します。
- Then go toのドロップダウンリストで、条件式が成功した場合にダイアログフローで実行する次のノードを選択します。たとえば、PassengerCount (エンティティ) が5 (指定された値) より大きい (演算子) 場合、次は (Then go to) Offers (サブダイアログ) に進みます。
- Elseのドロップダウンリストで、条件式が失敗した場合に実行するノードを選択します。
注意:複数のIf条件を書く場合は、最後のIf条件式の下でElse Ifを追加をクリックしてください。