ボットの概要
これから構築しようとするボットは、基本的な銀行取引を行うものです。このボットは以下のことを行います。
- ユーザーが入力した口座番号と口座の種類に基づいて、口座残高を手に入れます(詳細情報)。
 - このページで、口座残高を更新します。
 - ここに示されるように、支払人口座から受取人口座へ指定された金額を送金します。
 
残高更新タスクを追加してみましょう。
ステップ1: ダイアログタスク
- 残高取得タスクがすでに設定されている状態で、バンキングボットを開きます。 詳しくはこちらをご覧ください。
 - トップメニューから、構築タブが選択されていることを確認します。
 - 左側メニューから、会話スキル->ダイアログタスクのページへ移動します。
 - 右上から、ダイアログの作成をクリックします。
 - ダイアログの作成の画面が開きます。
 - 以下の詳細を入力します。
- インテント名-インテント名を入力します。これは、ダイアログをトリガーするフレーズです。インテント名はシンプルにして、3~4語を超えないようにする必要があります。例:「残高を更新」。
 - 説明を追加できたり、その他のオプションでその他のダイアログ関連の詳細を追加できたりします。何も変更せずに、デフォルトの設定を保持しましょう。
 - また、このインテントをトレーニングするために、発話を入れることもできます。
 - 会話駆動型ダイアログビルダーの試行 オプションを選択します。
 
 - 続行をクリック。
 - ユーザーインテントのプロパティパネルが表示されます。デフォルトのプロパティを保持します。
 - メモ:旧ダイアログビルダーの操作方法については こちらをご参照ください。
 - ユーザーインテントプロパティパネルを終了します。
 
ステップ2: エンティティノード
エンティティノードは、通常、ユーザーから情報を収集するために使用されます。ここでは、「口座番号」「口座の種類」「取引の種類」「金額」に関するユーザー入力をキャプチャするために使用します。
- ユーザーインテントノードの下の+をクリック
 - エンティティオプションを選択します。
- 残高取得タスクの設定時に作成された口座番号 エンティティを選択します。
 - AccountNumberエンティティプロパティパネルを終了します。
 
 - 口座番号ノードの下の 「+」 をクリック
 - エンティティオプションを選択します。
- 残高取得タスクの設定時にすでに作成されていた口座の種類エンティティを選択します。
 - AccountTypeエンティティプロパティパネルを終了します。
 
 - 口座の種類ノードの下の 「+」をクリック
 - エンティティオプションを選択します。
- +新規作成をクリックします
 - エンティティノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたエンティティをクリックして、開きます。
- 以下の詳細を入力します。
- 名前:TransactionType:
 - 表示名:トランザクションタイプ
 - タイプ:ドロップダウンから「項目のリスト(列挙型)」を選択します。ユーザーが選択できる「値のリスト」を提供する必要があります。
 - エンティティプロパティパネルに戻ります。
 - ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存: 
Select the transaction type. - 値のリストを表示:「はい、デフォルトメッセージにチャネル固有の標準フォーマットを使用し、利用可能な値のリストをエンドユーザーに表示する」とマークします。これで、サポートされているチャネルのボタンテンプレートに「値のリスト」が表示されます。
 
 - TransactionTypeエンティティプロパティパネルを終了します。
 
 - 以下の詳細を入力します。
 
 - トランザクションタイプノードの下の+をクリック
 - エンティティオプションを選択します。
- +新規エンティティをクリック
 - エンティティノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたエンティティをクリックして、開きます
 - 以下の詳細を入力します。
- 名前:金額
 - 表示名:金額
 - タイプ:番号
 - ユーザープロンプト:以下のテキストを入力し、Enterキーを押して保存: 
Enter the amount to {{context.entities.TransactionType}} 
 - 金額エンティティプロパティパネルを終了します。
 
 
ステップ3: ボットアクション – サービスノード – 残高取得
サービスノードでは、バックエンドのAPIコールを行うことができます。ボットアクションに含まれています。ここでは、サービスノードを使用してAPIを呼び出し、ユーザーが入力した口座番号の口座残高を取得します。このチュートリアルでは、ダミーのAPIセットアップを使用します。ここでは、FirstName、LastName、住所、都市、国、ZipCode、AccountNumber、AccountType、残高の各フィールドで、この目的のために作成されたモックAPIを使用します。
- 「金額エンティティ」の下の+をクリック
 - ボットアクションを選択し、クリックしてプロパティを開き、 ToGetBalanceという名前を付けて、プロパティウィンドウを終了します。
 - サービスノードを追加するには、ToGetBalanceボットアクションの横にある+をクリックして展開します
 - ボットアクションレイアウト内の+クリックします。
 - サービスを選択 – サービスノードは、口座残高情報を取得するためのバックエンドAPI呼び出し行うために使用されます。
 - 残高取得タスクで作成した既存の GetAccountBalanceサービスノードを選択します。
 
