用户与机器人交互前,先调用算法匹配服务,使用户在输入问题后及时获取答案。
接口描述
请求
GET http://apigate.hsifue.cn/front/v2/matchedResult/get
请求header参数
| 参数 | 参数类型 | 参数约束 | 是否必传 | 示例值 | 描述 |
|---|---|---|---|---|---|
| session-id | 字符串 | 服务端返回,可从以下api中获取: - 开始新会话 - 会话超时,重启会话 | 否 | C3D205E1B4C72BF451CDC326328786A5 | 索引用户信息的key |
请求param参数
| 参数 | 参数类型 | 参数约束 | 是否必传 | 示例值 | 描述 |
|---|---|---|---|---|---|
| robot | 字符串 | 服务端获取 | 是 | GCCP | 机器人标识: 每次刚打开或者是切换机器人时, 从 获取机器人列表 接口获取 |
| question | 字符串 | 最大长度500 | 是 | GBQ4如何使用 | 用户输入的问题 |
| chatid | 字符串 | 服务端获取 | 是 | 74139073-4cfd-449b -9479-7e2fb4895d4d | 会话ID,同一会话ID可能包含多组问答, 从初始会话 开始新会话 api获取 |
| channel | 整型 | 1/2/3/4/5/6 | 是 | 2 | 1.PC 2.公众号 3.网站 4.个人微信 5.小程序 6.APP |
| isHot | 布尔型 | true/false | 否 | true | PC端数据埋点使用 |
| isPrevPage | 布尔型 | true/false | 否 | true | PC端数据埋点使用 |
| pageNumber | 整型 | 整型 | 否 | 1 | 第几页,PC端进行引导回答换一批的时候使用,值从1开始 |
| pageSize | 整型 | 整型 | 否 | 5 | 每页数量(默认5) |
| routing | 字符串 | 上一轮会话中获取 | 否 | nlu/faq | 用于区分后台调用的算法引擎(不传默认faq) |
| qid | 整型 | 上一轮会话中获取 | 否 | 133256 | 表格问题中直推的标问ID,从上一轮表格问答中获取,当routing为nlu时传递 |
| slotVecsState | 字符串 | 上一轮会话中获取 | 否 | None | 算法引擎使用 |
| slotsContent | 字符串 | 上一轮会话中获取 | 否 | None | 算法引擎使用 |
| slotsQueryTimes | 字符串 | 上一轮会话中获取 | 否 | None | 算法引擎使用 |
请求成功返回的数据
请求成功返回数据字段描述
| 返回字段 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| answer | 字符串 | 因为GBQ4.0软件在分部分项界面点的重用组价,只会自动复制过来分部分项的项 | 返回的答案 |
| hideUpDown | 布尔型 | false | 用于前端显示或隐藏点踩点赞页签 |
| cid | 字符串 | 2e604f02-29c5-4843-affd-533e0e497ee8 | 单条会话的唯一标识 |
| initialQuestion | 字符串 | 计价GBQ4如何下载 | 初始问题,用于问题学习 |
| isProfessional | 整型 | 0 | 1为非专业问题,0为专业问题 |
| routing | 字符串 | nlu | nlu/faq,用于后台区分调用的算法引擎 |
| slotVecsState | 字符串 | None | 算法引擎使用 |
| slotsContent | 字符串 | None | 算法引擎使用 |
| slotsQueryTimes | 字符串 | None | 算法引擎使用 |
| resultType | 整型 | 5 | 返回的数据结构类型,据此做不同的显示处理, 目前用于PC端埋点 : - 0为引导问题 - 1为直推 - 2为引导后点击 - 3为未回答上 - 4为智能提示 - 5为闲聊 - 6为人工问题 - 7为直推下挂点击 - 8为表格问题 |
| directQue | 对象 | 返回字段类型示例值描述question字符串缀为GBQ4/GZB4/GTB4/GBG9/GPB9的文件要怎么打开问题htmlAnswer字符串首先打开软件,然后点击就可以了答案qid整型133256当前问题的唯一标识type整型2当前问题的类型 : - 0为常规问题 - 1为人工问题 - 2为流程问题 - 3为表格问题 | 直推的数据(包括常规问题和表格问题),包含问题、答案、类型等相关信息 |
| flowItem | 对象 | 返回字段类型示例值描述id整型558流程项id, 用于获取下一个流程项isFirstItem布尔型true标识是不是第一个流程项, 用于控制是否显示标问 (只有第一个流程项的话才显示标问) - true: 是第一个流程项 - false: 不是第一个流程项flowName字符串第一步流程项名称flowContent字符串安装GBQ4流程项内容linkContent字符串下一步下一个流程项的链接入口, 点击能够展示出下一个流程项 | 流程问题的流程项(type=2) - 如果不是一个流程问题, 不返回该结构 |
| similarQue 或 anotherQue | 对象 | 返回字段类型示例值描述qid整型133256当前问题的唯一标识type整型2当前问题的类型 : - 0为常规问题 - 1为人工问题 - 2为流程问题 - 3为表格问题question字符串缀为GBQ4文件要怎么打开问题 | 当前问题的相似问题列表 (其他字段后台使用,无需关注) |
请求成功返回的数据基本示例—-直推下挂 算法推出一条答案, 并返回三条相似的问题
{
"code": 200,
"message": "success",
"result": {
"similarQue": [{
"question": "计价GBQ4.0重用组价,查询历史工程,全选自动复制组价为什么措施项目组价没有一起匹配过来?",
"levelId": "5",
"type": 0,
"qid": "262189"
}, {
"question": "计价GBQ4.0如何返回项目管理界面?",
"levelId": "5",
"type": 0,
"qid": "260847"
}],
"directQue": {
"htmlAnswer": "<p>计价软件载入XML组价后,部分单位工程组价没有匹配进去是因为工程招标清单里面的部分单位工程清单编码和招标方给的招标控制价里面的清单编码不匹配。</p>",
"question": "计价GBQ4.0项目管理界面载入XML组价后,部分单位工程组价并没有匹配进去",
"type": 2,
"qid": "262100",
"flowItem": {//只有type=2才有
"flowContent": "<p>测试1 </p>",
"id": 483,
"flowName": "测试1",
"linkContent": "测试1",
"isFirstItem": true
}
},
"routing": "faq",
"slotVecsState": "None",
"slotsContent": "None",
"slotsQueryTimes": "None",
"answer": "<p>计价软件载入组价</p>",
"isProfessional": 0,
"hideUpDown": false,
"resultType": 1,
"initialQuestion": "计价GBQ4.0项目管理界面载入XML组价后,部分单位工程组价并没有匹配进去",
"cid": "aec5c6a6-f269-4f61-b19f-81759c49692a"
}
}
请求成功返回的数据基本示例—换一批提示/分页 算法没有找到正确答案, 返回五条提示的问题
{
"code": 200,
"message": "success",
"result": {
"anotherQue": [{
"question": "计价GBQ4.0如何找回历史工程?",
"levelId": "5",
"type": 0,
"qid": "260690"
}, {
"question": "计价GBQ4.0软件安装之后不显示图标/显示白色/没有生成Bin文件夹怎么处理?",
"levelId": "5",
"type": 0,
"qid": "262034"
}, {
"question": "计价GBQ4.0软件没有锁如何查看工程的数据?",
"levelId": "5",
"type": 0,
"qid": "262043"
}, {
"question": "计价GBQ4.0如何生成招标书/投标书?",
"levelId": "5",
"type": 0,
"qid": "260762"
}, {
"question": "计价GBQ4.0如何将投标文件或者招标文件转换为预算文件?",
"levelId": "5",
"type": 0,
"qid": "260641"
}],
"routing": "faq",
"slotVecsState": "None",
"slotsContent": "None",
"slotsQueryTimes": "None",
"isProfessional": 0,
"hideUpDown": false,
"resultType": 0,
"initialQuestion": "GBQ",
"cid": "eba7d442-5813-48fa-b13e-d13c2aa89a4f"
},
"pageCount": 3,
"pageNumber": 1,
"recordCount": 15,
"pageSize": 5
}
请求成功返回的数据基本示例—-表格问题 算法推出一条表格问题答案
{
"code": 200,
"message": "success",
"result": {
"directQue": {
"htmlAnswer": "<p>计价软件载入XML组价后,部分单位工程组价没有匹配进去是因为工程招标清单里面的部分单位工程清单编码和招标方给的招标控制价里面的清单编码不匹配。</p>",
"question": "计价GBQ4.0项目管理界面载入XML组价后,部分单位工程组价并没有匹配进去",
"type": 3,
"qid": "262100"
},
"routing": "nlu",
"slotVecsState": "None",
"slotsContent": "None",
"slotsQueryTimes": "None",
"answer": "<p>计价软件载入组价</p>",
"isProfessional": 0,
"hideUpDown": false,
"resultType": 1,
"initialQuestion": "计价GBQ4.0项目管理界面载入XML组价后,部分单位工程组价并没有匹配进去",
"cid": "aec5c6a6-f269-4f61-b19f-81759c49692a"
}
}
请求成功返回的数据基本示例—人工监管 当前会话被人工监管了, pc端使用, h5/公众号/小程序暂时不用关注
{
"code": 200,
"message": "success",
"result": {
"peerChatid": "weizp-a_1554342532589",
"isDeal": 1
}
}
请求失败返回的数据
请求失败返回数据基本示例 查看其它状态码
{
"code": 400,
"message": "Required parameter 'chatid' is not present"
}
{
"code": 400,
"message": "v2matchedResult.routing: 'xx' is invalid routing.valid routing must be in ('faq','nlu')"
}
{
"code": 400,
"message": "v2matchedResult.channel: value must be between 1 and 6"
}
{
"code": 400,
"message": "v2matchedResult.question: Length exceeds the max value [500]"
}
{
"code": 500,
"message": "java.lang.ClassCastException"
}