これは、Kore.ai BotKit SDK のインスタンスを設定して実行するためのエンド ツー エンドのチュートリアルです。この SDK は、Kore.ai ボットのメッセージと Webhook イベントを Web サービスで制御するために使用できるライブラリのコレクションです。このチュートリアルでは、フライト検索サンプルというサンプル ボットを使用します。このサンプル ボットは、新規ボットとしてインストールし、認証トークンを生成した後、テスト コールバック サーバーとして ngrok を使用してボットをテストします。
必要条件
このチュートリアルを完了するには、以下の必要条件をセットアップし、構成する必要があります:
- テスト用コールバック サーバーとして ngrok をインストールおよび実行します。テスト用コールバック サーバー アプリケーション ngrok は、コールバック サーバー アプリケーションのシミュレーションに使用します。
- node.jsをコンピュータにインストール ー BotKit SDK はサーバーと Kore.ai ボット プラットフォームとの通信には、Node.js が必要です。
ngrok のインストールと実行
テスト用コールバック サーバー アプリケーションをダウンロードするには、https://ngrok.com/download をクリックして、お使いのオペレーティング システム用の ngrok ファイルをダウンロードしてインストールします。ターミナル ウィンドウで ngrok を起動し、以下のコマンドでポート 8003 監視します: ngrok http 8003
前図で示されるように、https 転送 URL をコピーします。例: https://1b47f1d2.ngrok.ioターミナル ウィンドウを開いたまま、ngrok を起動します。
Node.js のインストール
BotKit SDK は、SDK がインストールされているサーバー上で Node.js が動作している必要があります。https://nodejs.org/en/download/にアクセスし、Mac の場合は .pkg ファイル タイプで、Windows の場合は .msi ファイル タイプで、お使いのOSを選びます。ターミナル ウィンドウで、以下の図に示すようにコマンド node -v
を実行して、インストールとバージョンを確認します。例: v6.10.2
。
ボットのインストールと設定
必要条件をインストールして実行すると、フライト検索サンプル ボットをインストールする準備が整います。このセクションでは、以下を実行します:
- フライト検索サンプル ボットのインストール
- アプリ登録の作成
- セキュリティ資格情報の生成
- BotKit SDK のインストールと設定 ー config.json および FindAFlight.js ファイル
フライト検索サンプル ボット
Kore.ai には、すぐに使えるサンプル ボットが用意されており、ボットビルダーのインスタンスにインストールすることができます。このチュートリアルでは、フライト検索サンプル ボットをインストールする必要があります。フライト検索サンプル ボットをインストールするには
- ボットビルダーにログオンして、[新規ボット] > [サンプル ボットのインストール]をクリックします。
- フライト検索サンプルをポイントして、[インストール] をクリックします。フライト検索サンプル_XXXX_X で [手順] タブが開きます。
- 手順を確認し、[設定] タブをクリックして、サンプル ボットの名前を「フライト検索サンプル チュートリアル」に変更します。
- 「フライト検索サンプル「_NAME_Instance# は正常にインストールされました」というメッセージが表示されます。
フライト検索サンプルボットは、ボットビルダーでのみ利用可能であり、新規ボットとして追加する必要があります。詳細については、フライト検索サンプル ボットをご参照ください。
アプリの登録とクライアント資格情報の生成
BotKit SDK を Kore.ai ボット プラットフォームに登録するには、アプリの登録を行い、サーバープラットフォームにインストールされた SDK と Kore.ai ボット プラットフォームとの安全な通信のためのセキュリティ資格情報を生成する必要があります。アプリ登録の作成
- ボットのサイド ナビゲーション パネルにカーソルを合わせ、[API Extensions] をクリックします。
- 「API 拡張機能」ページで [BotKit SDK] タブをクリックします。
- 「アプリ名」ドロップダウン リストの隣にある [追加] をクリックします。
- アプリ名を入力して、[次へ]をクリックします。
- クライアント ID とクライアント シークレットの詳細が表示されます。[完了] をクリックします。
- [コールバック URL] フィールドには、必要条件の一部としてインストールして実行した ngrok アプリケーションの [転送 URL] からコピーしたアプリケーションの URL を入力します。例: https://1b47f1d2.ngrok.io
メモ: ngrok の各実行インスタンスは、セッション固有の URL を生成します。ngrok を停止して再起動する場合は、"コールバック URL" フィールドを更新する必要があります。
- [イベント] セクションで OnHookNode を選択 ー ダイアログ タスク フロー内で Webhook ノードが検出されると、イベントがトリガーされます。
- [保存] をクリックします。「サブスクライブが正常に実行されました」と表示されます。
BotKit SDK の設定には、以下が必要です:
- クライアント ID をコピーします。例: cs-6e5eb411-e592-50d9-9ba2-ccc748d4f719
- クライアント シークレットを表示して、コピーします。例: dTTmuTOgs8SOCwF/tFizouE0EPy28fXojOJWedOEF6s=
ボットの公開
開発者は、インストールされたボットをすぐにテストに使用できます。ボットは、所有者が保存すると利用できるようになります。このチュートリアルのためにこのボットを実行してテストする場合は、次のセクション [BotKit SDK のインストールと設定] にスキップできます。他のユーザーがボットを使用できるようにするには、他のユーザーのエンタープライズ管理者がエンタープライズ内のユーザーにボットを承認してデプロイできるように、ボットを公開する必要があります。詳しくは、「タスクの公開」をご覧ください。ボットビルダーでボットを公開した後、そのボットのエンタープライズ管理者は、ボットの対象ユーザーがエンタープライズ ユーザー (管理対象ユーザー) または一般ユーザー (非管理対象ユーザー) のどちらに設定されているかに応じて、ボット管理コンソールで以下のいずれか 1 つのボットのデプロイメントを実行する必要があります。
- エンタープライズ ユーザー向け
- ボット管理者コンソールで、ボット管理 モジュールで、エンタープライズ ボット ページでデプロイしたいエージェント転送ボットの省略記号アイコンをクリックし、さらにボット タスクの管理をクリックします。"ボットタスクの管理" ダイアログが表示されます。
- "ボット タスク フィールド" を展開すると、デプロイされた使用可能なタスクが表示されます。
- ボットのタスクをすべて選択して、[確認] をクリックします。
- "ボット タスクの管理" ダイアログで [確認] をクリックします。「ボットのステータスが正常に変更されました」というメッセージが表示されます。
- 「エンタープライズ ボット」ページで、エンタープライズ ユーザーを割り当てたいエージェント転送ボットの [省略記号] のアイコンをクリックし、[ボットとタスクの割り当て] をクリックします。"ボットとタスクの割り当て" ダイアログが表示されます。
- エンタープライズ内の選択されたユーザーにボットを割り当てます。
ー または ー
- 一般パブリック ユーザー向け
- ボット管理者コンソールのボット管理モジュールで、消費者ボットページでデプロイしたいエージェント転送ボットの [省略記号] アイコンをクリックし、さらに [ボット タスクの管理] をクリックします。"ボットタスクの管理" ダイアログが表示されます。
- "ボット タスク" フィールドを展開すると、デプロイされた使用可能なタスクが表示されます。
- ボットのタスクをすべて選択して、[確認] をクリックします。「ボットのステータスは正常に変更されました」というメッセージが表示されます。
BotKit SDK のインストールと設定
https://github.com/Koredotcom/BotKitから Kore.ai BotKit SDK をダウンロードして解凍する必要があります。必ず LiveChat.js ファイルを含む最新版をダウンロードしてください。
config.json
BotKit SDK フォルダ内で、コールバック サーバーへの接続情報を含む config.json ファイルを編集する必要があります。このチュートリアルでは、ngrokと、フライト検索サンプル ボットのアプリ登録を行った際に生成されたセキュリティ資格情報を使用して、LiveChat エージェント アプリケーションのライセンスキーを含む新しい行を config.json ファイルに追加します。デフォルトの config.json ファイルのパラメータを以下のように変更します:
url
— ngrokの “転送 URL” フィールドの値を使用してこのパラメータを追加しますapikey
ー クライアント シークレットを使用してパラメータを更新しますappId
— クライアント IDを使用してパラメータを更新します
{ "server": { "port": 8003 }, "app": { "apiPrefix" : "", "url": "< ngrok Forwarding URL >" }, "credentials": { "apikey": "< Client Secret from Bot Builder >", "appId": "< Client ID from Bot Builder >" }, "redis": { "options": { "host": "localhost", "port": 6379 }, "available": false }, "examples" : { "mockServicesHost" : "http://localhost:8004" } }
以下のコードは、完全に定義されたサンプル config.json ファイルの例です:
{ "server": { "port": 8003 }, "app": { "apiPrefix" : "", "url": "https://1b47f1d2.ngrok.io" }, "credentials": { "apikey": "dTTmuTOgs8SOCwXXXXXXXXE0EPy28fXojOJWedOEF6s=", "appId": "cs-6e5eb411-XXXX-XXXX-9ba2-ccc748d4f719" }, "redis": { "options": { "host": "localhost", "port": 6379 }, "available": false }, "examples" : { "mockServicesHost" : "http://localhost:8004" } }
FindAFlight.js
BotKit SDK内の FindAFlight.js ファイルには、フライト情報の Webhook 呼び出しを処理する JavaScript が含まれています。このチュートリアルでは、以下の内容で Webhook の設定を行います: ボットビルダーでフライト検索サンプルのボットを選択し、[設定 > 構成設定] で [一般設定] を選択します。「一般設定」ページが表示されます。以下をコピーします:
- ボット名 ー ボット プラットフォーム上のボットの名前。例: フライト検索サンプル チュートリアル
- ボット ID ー ボットの用にボット プラットフォーム システムに一意の ID。例: st-26cfae3a-XXXX-XXXX-991a-376b7fe579d5
FindAFlight.js ファイル内で、以下の大文字と小文字を区別する変数を更新し、ボット インスタンスの設定で保存します。 var botId = "<Bot ID>"; var botName = "<Bot Name >";
例: var botId = "st-26cfae3a-XXXX-XXXX-991a-376b7fe579d5"; var botName = "Flight Search Sample Tutorial";
BotKit SDK アプリケーションの起動
BotKit SDK を使用してフライト検索サンプル ボットの使用を開始するには、 Node.js がインストールされ、 ngrok がポート 8003で待ち受けていることが必要です。BotKit SDK を起動するには ターミナル ウィンドウで、BotKit SDK のフォルダに移動し、以下のコマンドを入力します: node app.js
Node.js が動作していれば、以下のようなレスポンスが得られるはずです: app listening at http://:::8003
BotKit SDK ボットのテスト
作成したボットをテストするには、以下が必要です:
- ngrok running – Command =
ngrok http 8003
- node.js running – Command =
node app.js
- ボットビルダー ー ボットビルダー ページの右下隅にある次のアイコンをクリックして、ボットとの対話を開始します:
"フライト検索サンプル" ダイアログが起動すると、Web サービスとしてのサード パーティの Webhook と BotKit SDK の間でメッセージがやり取りされます。
次のステップ
Kore.ai ボットをアプリケーションで使用するには、BotKit SDK を設定し、コールバック URL が ngrok ではなく自社のアプリケーション サーバーを指すようにアプリケーションを登録する必要があります。もちろん、他のユーザーとボットを共有するには、所属する会社のエンタープライズ管理者がボットを承認し、ボットを公開した後、それらのユーザーにボットをデプロイする必要があります。