ボットの概要
これから構築しようとするボットは、基本的な銀行取引を実行します。このボットは以下のことを行います。
- ユーザーの口座番号と口座の種類に基づいて、口座残高を取得します。
- 口座残高を更新します。詳細情報については、こちらをクリックしてください。
- ユーザーアカウントから受取人アカウントへ、指定した金額を送金します。詳細情報については、こちらをクリックしてください。
ボット構築を開始し、残高取得タスクを追加しましょう。
ダイアログタスク
ボットの作成に成功すると、「ボットの概要」ページが表示されます。ボットにおける最初のステップとして、ダイアログタスクを追加する必要があります。インテントダイアログは、ユーザーとボットの会話フローの最初のステップです。
- 「ボットの概要」ページで、タスクウィジェットの+新規タスクをクリックします。
- リストからダイアログタスクを選択します。
- 「ダイアログを作成」ウィンドウで、以下の詳細を入力します。
- インテント名フィールドに名前を入力します。これは、ダイアログのトリガーとなるフレーズです。インテント名は単純で、10〜15文字以内である必要があります。例:残高取得。
- 説明フィールドに説明を入力します。
- インテントトレーニングフィールドに、ユーザーインテント認識を改善するためのユニークな発話を追加します。
- その他のオプションでは、その他のダイアログ関連の詳細を追加できます。デフォルト設定のままにしておきましょう。
- 会話駆動型ダイアログビルダーの試行 オプションを選択します。
- 続行をクリック。
メモ:旧ダイアログビルダーの操作方法については こちらをご参照ください。
エンティティノード
エンティティノードは、通常、ユーザーから情報を収集するために使用されます。ここでは、ユーザーが入力した口座番号と口座の種類をキャプチャするために使用します。
- ユーザーインテント(残高取得)ノードの下の+アイコンをクリックします。
- リストからエンティティを選択し、+エンティティをクリックします。
- 新しく作成したエンティティノードをクリックして、プロパティウィンドウを開きます。
- 一般設定セクションで、次の情報を入力します:
- 名前:AccountNumber
- 表示名:口座番号
- タイプ:番号
- ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存:
Enter the account number.
- AccountNumberエンティティプロパティウィンドウを終了します。
- 以下の詳細から、上記の手順を繰り返して、別のエンティティを追加します。
- 名前:AccountType:
- 表示名:口座の種類
- ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存:
Enter the account type.
- 値のリストを表示:「はい、デフォルトメッセージにチャネル固有の標準フォーマティングを使用し、利用可能な値のリストをエンド-ユーザーに表示する」とマークします。これで、サポートされているチャネルのボタンテンプレートに「値のリスト」が表示されます。
- タイプ:ドロップダウンリストから項目のリスト(列挙型)を選択します。
- ユーザーが選択できる「値のリスト」を提供する必要があります。
- AccountTypeエンティティプロパティウィンドウを終了します。
ボットアクション – サービスノード
サービスノードは、バックエンドのAPIコールを行うことができ、ボットアクションの下にあります。ここでは、APIを呼び出して、ユーザーが入力した口座番号の口座残高を更新するために、サービスノードを使用します。このチュートリアルでは、ダミーのAPIセットアップを紹介します。この目的のために、FirstName、LastName、住所、都市、国、郵便番号、AccountNumber、AccountType、残高の各フィールドを持つモックAPIを作成しました。
- 左側ペインから、ボットアクションノードを口座の種類エンティティノードの下にドラッグアンドドロップします。
- 新しく作成された ボットアクションノードが展開されます。ない場合は、+アイコンをクリックして展開
- 左側ペインからサービス ノードを ボットアクションノードレイアウトにドラッグアンドドロップするか、 ボットアクションノードレイアウト上で+ アイコンをクリックし、リストから サービス を選択して、新規サービスをクリックします。
- ボットアクションのノードレイアウトに サービス ノードが追加されます。
- サービス」ノードをクリックして、プロパティウィンドウを開きます。
- 一般設定セクションで、次の情報を入力します:
- 名前:GetAccountBalance
- 表示名:口座残高を取得
- 説明: サービスノードを説明するための説明を入力します。
- リクエストを定義をクリック。
- リクエストを定義ページで、以下の詳細を入力:
- リクエストのタイプ – 取得
- リクエストURL –
https://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails?filter={{context.entities.AccountNumber}}
ダミーAPIサービスの制限により、指定された口座番号の記録を取得するのではなく、必要な口座番号をフィルタリングして応答しています。 - このAPIは、認証、ヘッダーパラメータを必要としません。
- リクエストをテストタブをクリックします。
- サンプルコンテキスト値セッションにおいて口座番号を入力します。これはAPIが必要とするフィルターパラメータで、次のような口座番号 02929664を使用することができます。
- ページの右上にあるテストをクリックします。テストが完了するのを待つと、 ステータスコードが手に入ります。200。
- APIコールによって返された記録の配列を見ることができます。次のステップでは、JavaScriptを使用して値を説明します。
- サンプル応答として保存をクリックします。
- ページの右上にある 保存をクリックします。
- リクエストを定義ページで、以下の詳細を入力:
- サービスノードのプロパティウィンドウで、接続タブをクリックします。
- 「サービスプロパティ」ウィンドウを閉じます。
- クリック– ボットアクションノードを折りたたむためのボットアクションノードの横。
メッセージ ノード
メッセージノードは、ボットからユーザーへのメッセージを表示するために使用します。ここでは、メッセージノードを使用して残高を表示しています。
- 左ペインで、 メッセージ ノードを ボットアクション ノードの下にドラッグアンドドロップするか、ボットアクションノードの下にある + アイコンをクリックします。
- リストから メッセージを選択し、+新規メッセージをクリックします。
- メッセージノードをクリックして、プロパティウィンドウを開きます。
- 以下の詳細を入力します。
- 名前:BalanceMessage
- 表示名:残高メッセージ
- ボットレスポンス:ユーザーに送信する標準メッセージを定義します。
- 管理をクリックします。
- ユーザープロンプトを管理ページでは、ユーザープロンプトを確認できます。
- ユーザープロンプトを開き、全チャネルのメッセージを解析するJavaScriptを定義します。
- チャネルセクションで、ドロップダウンリストから すべて を選択します。以下の画像を参照してください。
- メッセージセクションで、詳細 タブをクリックします。
- 以下のJavaScriptを追加します。このJavaScriptは、ユーザーが入力した AccountType でフィルタリングされたすべての記録を比較し、残高を表示するように書かれています。
var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = context.GetAccountBalance.response.body[i].Balance; } } if (balance === undefined) { print ('Invalid Account, try again '); } else { print ('The Balance in your account is ' + balance); }
- 保存をクリック
- メッセージセクションで、詳細 タブをクリックします。
- 管理をクリックします。
- ダイアログビルダーに戻ります。
- メッセージノードのプロパティウィンドウで、接続タブをクリックします。
- プロパティウィンドウを終了。
次のステップ
バンキングボットに残高取得ダイアログタスクを追加したので、次のステップは残高更新タスクを追加することです。便宜上、残高更新の手順は別の文書に分けています。こちらをクリックして続ける。