8.2问答请求协议头

(注意:开头包含红*为必选字段)

名字类型描述描述字段
*问答接口协议IDint

问答接口协议编号,必须为数字5

5代表业务问答协议

protocolId

*机器人

robotHashCode

String机器人识别码,该识别码唯一,代表每次问答的使用的是哪个机器人约束1到64个字节robotHashCode

*用户问答机器人的渠道编号

platformConnType

String用户问答机器人的渠道编号,对于1个机器人可能会有好几个渠道的知识,该参数用来标识访问的机器人哪个渠道知识

约束1个字节,取值从0到255

platformConnType
*用户每次问答机器人的用户唯一标识userIdString用户每次问答机器人的唯一标识

字段取值描述:

访问用户唯一标识,建议为随机产生的不重复字符串(数字和字母组成)

长度范围在1到40

userId
*外部开发平台的自身编号talkerIdString固定为外部开发平台的自身编号

约束1个字到40个字节

字段取值描述:

该字段由数字和字母组成,长度范围为1到40

talkerId

* 固定为本接口的版本号

receiverId

String

固定为本接口的版本号

字段取值描述:”3.3.0”

receiverId
*appKeyString应用Id,该字段由平台来做访问授权控制,每一个应用都会对应一个appKey

约束1到64个字节

appKey
*用户问答问题的提问时间sendTimelong用户问答问题的提问时间。该时间的格式为从1970年1月1日零点到当前时间的毫秒数

字段取值描述:

从1970年1月1日零点到当前时间的毫秒数

sendTime
*用户问答问题内容的类型typeString用户问答问题内容的类型

字段取值描述:

取值范围为如下两个字段

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
协议发送时间sendTimelong用户问答机器人的具体时间。该时间的格式为从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

单一回答节点数据格式

名字类型描述描述字段
标准问题IDlong标准问题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
图片urlString图文图片链接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
标准问题idlong

标准问题id

参数说明

对应的标准问在后台系统数据库的问题id

id
类别int

机器人回答问题的形式

参数说明

0是模式,1是知识

知识代表后台系统知识管理中的标准知识

模式代表系统标准的模式(正则表达式)

type