Kore.aiボットプラットフォームでは、ボット内で変数を宣言して使用する方法を提供しています。これらの変数は、異なるタスク、ノード、およびその他の要素が通常使用する値をキャプチャするために使用できます。
このハウツーでは、バンキングボットでボット変数を使用するシナリオを探究しましょう。グローバル変数を使用して、APIエンドポイントを渡し、開発環境からテスト環境、本番環境への移行時に簡単にそれを変更できる方法を見ていきます。
ボット変数とは何か、Kore.aiボットプラットフォームにどのように実装されているかについては、こちらをご参照ください。コンテンツ変数のユースケースについては、こちらをご参照ください。
問題提起
今回のバンキングボットでは、2つのタスクがあります。
- 残高取得は、指定された口座番号でサービスコールを行い、その口座の残高を取得します。
- 指定された口座を指定された金額で更新するためにサービスコールを行う残高更新。
- 上記のタスクはどちらも同じサービスを呼び出すもので、サービスのAPIエンドポイントは、開発環境、テスト環境、プロダクション環境で変わります。
- 両方のダイアログタスクでサービスコールを変更するのは面倒であり、変更が正しく行われないとエラーの原因になります。
このドキュメントでは、グローバル変数を使用してAPIエンドポイントを格納し、それをサービスコールに使用する方法について見ていきます。
導入
APIのエンドポイントを保持するグローバル変数を宣言することで、簡単かつ迅速に遷移することができます。
- バンキングボットを開きます。
- トップメニューから構築タブを選択します。
- 構成から環境変数セクションを選択します。
- 変数を追加をクリックすると、対応するウィンドウが表示されます。
- 変数名と変数値を入力します。このユースケースでは、変数accountURLを呼び出し、値にはサービスAPIコールエンドポイントを入力しています。
- 普通預金。
- ここで、残高取得ダイアログタスクを開きます。
- GetAccountBalanceサービスノードを選択します。
- 定義をリクエストの下にあるリクエストを編集をクリック
- 必要なパラメータの前にある
env
プレフィックスを使用し、リクエストURLを上記で作成したグローバル変数で置き換えます。今回の場合:{{env.accountURL}}{{context.entities.AccountNumber}}
- 残高更新ダイアログタスクの更新を繰り返します。
- これで、ボットを別の環境にエクスポートおよびインポートする際には、グローバル変数の値を変更するだけで、両方のダイアログタスクで変更が有効になります。