対話

概要

「対話」では、「ユーザーID取得」で取得したユーザーIDを利用して、作成したボットと話すことができます。

同じユーザーIDを指定することで、ボットは過去の会話の中で覚えた話し相手の情報を利用した返答や前回話した会話の続きから会話を再開することが可能です。

ユーザーIDを変更すると、ボットは異なる相手と話していると理解するため、ユーザーIDはエンドユーザごとに取得してご利用ください。

プロトコルHTTP
文字コードUTF-8
リクエストURL https://api.repl-ai.jp/v1/dialogue
HTTPメソッドPOST

リクエストヘッダ

キー必須説明
Content-Type-リクエストボディのコンテンツタイプを指定。
application/json
x-api-keyStringマイプロジェクトのプロジェクト一覧画面に表示されている「APIキー」を指定。

リクエストボディ

キー必須説明
appUserIdStringユーザーID取得」で取得したユーザーIDを指定。
botIdString対話するボットのボットIDを指定。
マイプロジェクトのプロジェクト一覧/プロジェクト詳細画面に表示される「ボットID」。
voiceTextString発話テキストを指定。
initTalkingFlagがtrueの際は"init"を指定。
initTalkingFlagboolean初回発話か否かを識別するフラグを指定。
初回の発話時: true
初回以外: false
initTopicIdStringシナリオIDを指定。
マイプロジェクトのプロジェクト一覧/プロジェクト詳細画面に表示される「シナリオID」。
initTalkingFlagがtrueの際は必須。
appRecvTimeStringクライアントアプリケーションが最後にレスポンスを受信した時刻を指定。
初回の場合は現在時刻を指定。
フォーマット:YYYY-MM-DD hh:mm:ss
※設定不要な場合は、appRecvTimeの送信は不要(下記参照)。
appSendTimeStringクライアントアプリケーションがリクエストを送信した時刻を指定。
フォーマット:YYYY-MM-DD hh:mm:ss
※設定不要な場合は、appSendTimeの送信は不要(下記参照)。

リクエスト例

"appRecvTime","appSendTime"を設定する場合
POST https://api.repl-ai.jp/v1/dialogue

{
"appUserId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"botId": "APIBot",
"voiceText": "init",
"initTalkingFlag": true,
"initTopicId": "APITOPIC",
"appRecvTime": "2015-10-29 12:54:26",
"appSendTime": "2015-10-29 12:54:26"
}

"appRecvTime","appSendTime"を省略する場合
POST https://api.repl-ai.jp/v1/dialogue

{
"appUserId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"botId": "APIBot",
"voiceText": "init",
"initTalkingFlag": true,
"initTopicId": "APITOPIC"
}

レスポンス(JSON)

キー必須説明
systemTextハッシュシステムからの返答一覧。
expressionStringシステムからの返答。
utteranceString音声合成用テキスト。
serverSendTimeStringサーバがレスポンスを送信した時刻。

レスポンス例

{
"systemText": {
"expression": "今日の東京周辺のお天気は、曇りです。",
"utterance": "今日の東京周辺のお天気は、曇りです。"
},
"serverSendTime": "2015-09-28 12:32:44"
}

エラーレスポンス

HTTP主要ステータスコード

ステータスコード説明
200 OK成功応答
400 Bad Requestリクエストパラメータ不正
500 Internal Server Errorサーバ内部エラー
読込中...