外部システム連携機能を使いたい

外部システム連携機能を使用すると、他の外部システムサービスとの連携、業務システムとの連携、指定したメールアドレスにメールを送信するなどが可能になります。

連携のタイプはいくつか用意されておりますが、ここでは、「HTTP(S)プロトコル」と「Google Spreadsheet」のタイプを使用した連携方法について説明します。

はじめに、外部システム連携画面の設定項目についての説明をします。

  共通項目の説明

  1. 外部システム連携を追加する『チャットボット』を選択し、チャットボット画面の『外部システム連携』タブから”新規作成”ボタンをクリックしてください。

  2. 『外部システム連携』の設定画面について説明します。

    ・『外部システム連携先』に連携先名を入力してください。
    シナリオ作成時、「外部システム連携」アクションで選択する際に表示される項目名になりますので、わかりやすい名前をつけてください。

    ・『説明』に作成する外部システム連携の説明を入力してください。

    ・『タイプ』のリストから外部システム連携に使用するタイプを選択します。
    (使用するタイプによって設定項目が変わります。)

    タイプ一覧
    タイプ 説明
    HTTP(S) HTTP(S)通信を使用してデータの入出力を行います
    Google Spreadsheet Google Spreadsheetへデータ登録を行います
    Email アカウント設定でメール送信先に登録されたアドレスに電子メールを送信します
    Excel(OneDrive) MicrosoftのOneDriveを利用してExcelデータの参照・登録・更新・削除を行います
    Office 365 Microsoft Graph APIを使用してOffice 365と連携しデータの入出力を行います

    「HTTP(S)」、「Google Spreadsheet」タイプ以外の各利用手順は、以下をご覧ください。

  タイプに「HTTP(S)」を選択した場合

  1. 「HTTP(S)」の設定に関する項目が表示されます。

    ① 『タイプ』より「HTTP(S)」を選択してください。
    ② 『URL』に外部システムへ接続するためのURLを入力してください。
    ③ 『Method』に外部連携先へ送信するリクエストの種類を選択してください。
    ・『Method』設定項目
    メソッド名 説明
    GET 送信するデータをURLに追加する URLへ記述 : http: //〇〇〇〇.co.jp/?key1=value1&key2=value2
    POST 送信するデータをリソースに追加する Request Bodyの記述 : key1=value1&key2=value2
    PUT リソースを新規作成・更新をする 同上
    DELETE 指定したURIのリソースを削除する 同上
    OPTIONS URIに対して利用できるメソッドの一覧を取得する 同上
    PATCH URIの一部を更新する 同上

    ④ 『Headers』に外部連携先へ送信するデータのヘッダ名と値を入力してください。
    ・『Headers』設定例
    名前 説明
    Content-Type 送信するデータのファイル形式
    説明
    text/plain テキストファイル
    text/csv CSVファイル
    text/html HTMLファイル
    application/json JSONファイル
    ※『Headers』に{{変数}}を設定することも可能です。DialogPlayで取得した情報を外部連携先へ送信する情報(AccessToken等)として利用したい場合にお使いください。

    ⑤ 『Request Body』に外部連携先へ送信する内容を入力してください。
    ⑥ 『Response Type』にレスポンスの形式を指定してください。(現在、JSON形式のみ取得可能です。)
    ⑦ 『Response Map』に外部連携先から取得したデータを、シナリオ内で変数として使用するための変換情報を入力します。
    ・『Response Map』設定項目
    項目名 説明
    変換元 外部連携先から取得したデータのキー名を入力します
    変換先 変換元で指定したキーの値を保存する変数名を入力します(この変数はシナリオの「外部システム連携」アクションで利用することが可能です)
    ・『Response Map』設定例
    以下の設定により、取得データの「key1」 = “value1”が、シナリオ内では、「変数1」 = “value1”として利用されます。
    ・Response値 { “key1” : “value1”, “key2” : “value2” }
    ・項目入力

  タイプに「Google Spreadsheet」を選択した場合

  1. 「Google Spreadsheet」の設定に関する項目が表示されます。

    ① 『タイプ』に「Google Spreadsheet」を選択してください。
    ② 『サービスアカウントキー』に「 Google API Console 」の「サービスアカウントキー」作成時にダウンロードした、JSON形式ファイルのデータを修正を加えず貼り付けしてください。
    ③ 『シートID』にGoogle SpreadsheetのURLに表示されている「シートID」を入力してください。
    例: https ://docs.google.com/spreadsheets/d/シートID/edit#gid=0
    ④ 『値』にGoogle Spreadsheetの各列に挿入するデータを入力してください。

