根据算法匹配,获取答案

用户与机器人交互前,先调用算法匹配服务,使用户在输入问题后及时获取答案。

接口描述

  • 输入问题后点击发送或者直接回车进行提问,经过算法引擎,获得问题的答案

请求

GET http://apigate.hsifue.cn/api/front/matchedResult

请求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)

请求成功返回的数据

请求成功返回数据字段描述

返回字段 类型 示例值 描述
answer 字符串 因为GBQ4.0软件在分部分项界面点的重用组价,只会自动复制过来分部分项的项 返回的答案
hideUpDown 布尔型 false 用于前端显示或隐藏点踩点赞页签
cid 字符串 2e604f02-29c5-4843-affd-533e0e497ee8 单条会话的唯一标识
initialQuestion 字符串 计价GBQ4如何下载 初始问题,用于问题学习
isProfessional 整型 0 1为非专业问题,0为专业问题
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
			}
		},			
		"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"
		}],
		"isProfessional": 0,
		"hideUpDown": false,
		"resultType": 0,
		"initialQuestion": "GBQ",
		"cid": "eba7d442-5813-48fa-b13e-d13c2aa89a4f"
	},
	"pageCount": 3,
	"pageNumber": 1,
	"recordCount": 15,
	"pageSize": 5
}

请求成功返回的数据基本示例—人工监管 当前会话被人工监管了, 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": "matchedResult.channel: value must be between 1 and 6"
		}
	
		{
    	"code": 400,
    	"message": "matchedResult.question: Length exceeds the max value [500]"
		}
	
    {
        "code": 500,
		"message": "java.lang.ClassCastException"
    }