外部CGS仕様

外部CGSは、xAIMLで解決できない処理や、内部CGSで準備されていないコンテンツを取得する際に利用します。

作成した外部CGSを、シナリオ設定のサービスURLに設定すると、xAIMLから直接呼び出すことが可能になります。
サービスURLに設定するには、後述のエンドポイント仕様を満たす必要があります。

ご注意

外部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(呼び出し元)

リクエストパラメータ

Example – 2

引数が有る場合の例です。引数が有るためargsが出現し、<arg>で指定した値を保持します。

xAIML(呼び出し元)

リクエストパラメータ

レスポンスパラメータ

キー 必須  説明
user_id String リクエストパラメータのアプリIDを設定します。
bot_id String リクエストパラメータのボットIDを設定します。
status String 処理結果ステータスを設定します。
true:処理結果あり/false:処理結果なし または エラー)
error_code String エラーコードを設定します。
success:正常終了/fail:異常終了/timeout:タイムアウト)
error_message String エラーメッセージを設定します。
error_codesuccess以外を設定した場合に出現します。
params 処理結果を設定します。
statustrueを設定した場合のみ出現します。
  (optional) JSON JSON形式で任意のデータを設定します。

(optional)のデータはPredicateに格納され、xAIMLから参照することができます。参照方法はこちらをご覧ください。

Example – 1

処理結果が有る場合の例です。

Example – 2

処理結果が無い場合の例です。

Example – 3

エラーの例です。