次に、HTTP(S)の外部システム連携の実装手順について説明します。

  実装例(HTTP(S))

  1. (外部API) 外部システム連携設定
    JSONを返すAPIを用意してください。今回は「OpenWeatherMap」のAPIを利用します。

    1-1. API利用にはAPIキーが必要です。〔OpenWeatherMap-ユーザー登録〕へアクセスし、ユーザー登録をしてください。

    ・ユーザー名を入力してください。
    ・メールアドレスを入力してください。
    ・パスワードを入力してください。
    ・もう一度、パスワードを入力してください。
    ・利用規約とプライバシーポリシーに同意する場合はチェックをしてください。
    同意しなければ登録はできません。
    ・ニュース、アップデート、オファーに関するメールを受け取ることに同意する場合はチェックをしてください。
    ・チェックを押して表示されるメッセージに従ってロボットではないことを証明してください。
    ・”Create Account”ボタンをクリックし、登録してください。

    1-2. ページ上部の”Hello ユーザー名”をクリックすると、ユーザー情報の編集画面へ遷移します。

    1-3. API Keysのタブをクリックしてください。

    1-4. 表示されているAPI Key を控えておいてください。
  2. (DialogPlay) チャットボット作成
    2-1. 左メニューの『チャットボット一覧』を選択し、『チャットボット一覧』から”新規作成” ボタンをクリックしてください。

    2-2. 『チャットボット名』、『初期発言』を入力し、”保存” ボタンをクリックしてください。


  3. (DialogPlay) 外部システム連携設定
    3-1. チャットボット画面に戻り、『外部システム連携』タブから ”新規作成”ボタンをクリックしてください。
    3-2. 『外部システム連携先』に外部システム連携名、『説明』に作成する外部システム連携の説明を入力してください。
    3-3. 連携先の設定をしてください。

    ・『タイプ』は、「HTTP(S)」を選択してください。
    ・『URL』は、接続先URLを入力してください。
    URL入力例:http://api.openweathermap.org/data/2.5/forecast?q={{エリア}},JP&units=metric&APPID= API Key
    API Key へ〔 1-4. 〕の④で控えた文字列を入力してください。
    ・『Method』は、GETを使用します。
    ・『Headers』は、GETのため使用しません。
    ・『Request Body』は、GETのため使用しません。

    3-4. 外部連携先から受け取る値を下記のように設定をしてください。

    ・デフォルトで「JSON」が選択されます。
    ・『変換元』にJSONのキー(外部システムから受け取る値)を入力し、『変換先』にシナリオ使用時に使う変数名を入力してください。

    Response値:
    今回のシナリオでは3時間後の気象データを利用するため、リスト番号(list[1])を設定しています。
    ※パラメーターに関する詳細は〔 こちら 〕をご覧ください。

    3-5. 上記を設定した後、”保存”ボタンをクリックしてください。

  4. (DialogPlay) シナリオ作成
    4-1. チャットボット画面に戻り、『シナリオ一覧』タブから”新規作成”ボタンをクリックしてください。
    4-2. 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。
    4-3. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-4. 下記のように『発言内容』を入力してください。
    4-5. 『シナリオの流れ』エリアの中にあるリストから「ヒアリング」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-6. 『ヒアリング項目』に下記の内容を設定してください。
    No. ヒアリング項目名 タイプ 項目ごとの質問文
    1 エリア @text 地域をローマ字で入力してください。 札幌市の場合はSapporoまたはSapporo-shi
    4-7. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-8. 連携先に先ほど外部システム連携で作成した「3時間後の天気」を選択し、画面右側の『変数一覧』に設定した変換先が表示されたことを確認してください。
    4-9. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-10. 下記のように『発言内容』を入力し、”保存”ボタンをクリックしてください。
    変数を利用するには、シナリオ作成画面右側にある『変数一覧』に表示されている変数名を{{}}で括ってください。

    4-11. 「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されますので、”保存してチャットボットを学習” ボタンをクリックしてください。
  5. 画面右端にある『シミュレーター』をクリックし、動作を確認してください。


    ※本手順では、各種気象データの無料APIを提供するオンラインサービス:Openweathermapを利用しています。
    (ライセンスは、OpenStreetMapのクリエイティブ・コモンズCC-BY-SA2.0に準じます)
    他社が提供しているAPIを利用される場合は、サービス提供元の利用規約を必ずご確認の上、ご利用下さい。

