8.2問答請求協議頭
(注意:開頭包含紅*為必選字段)
名字 | 類型 | 描述 | 描述字段 |
*問答接口協議ID | int | 問答接口協議編號,必須為數字5 5代表業務問答協議 | protocolId |
*機器人 robotHashCode | String | 機器人識別碼,該識別碼唯一,代表每次問答的使用的是哪個機器人約束1到64個字節 | robotHashCode |
*用戶問答機器人的渠道編號 platformConnType | String | 用戶問答機器人的渠道編號,對于1個機器人可能會有好幾個渠道的知識,該參數用來標識訪問的機器人哪個渠道知識 約束1個字節,取值從0到255 | platformConnType |
*用戶每次問答機器人的用戶唯一標識userId | String | 用戶每次問答機器人的唯一標識 字段取值描述: 訪問用戶唯一標識,建議為隨機產生的不重復字符串(數字和字母組成) 長度范圍在1到40 | userId |
*外部開發平臺的自身編號talkerId | String | 固定為外部開發平臺的自身編號 約束1個字到40個字節 字段取值描述: 該字段由數字和字母組成,長度范圍為1到40 | talkerId |
* 固定為本接口的版本號 receiverId | String | 固定為本接口的版本號 字段取值描述:”3.3.0” | receiverId |
*appKey | String | 應用Id,該字段由平臺來做訪問授權控制,每一個應用都會對應一個appKey 約束1到64個字節 | appKey |
*用戶問答問題的提問時間sendTime | long | 用戶問答問題的提問時間。該時間的格式為從1970年1月1日零點到當前時間的毫秒數 字段取值描述: 從1970年1月1日零點到當前時間的毫秒數 | sendTime |
*用戶問答問題內容的類型type | String | 用戶問答問題內容的類型 字段取值描述: 取值范圍為如下兩個字段 text:文字輸入 voice:語音轉文字輸入 voice_app:http接口語音輸入 | type |
多輪對話中,本次問答是否要使用上次問答的結果來問答引擎 isNeedClearHistory | Int | 當isNeedClearHistory為0時, 不保留,為1時保留 字段取值描述: 只能取0和1兩個值,默認為0 | isNeedClearHistory |
*用戶問答機器人的問題內容query | String | 用戶問答機器人的問題內容 字段取值描述: 該字段的長度取值范圍為1到200 | query |
用戶問答的問題內容是否通過問題ID來提問 isQuestionQuery | int | 用戶的問答的問題query,可以使用文本也可以使用后臺系統中每個問題id來提問問題 字段取值描述: 只能取0和1 ,0代表使用問題文本提問,1代表使用問題id來提問問題,此時query字段應該傳后臺系統中問題的數據庫id 默認值為0 | isQuestionQuery |
請求示例
{ ????"protocolId":?5, ????"robotHashCode":?"jinrong", ????"platformConnType":?1, ????"userId":?"100031", ????"talkerId":?"10021", ????"receiverId":?"20021", ????"query":?"你好", ????"appKey":?"abcc", ????"sendTime":?56000, ????"type":?"text", ????"isNeedClearHistory":?0, ????"msgId":?"asdasd", ????"isQuestionQuery":?0 }
返回協議公用頭
名字 | 類型 | 描述 | 描述字段 |
問答接口返回協議ID | int | 問答接口返回協議ID,該值一定為6 字段取值描述: 一定為6 | protocolId |
返回結果 | int | 返回結果約束1個字節的整形,0到255 字段取值描述: 0 成功 1 失敗 | result |
協議發送時間sendTime | long | 用戶問答機器人的具體時間。該時間的格式為從1970年1月1日零點到當前時間的毫秒數 字段取值描述: 從1970年1月1日零點到當前時間的毫秒數 | sendTime |
回答類型 | int | 機器人對用戶問題的回答結果分類 一共有11類,如下 1 系統錯誤 2 有敏感詞 3 無法回答 4 需要補問 5 答案多選 6 能夠回答 7 沒有答案 8 模式匹配 10 訪問攻擊 11 聊天過頻 12? 導航知識/模式 | answerTypeId |
單一回答節點 | SingleNode類型 | 當機器人回答問題的 answerTypeId為4需要補問或者6能夠回答或者8模式匹配時,會返回單一答案節點,為json格式,詳細說明參照后文單一回答節點數據格式;情況為1系統錯誤、2有敏感詞、3無法回答時可直接取SingleNode中的answerMsg提示語 | singleNode |
多選回答節點 | VagueNode類型 | 當機器人回答問題的 answerTypeId 5答案多選、11導航知識/模式時,有可能會返回多選答案節點,為json格式,詳細說明參照多選答案節點數據格式 結果為10聊天過頻時,如果VagueNode節點中有內容則取VagueNode中的內容,如果沒有則取SingleNode中的answerMsg提示語 | vagueNode |
單一回答節點數據格式
名字 | 類型 | 描述 | 描述字段 |
標準問題ID | long | 標準問題ID | standardQue stionId |
是否圖文 | int? | 0標準問答,1圖文2單圖片 | isRichText |
答案指令 | String | 后臺添加每一條知識都對應一個cmd指令 | cmd |
標準問答問題回復 | String | 機器人回答問題的answerTypeId如果為4需要補問或者6能夠回答或者8模式匹配時,該值會有唯一的答案 圖文回復內容,為xml格式,詳細參照NewsNode數據格式 | answerMsg |
得分 | double | 引擎得分 | score |
NewsNode數據格式
名字 | 類型 | 描述 | 描述字段 |
根節點 | String | 根節點 | root |
創建時間 | long | 創建時間 | CreateTime |
圖文個數 | int | 圖文個數 | ArticleCount |
標題 | String | 圖文標題 | Title |
描述 | String | 圖文描述 | Description |
圖片url | String | 圖文圖片鏈接 | PicUrl |
鏈接 | String | 圖文鏈接 | Url |
多選答案節點數據格式
名字 | 類型 | 描述 | 描述字段 |
問題列表 | List | 推薦問題問題列表(建議不用這個) | vagueList |
問題列表詳細 | List | 機器人回答問題的answerTypeId如果為5答案多選時,會可能有推薦問題,推薦問題問題列表詳細(建議用這個)為jsonArray格式,詳細參照ItemMsg數據格式 | itemList |
前置提示語 | String | 答案的前置提示語,例如:抱歉我無法理解,但給您推薦XXX, 紅色部分代表回答的前置語 | promptVagueMsg |
后置提示語 | String | 答案的后置提示語,例如:?XXX,不知道我的回答您是否滿意 紅色部分代表回答的后置語 | endVagueMsg |
ItemMsg數據格式
名字 | 類型 | 描述 | 描述字段 |
標準問題 | String | 機器人推薦出的問題名稱 | question |
分值 | double | 推薦的問題的分值 | score |
序號 | int | 問題的序號 參數說明 1,2,3… 遞增序列號 | num |
標準問題id | long | 標準問題id 參數說明 對應的標準問在后臺系統數據庫的問題id | id |
類別 | int | 機器人回答問題的形式 參數說明 0是模式,1是知識 知識代表后臺系統知識管理中的標準知識 模式代表系統標準的模式(正則表達式) | type |