外部CGSは、xAIMLで解決できない処理や、内部CGSで準備されていないコンテンツを取得する際に利用します。
作成した外部CGSを、ボット設定のサービスに設定すると、xAIMLから直接呼び出すことが可能になります。
サービスに設定するには、後述のエンドポイント仕様を満たす必要があります。
ご注意
外部CGSを自然対話プラットフォーム上で動作させることはできません。
動作させるには、ご自身で外部サーバを準備していただく必要があります。
エンドポイント
URL
外部サーバ上に、以下のURLとなるよう外部CGSを構築してください。
サーバ名は、ドメイン/IPアドレスのどちらでも使用できます。
サービス名は、半角英数字のみ使用できます。
http://www.example.com/サービス名/ |
リクエスト
自然対話プラットフォームからリクエストされる情報は以下のとおりです。
Method | POST |
Header | Content-Type: application/json;charset=UTF-8 |
Body | JSON 形式。(詳細はリクエストパラメータを参照) |
レスポンス
自然対話プラットフォームにレスポンスする情報は以下のとおりです。
Header | Content-Type: application/json;charset=UTF-8 |
Body | JSON 形式。(詳細はレスポンスパラメータを参照) |
リクエストパラメータ
キー | 型 | 必須 | 説明 | |||||
---|---|---|---|---|---|---|---|---|
user_id |
String |
◯ | 呼び出し元のアプリID(appId)です。 | |||||
bot_id |
String |
◯ | 呼び出し元のボットIDです。 | |||||
lang |
String |
◯ | 呼び出し元ボットの言語です。 ex) ja-JP , en-US |
|||||
args |
Object |
– | <ext> の<arg> で指定した引数を保持します。引数が有る場合のみ、args が出現します。 |
|||||
(optional) |
String |
– | (optional) には、<arg> で指定したname とコンテントを以下の例のように保持します。
xAIML例
|
Example – 1
引数が無い場合の例です。引数が無いためargs
が省略されます。
xAIML(呼び出し元)
1 2 3 4 5 |
<template> <ext name="example" /> </template> |
リクエストパラメータ
1 2 3 4 5 |
{ "user_id": "1234567890", "bot_id": "12345", "lang": "ja-JP" } |
Example – 2
引数が有る場合の例です。引数が有るためargs
が出現し、<arg>
で指定した値を保持します。
xAIML(呼び出し元)
1 2 3 4 5 6 7 8 9 |
<template> <ext name="example"> <arg name="arg1">value1</arg> <arg name="arg2">value2</arg> </ext> </template> |
リクエストパラメータ
1 2 3 4 5 6 7 8 9 |
{ "user_id": "1234567890", "bot_id": "12345", "lang": "ja-JP", "args": { "arg1": "value1", "arg2": "value2" } } |
レスポンスパラメータ
キー | 型 | 必須 | 説明 | |
---|---|---|---|---|
user_id |
String |
◯ | リクエストパラメータのアプリIDを設定します。 | |
bot_id |
String |
◯ | リクエストパラメータのボットIDを設定します。 | |
status |
String |
◯ | 処理結果ステータスを設定します。 ( true :処理結果あり/false :処理結果なし または エラー) |
|
error_code |
String |
◯ | エラーコードを設定します。 ( success :正常終了/fail :異常終了/timeout :タイムアウト) |
|
error_message |
String |
– | エラーメッセージを設定します。error_code にsuccess 以外を設定した場合に出現します。 |
|
params |
– | – | 処理結果を設定します。status にtrue を設定した場合のみ出現します。 |
|
(optional) |
JSON |
– | JSON形式で任意のデータを設定します。
|
Example – 1
処理結果が有る場合の例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
{ "user_id": "1234567890", "bot_id": "12345", "status": "true", "error_code": "success", "params": { "user_name": { "first": { "text": "aaaa" }, "last": { "text": "bbbb" } }, "result_value": [ { "id": 43210, "value": [ { "name": "hoge", "age": 21 }, { "name": "fuga", "age": 60 } ] } ] } } |
Example – 2
処理結果が無い場合の例です。
1 2 3 4 5 6 |
{ "user_id": "1234567890", "bot_id": "12345", "status": "false", "error_code": "success" } |
Example – 3
エラーの例です。
1 2 3 4 5 6 7 |
{ "user_id": "1234567890", "bot_id": "12345", "status": "false", "error_code": "fail", "error_message": "Internal Server Error" } |
1 2 3 4 5 6 7 |
{ "user_id": "1234567890", "bot_id": "12345", "status": "false", "error_code": "timeout", "error_message": "Connection Time Out" } |