次に、Google Spreadsheetの外部システム連携の実装手順について説明します。

  実装例(Google Spreadsheet)

  1. (外部API) 外部システム連携設定
    1-1.〔 Google API Console 〕 へアクセスしプロジェクトを追加します。
    1-1-1. 上部検索欄の左側の『メニュー』を開いてください。
    1-1-2. ””マークをクリックすると、プロジェクト作成画面が表示されます。
    1-1-3. 『プロジェクト名』を入力し”作成”ボタンをクリックすると作成されます。
    1-2.『 認証情報 』を作成します。
    1-2-1. ”認証情報を作成”ボタンをクリックし、”サービスアカウントキー”を選択してください。
    1-2-2. 『サービスアカウント名』にわかりやすい名前を入力してください。
    1-2-3. 『キーのタイプ』に「JSON」を選択してください。

    1-2-4. ”作成”ボタンをクリックした後、JSONファイルがダウンロードされます。
    一度しかダウンロードできない為、紛失した場合は再度認証情報を作成する必要があります。

    1-3.Google Spreadsheetの設定をします。
    1-3-1. 〔Google API Console〕の『IAMと管理』 - 『サービスアカウント』 へ移動してください。
    ①『サービスアカウントID』を後で使用するので控えておいてください。

    1-3-2. 〔Google Spreadsheet〕へアクセスしてください。
    画面右下の””ボタンをクリックし、新規作成をしてください。

    1-3-3. 画面右上の”共有”ボタンをクリックし、1-3-1. で控えた『サービスアカウントID』を入力してください。
    1-3-4. 〔Google API Console〕の画面上部の検索欄で『 Google Sheets API 』を検索し、”有効にする”ボタンをクリックしてください。
  2. (DialogPlay) チャットボット作成
    2-1. 左メニューの『チャットボット一覧』を選択し、『チャットボット一覧』から”新規作成” ボタンをクリックしてください。

    2-2. 『チャットボット名』を入力し、”保存” ボタンをクリックしてください。

  3. (DialogPlay) 外部システム連携設定
    3-1. チャットボット画面に戻り、『外部システム連携』タブから ”新規作成”ボタンをクリックしてください。
    3-2. 各項目を入力します。

    ・『外部システム連携先』に外部システム連携名を入力してください。
    ・『説明』に作成する外部システム連携の説明を入力してください。
    ・『タイプ』から「Google Spreadsheet」を選択してください。
    ・『サービスアカウントキー』に〔 2-4. 〕のサービスアカウント作成時にダウンロードした、JSON形式ファイルのデータを修正を加えず貼り付けしてください。
    ・『シートID』に作成したGoogle SpreadsheetのURLに記載されているシートIDを入力してください。
    : https: //docs.google.com/spreadsheets/d/シートID/edit#gid=0
    ・『値』にGoogle Spreadsheetに出力する値を設定します。シナリオで使用する変数名を入力してください。

    3-3. すべての項目の入力が完了しましたら、”保存”ボタンをクリックしてください。

  4. (DialogPlay) シナリオ作成
    4-1. チャットボット画面に戻り、『シナリオ一覧』タブから”新規作成”ボタンをクリックしてください。
    4-2. 『シナリオ名』と『ユーザー発言例(発言例タブ)』を入力してください。
    4-3. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-4. 追加したアクションの発言内容にわかりやすいメッセージを入力してください。
    4-5. 『シナリオの流れ』エリアの中にあるリストから「ヒアリング」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-6. 『ヒアリング項目名』に以下の入力例を参考に設定情報を入力してください。
    No. ヒアリング項目名 タイプ 項目ごとの質問文
    1 項目1 @text 項目1を教えてください
    2 項目2 @text 項目2を教えてください
    3 項目3 @text 項目3を教えてください
    4-7. 『シナリオの流れ』エリアの中にあるリストから「外部システム連携」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-8. 『連携先』から先ほど外部システム連携で作成した「Google Spreadsheet」を選択してください。
    4-9. 『シナリオの流れ』エリアの中にあるリストから「テキスト発言」を選択し、”アクションを追加”ボタンをクリックしてください。
    4-10. 『発言内容』にメッセージを入力してください。

    4-11. ”保存”ボタンをクリックしてください。
    4-12. 保存が完了したら「学習データが更新されています。反映するには学習ボタンを押してください。」というメッセージが表示されます。”保存してチャットボットを学習” ボタンをクリックしてください。
    4-13. 「現在学習処理中です。しばらくお待ちください。」というメッセージが表示されます。
    4-14. 「学習処理が完了しました」というメッセージが表示されます。
  5. シミュレーターを起動し、〔Google Spreadsheet〕へ反映されることを確認します。
    5-1. シミュレーター機能で、シナリオ開始後、各項目の値をチャット欄に入力してください。
    5-2. 完了メッセージが表示されたら〔Google Spreadsheet〕へアクセスし、入力したデータが登録されたことを確認します。
Last updated on 2018/12/11.