ステップ4: ボットアクション – スクリプトノード
スクリプトノードは、プログラミングロジックをボットに組み込めるようにし、ボットアクションの一部となります。ここで、スクリプトノードは、ユーザーが入力した金額を口座から出し入れしてクレジット/デビットに使用されます。
- ボットアクションレイアウト内のGetAccountBalanceノードの下の「+」をクリック
 - スクリプトを選択 – スクリプトノードは、更新する残高を計算するために使用されます。
 - +新しいスクリプトをクリック
 - スクリプトノードのプロパティパネル が表示されます。そうならない場合は、新しく作成されたスクリプトをクリックして、開きます
 - 以下の詳細を入力します。
- 名前:残高計算
 - 表示名:残高計算
 - スクリプトの定義セクションでスクリプトを定義リンクをクリック
 - スクリプトを追加ウィンドウで、以下のスクリプトを入力します。このスクリプトでは、まず口座の種類をチェックしてユーザーの入力内容と一致させ、次にその記録の残高を抽出します。
var balance, i; for (i=0; i < context.GetAccountBalance.response.body.length; i++ ) { if (context.GetAccountBalance.response.body[i].AccountType == context.entities.AccountType) { balance = parseFloat(context.GetAccountBalance.response.body[i].Balance); } } - 保存をクリック
 
 - スクリプトプロパティパネルを終了
 
ステップ4: ボットアクション – サービスノード – 残高更新
ここでは、APIを呼び出して、ユーザーが入力した口座番号の口座残高を更新するために、サービスノードを使用します。このチュートリアルでは、ダミーのAPIセットアップを使用します。
- BalanceCalculationスクリプトノードの下の+をクリック
 - サービスを選択 – サービスノードは、口座残高情報を更新するためのバックエンドAPI呼び出し行うために使用されます。
 - +新規サービスをクリック
 - サービスノードのプロパティパネル が表示されます。そうならない場合は、新しく追加されたサービスノードをクリックして、開きます
 - 以下の詳細を入力します。
- 名前:UpdateBalance
 - 表示名:残高更新
 - サービスのタイプ:カスタムサービス
 - タイプ:Webサービス
 - サブタイプ:REST
 - リクエストを定義をクリック
- リクエストを定義済みページで、以下の内容を入力:
- リクエストタイプ – 入力
 - リクエストURL –
https://5c3c633d29429300143fe4d2.mockapi.io/AccountDetails/{{context.entities.AccountNumber}}. - このAPIは、認証パラメータを必要としません。
 - 本文タブで、application/jsonとして記入を選択します。
 - テストリクエストタブを選択
 - サンプルコンテキスト値セッションにおいて口座番号と残高を入力します。
 - テストボタンをクリック
 - テストが完了するのを待つと、次のステータスが得られます。200
 - サンプル応答として保存をクリックします。
 - 保存をクリック
 
 
 - リクエストを定義済みページで、以下の内容を入力:
 - サービスノードのプロパティウィンドウで、接続タブをクリックします。
- 接続ルールセクションで、 デフォルトの接続がボットアクションの終了に設定されていることを確認します。
 
 - サービスプロパティパネルを終了
 - クリック– ボットアクションノードを折りたたむためのボットアクションノードの横。
 
 
ステップ5: メッセージノード
メッセージノードは、ボットからユーザーへのメッセージを表示するのに使用します。ここでは、メッセージノードを使用して成功メッセージを表示しています。
- ToUpdateBalanceボットアクションの下の+をクリック
 - メッセージを選択し、「+ 新規メッセージ」をクリックします
 - メッセージノードのプロパティパネルが表示されます
 - 以下の詳細を入力します。
- 名前:UpdateMessage
 - 表示名:更新メッセージ
 - ボットレスポンス:  
Your account balance has been updatedと入力し、Enterキーを押して保存 
 - ボットレスポンスのプロパティパネルで、接続アイコンをクリックして[接続]タブを開きます。
- デフォルトの接続を未接続からダイアログの終了に変更します。
 - 保存をクリック。
 
 - プロパティパネルを終了します。
 
次のステップ
バンキングボットはほぼ完了しています。あなたは残高取得と残高更新のダイアログタスクを正常にボットに追加しました。次のステップは、「資金移動」タスクを含めることです。こちらをクリックして続ける。




