こちらでは、シナリオボットの「外部システムの呼び出し情報」設定についてご説明します。
この設定を利用することで、任意のシステムやデータベース(企業保有のサービス情報、在庫情報等)に接続し、入手した情報をもとに返信メッセージの選択肢群を構築することが可能となります。
■利用方法
シナリオボット設定画面にて、任意のシーンを選択後、右側の「③選択されたシーンで表示される選択肢を設定します」下部に「外部システムの呼び出し情報」と欄が表示されます。
この設定内に、返信メッセージの選択肢データの取得元やデータ形式を記載します。
外部APIのURL :呼び出し先システムにて準備されたAPIのURLを指定します。
例)http://xxx.xxx.com/api/xxxxx?item_name={c_key}
※URL内に置き換えタグを利用可能です。下記URLを参照してください。
下記の「例)」では、レスポンスがこのようなJSONであることを想定します。
{ "name": "responce", "error": "noerror", "add_scene": "addscene", "items": [{ "key": "1", "name": "item1", "title": "タイトル", "description": "説明", "next_id": "1234", "next_scene": "1234" "url": "https://〇〇◯" }, { "key": "2", "name": "item2", "title": "タイトル", "description": "説明", "next_id": "1234", "next_scene": "1234" }, { "key": "3", "name": "item3", "title": "タイトル", "description": "説明", "next_id": "1234", "next_scene": "1234" }] }
外部APIの呼び出し方法:現在はGETのみ対応しています。
外部APIのデータ形式:現在はJSON形式のみ対応しています。
選択肢データと固定データの順番:LINEやFacebook等の返信内で、外部APIにて取得した選択肢と、画面上部にて静的に定義された選択肢データのどちらを先に表示するか?
選択肢データ配列の項目名 :レスポンス内の、選択肢が含まれた項目名(空白の場合はJSONレスポンスのルートに選択肢配列が存在するとみなされます)
例)items
データ配列中の選択肢メッセージとなる項目名: レスポンス内の各選択肢アイテム内で、「メッセージ」として利用する項目
例)name
デフォルトの追加シーンメッセージ: ここに記述した文言が、外部apiが呼び出されたときにデフォルトでシーンに追加されます
例)「結果が返ってきました」
デフォルトの次シナリオID: レスポンス内に「次シナリオID」が設定されてない場合に自動的に付与される次シナリオID
例)1234
デフォルトの次シーンID : レスポンス内に「次シーンID」が設定されてない場合に自動的に付与される次シーンID
例)1234
結果が0件の際のリダイレクト先シナリオID: APIからの返却JSONの中身が0件であった場合に飛ぶ次シナリオID
例)5678
結果が0件の際のリダイレクト先シーンID: APIからの返却JSONの中身が0件であった場合に飛ぶ次シーンIDと
例)5678
データ配列中の選択キーとなる項目名 : レスポンス内の各選択肢アイテム内で、「選択キー」として利用する項目
例)key
データ配列中の選択肢タイトルとなる項目名: 選択肢画面のタイトルとして利用する項目
例)title
※この機能はウェブチャットのみとなります(LINE・Facebook Messangerには対応しておりません)
データ配列中の選択肢詳細メッセージとなる項目名: 選択肢の項目名の下に詳細な説明文を追加します
※これはディスプレイ付きのAlexa端末のみの機能です
例)description
データ配列中の画像URLとなる項目名: シーンに追加でurlの画像が表示されます
例)url
データ配列中の次シナリオIDとなる項目名: レスポンス内の各選択肢アイテム内で、「次シナリオID」として選択時の移動先シナリオIDとして利用する項目
例)next_id
データ配列中の次シーンIDとなる項目名: レスポンス内の各選択肢アイテム内で、「次シーンID」として選択時の移動先シーンIDとして利用する項目
例)next_scene
データ配列中の追加シーンメッセージとなる項目名: シーンにメッセージを追加することができる項目
例)add_scene
選択肢データの最大取得数 : レスポンス内に選択肢データが多数あった場合に、最大何件まで実際の選択肢として返信メッセージ内に表示するか?
例)100
情報キャッシュの持続時間(秒) : この選択肢が表示される毎にAPI呼び出しを行う場合は「0(秒)」、もし取得する情報にあまり変動が無く、任意の秒数キャッシュして返信スピードアップおよび呼び出し回数を減らしたい場合は秒数を指定します。
例)6
例)3600(秒)⇢1時間キャッシュする場合