注意,本接口的使用需要进行接口鉴权
Xbot机器人接口对接
机器人接口简介: 首先使用初始化接口创建会话,代表与机器人的一次会话,之后使用sid去调用机器人问答接口。问答接口会将问题解析为关键字去匹配机器人问答库,然后将匹配到的答案返回。
1.机器人初始化接口
-
HTTP请求方式:POST
-
请求地址:{HOST}/dingzhi/xbot/initSession/{ACCOUNTID}?sig={sig}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
-
请求示例:
https://apis.7moor.com/dingzhi/xbot/initSession/N00000000556
?sig=41276A8E7767352A0FE7456D20F03D3
- 请求体:
{
"botid": "d4302e91dc944ab1ac0b9dce58f5929b",
"account_id":"T00000029492",
"sid": "4734c140a8af49d0bcb606fc125c202b",
"distribute_channel": "pc",
"user_ip": "124.206.192.2",
"system_args": {
"system_userID":"213143", //访客id
"system_Ip":"124.206.192.2", //ip
"system_nickName":"马云", //访客名称
"system_platform":"web", //来源
"system_accessName":"北京测试", //接入渠道
"vip":"true" //一问多答的字段值
}
}
注意:
botid | xbot机器人的唯一id,后台查看 |
sid | 会话id,格式为:数字、字母、下划线、横线组合而成,长度为15-40个字符。 |
distribute_channel | 会话来源,pc,wap为网站,sdk为移动app ,weixin为公众号,wxmini为小程序,weibo为微博 |
user_ip | 访客ip |
system_args | 访客这边调用机器人接口传给机器人的参数 |
返回值:
字段 | 含义 |
---|---|
avatar | 头像 |
nickname | 机器人昵称 |
description | 机器人的相关描述 |
enable_common | 常见问题推荐开关:0关闭,1开启,默认为0 |
common_language | 常见问题推荐引导语 |
common_questions | 常见问题推荐,存标准问题 |
enable_emoji | 表情回复开关:0关闭,1开启,默认1 |
satisfied_switch | 满意度评价开关:0关闭,1开启,默认1 |
enable_is_useful | 知识点有用无用评价开关 |
wrong_text | 非文本问题回复 |
hot_questions | 热点问题 |
association_input_switch | 联想输入开关:0关闭,1开启,默认1 |
enable_source_from | 启用数据来源开关,0关闭,1开启;默认0关闭 |
- 初始化成功返回示例:
{
"avatar": "1",
"nickname": "昵称",
"description": "对机器人的相关描述",
"enable_common": 1,
"common_language": "常见问题推荐引导语",
"common_questions": [
'今天天气如何',
'今天天气如何啊'
],
"enable_emoji": 1,
"satisfied_switch": 1,
"enable_is_useful": 1,
"wrong_text": "暂时只支持文字的回复哦~",
"association_input_switch": 1
}
2.机器人问答接口
-
HTTP请求方式:POST
-
请求地址:{HOST}/dingzhi/xbot/query/{ACCOUNTID}?sig={sig}
- 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
- 鉴权文档:接口鉴权
- 请求频次限制: 60次/分钟 (针对同一会话)
请求示例:
http://apis.7moor.com/dingzhi/xbot/query/N00000000556
?sig=41276A8E7767352A0FE7456D20F03D3
- 请求体:
{
"sid": "4734c140a8af49d0bcb606fc125c202b",
"msg": "有多少人?"
}
返回值:
字段 | 含义 |
sid | 每个会话的唯一标识 |
botid | 机器人id |
msg | 提示给用户的信息 |
turn_human | 触发转人工时,值为ture |
bot2human_reason | 触发转人工时出现,3无答案,4负面情绪,5重复提问(同close _session接口)(1.8版本新增) |
q_list | nlp匹配到的除置信度最高的 问题(std_question)之外的所 有问题(含相似问) |
q_list_std | 只匹配标准问题,用于“我猜你想问:”的推荐问题 |
log:
channel | 0为API,1为web |
---|---|
user_region | 用户省份 |
user_type | 0为访客,1为xbot,2为座席 |
msg_type | 0为文本,1为其他 |
msg_time | 消息时间 |
confidence | 机器人回答置信度 |
ori_question | 用户原始问句 |
std_question | 标准问题 |
source | 消息来源 |
distribute_channel_label | 用户自定义渠道标签 |
sentiment | 用户问句情绪 |
related_docs | 数据来源具体信息,解释:当初始化接口返回参数enable_source_from的值为1时,返回回复答案时同时需要返回数据来源信息; |
- 返回示例:
{
"sid": "1234",
"botid": "test-botid",
"msg": "您好,很高兴为您服务,请问有什么可以帮助您",
"turn_human": true,
"bot2human_reason": 3,
"q_list": [
"xxxxx",
"xxxxx",
"xxxxx"
],
"q_list_std": [
"xxxxx",
"xxxxx",
"xxxxx"
],
"log": {
"channel": 1,
"user_region": "河北省",
"user_type": 1,
"msg_type": 0,
"msg_time": "2020-06-08 17:03:30",
"confidence": 0.8,
"ori_question": "xxxx",
"std_question": "xxxx",
"source": 1,
"distribute_channel_label": "weixin",
"sentiment": "neutral"
}
}
3.会话关闭或者转人工
注意:初始化后,一定要记得会话关闭。
-
HTTP请求方式:POST
-
请求地址:{HOST}/dingzhi/xbot/closeSession/{ACCOUNTID}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求示例:
http://apis.7moor.com/dingzhi/xbot/closeSession/N00000000556
?sig=41276A8E7767352A0FE7456D20F03D3
- 请求体:
{
"sid": "4734c140a8af49d0bcb606fc125c202b",
"reason": 2,
"satisfaction": 3,
"bot2human_reason": 1
}
请求值:
字段 | 含义 |
sid | 会话唯一标识的id |
reason | 关闭原因:1是会话结束关闭;2是会话已转人工 |
satisfaction | 会话满意度:不传代表未评价,1是满意,3是不满意 |
bot2human_reason | 转人工原因:1是点击转人工;2是关键词转人工;3是无答案;4是负面情绪;5是重复提问,注意reason为2时该值必填 |
- 返回示例:
{
"success": true,
"message": "200 ok!"
}
返回错误码:
error_code | 描述 | 备注 |
1001 | Missing argument {arg_name} | 缺少必要请求参数 |
1002 | bot {botid} not exist | 机器人不存在 |
1003 | bot{botid}has expired | 机器人已过期 |
1004 | invalid sid | sid不合法 |
1005 | msg can not be empty | 消息为空 |
1006 | session {sid} not exists or have been closed | 会话不存在或者已经关闭 |
1007 | invalid distribute_channel | 接入渠道不合法 |
1008 | invalid user_ip | user_ip不合法 |
1009 | invalid close reason | 会话关闭原因不合法 |
1010 | invalid bot2human_reason | 转人工原因不合法 |
1011 | invalid satisfaction | 满意度不合法 |
10001 | unopened robot package or debt | 欠费或计费异常(可以联系商务同事) |
10002 | failure in charging and deducting fees | 扣费失败(可以联系商务同事) |
4.知识库接口
4.1 新增知识库分类
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeBaseCreate/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id":"c367d6d20a994ee6a0de1bc76b4e9278",
"type_list": [
{
"type_name": "weqweq",
"parent_id": "9600203aceff464eb2464d2b8f8dd5cc",
"pre_id": "1"
},
{
"type_name": "vefwfwefw",
"parent_id": "9600203aceff464eb2464d2b8f8dd5cc",
"pre_id": "1"
}
]
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
type_list | object | 是 | 数据数组,单次限制20条 |
parent_id | String | 是 | 父级分类id |
pre_id | String | 是 | 同级别队列前一位Id,代表分类的排列顺序 |
type_name | String | 是 | 分类名称,不能重复,否则会返回空 |
- 返回值示例:
{
"code": 200,
"data": [{
"create_datetime": "2020-08-12T10:26:47",
"enable": 1,
"id": "d9f1985d9ca3431194c9ee43c7283e48",
"parent_id": "92f36eae2ec442df944e713e8108e526",
"pre_id": 23,
"type_name": "test-3-25"
}, {
"create_datetime": "2020-08-12T10:26:47",
"enable": 1,
"id": "9d89306b666147c39194caef41c5e907",
"parent_id": "92f36eae2ec442df944e713e8108e526",
"pre_id": 27,
"type_name": "test-3-27"
}],
"mssage": "success"
}
4.2 查询知识库分类
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeBaseQuery/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id": "b43e98c375394a94ab6fef4e08822b39",
"page_num": 1,
"page_size": 20
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
type_id | String | 否 | 分类名称,当有id时返回对应id对应当分类信息 |
type_name | String | 否 | 分类名,模糊搜索,返回分类当信息 |
page_num | int | 否 | 页码,默认为1 |
page_size | int | 否 | 页面大小,默认为10,上限50 |
- 返回值示例:
{
"code": 200,
"data": {
"list": [{
"create_datetime": "2020-08-11T10:27:23",
"enable": 1,
"id": "11aea82091ff422a94a9309d890ad850",
"parent_id": "92f36eae2ec442df944e713e8108e526",
"pre_id": 1,
"type_name": "test-3"
}],
"total": 1
},
"mssage": "success"
}
4.3 修改知识库分类
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeBaseUpdate/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id": "c367d6d20a994ee6a0de1bc76b4e9278",
"type_list": [{
"type_id": "a89b923549f84b7d9e39c611d1e18e59",
"type_name": "我要修改它"
}, {
"type_id": "c6b26a4fc48d44c2b8f7bc810083c153",
"parent_id": "9600203aceff464eb2464d2b8f8dd5cc",
"pre_id": 1,
"type_name": "我要修改它2"
}]
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
type_list | object | 是 | 数据数组,单次限制20条 |
parent_id | String | 否 | 父级分类id |
pre_id | String | 否 | 同级别队列前一位Id,默认为0 |
type_name | String | 否 | 分类名称 |
type_id | String | 是 | 分类id |
- 返回值示例:
{
"code": 200,
"message": "success"
}
4.4 删除指定知识库分类
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeBaseDelete/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id": "c367d6d20a994ee6a0de1bc76b4e9278",
"type_id": "a89b923549f84b7d9e39c611d1e18e59"
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
type_id | String | 是 | 分类id,多条用英文逗号分割,20上限,会删除子分类 |
- 返回值示例:
{"code":200,"message":"success"}
4.5 新增知识点
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeCreate/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
list | object | 是 | 数据数组,单次限制500条 |
knowledge | object | 是 | 知识点内容列表 |
type_id | String | 是 | 分类id |
question | String | 是 | 问题 |
answer | String | 是 | 答案 |
status | int | 是 | 开启状态:0:下架1:上架 |
qa_similars | [ ]string | 否 | 相似问 |
answer_switch | int | 否 | 一问多答开关。 0,关闭 ;1,开启;非必填,不填默认为关闭 |
qa_answers | [ ]object | 否 | 一问多答案 answer string 必传 答案 portrait_id [ ]object 否 画像ID |
- 请求示例:
{
"bot_id": "c367d6d20a994ee6a0de1bc76b4e9278",
"list": [{
"type_id": "c6b26a4fc48d44c2b8f7bc810083c153",
"knowledge": [{
"question": "我是谁",
"answer_switch": 1,
"qa_answers": [{
"answer": "<p>一问多答网站用户</p>",
"portrait_id": "b10cf3afeff04d46b5ac4a05120ba2fa"
}],
"qa_similars": ["相似问法1","相似问法2"],
"answer": "皮卡丘",
"status": 1
},
{
"question": "今年几岁",
"answer": "111",
"status": 1
}]
}, {
"type_id": "9600203aceff464eb2464d2b8f8dd5cc",
"knowledge": [{
"question": "你好",
"answer": "I'm fine.Thanks",
"status": 1
}]
}]
}
- 返回值示例:
{
"code": 200,
"data": [{
"answer": "皮卡丘",
"id": "e120f42aca244e639fc4f650cba0b125",
"qa_answers": [{
"answer": "<p>一问多答网站用户</p>",
"portrait_id": "b10cf3afeff04d46b5ac4a05120ba2fa"
}],
"qa_similars": ["相似问法1","相似问法2"],
"question": "我是谁",
"status": 1,
"type_id": "c6b26a4fc48d44c2b8f7bc810083c153",
"update_datetime": "2020-08-12T11:02:33"
}, {
"answer": "111",
"id": "78bba8b42881433c887c60fdd9dade47",
"question": "今年几岁",
"status": 1,
"type_id": "c6b26a4fc48d44c2b8f7bc810083c153",
"update_datetime": "2020-08-12T11:02:33"
}, {
"answer": "I'm fine.Thanks",
"id": "2d7feb35bf6f4963a2290ac65e34b078",
"question": "你好",
"status": 1,
"type_id": "9600203aceff464eb2464d2b8f8dd5cc",
"update_datetime": "2020-08-12T11:02:33"
}],
"message": "success"
}
4.6 查询知识点
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeQuery/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id":"c367d6d20a994ee6a0de1bc76b4e9278"
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
knowledge_id | String | 否 | 知识点id,用英文逗号拼接 |
type_id | String | 否 | 分类id,用英文逗号拼接,不传查询所有分类的知识点 |
question | String | 否 | 问题,模糊搜索,返回知识点的信息 |
answer | String | 否 | 答案,模糊搜索,返回知识点的信息 |
page_num | int | 否 | 页码,不传默认为1 |
page_size | int | 否 | 页面大小,不传默认为10 |
- 返回值示例:
{
"code": 200,
"data": {
"list": [{
"answer": "answer",
"id": "381fbcfe6bbd49e5917bafb24af7125c",
"question": "question",
"status": 1,
"type_id": "8bcf83aa3d58495d9473769763a946f0",
"update_datetime": "2020-08-12T10:44:46"
}],
"total": 119
},
"message": "success"
}
4.7 修改知识点
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeUpdate/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
list | object | 是 | 数据数组 |
id | String | 是 | 知识点id |
question | String | 否 | 问题 |
answer | String | 否 | 答案 |
status | int | 否 | 开启状态:0:下架1:上架 |
qa_similars | [ ]string | 否 | 相似问 |
answer_switch | int | 否 | 一问多答开关 0,关闭 ;1,开启;非必填,不填默认为关闭 |
qa_answers | [ ]object | 否 | 一问多答案 answer string 必传 答案 portrait_id [ ]object 否 画像ID |
- 请求示例:
{
"bot_id": "c367d6d20a994ee6a0de1bc76b4e9278",
"list": [{
"id": "77f9a65a9e1f4219bf2ffbff2bc2df46",
"answer": "可达鸭",
"qa_answers": [{
"answer": "<p>一问多答网站用户</p>",
"portrait_id": "b10cf3afeff04d46b5ac4a05120ba2fa"
}],
"qa_similars": ["相似问法1","相似问法2"]
}, {
"id": "201ecb067dce445c9cabfe42294d1e51",
"question": "没有远方没有诗"
}]
}
- 返回值示例:
{
"code": 200,
"message": "success"
}
4.8 删除指定知识点
-
HTTP请求方式:POST
-
请求地址:{host}/knowledge/knowledgeService/knowledgeDelete/{account}?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id":"c367d6d20a994ee6a0de1bc76b4e9278",
"knowledge_id":"201ecb067dce445c9cabfe42294d1e51"
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
knowledge_id | String | 是 | 知识点id,多条用英文逗号分割,上限50 |
- 返回值示例:
{
"code": 200,
"message": "success"
}
4.9 知识点点踩/点赞
-
HTTP请求方式:POST
-
请求地址:{host}/dingzhi/xbot/logChatUseless?sig={SIG}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
{
"bot_id": "xxxx",
"session_id": "xxxx",
"distribute_channel": "pc",
"ori_question": "宁波",
"question": "宁波哪里好玩",
"answer": "<p>您好,可以去天一阁、鼓楼、中山公园、宁波美术馆、老外滩、天一广场、月湖公园、南塘老街。<p>",
"confidence": 0.83622134,
"is_useful": true
}
请求值:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
session_id | String | 是 | 会话编号 |
distribute_channel | String | 是 | pc或wap:网站sdk: 移动appseixin:微信公众号wxmini:微信小程序weibo:微博wxwork:企业微信call或other: 其他test: xbot后台测试窗口,不参与数据统计 |
question | String | 是 | 问题 |
answer | String | 是 | 答案 |
confidence | float | 是 | 0~100%,机器人回答置信度 |
is_useful | boolean | 是 | 点赞/点踩: true/false |
ori_question | string | 是 | 原始问题 |
- 返回值示例:
{
"answer": "xxxxxx",
"is_useful ": false,
"ori_question": "xxxx"
}
5.机器人一问多答对接
-
说明: 知识点一问多答。同一个问题,一问多答功能可根据访客标签信息进行不同答案 的回复。(不支持公众号、小程序和微博)
-
场景举例:
访客(会员身份):现在有什么活动吗?
Bot:您可以参加以下会员活动......
访客(非会员身份):现在有什么活动吗?
Bot:对不起,您还不是会员,无法参加我们的活动哦......
-
配置流程: 1、对接云客服系统时:在扩展信息字段(也是自定义信息)增加用户标签变量跟 xbot 关联起来,客服系统对接扩展信息,是json的key-value 形式。所以 key-value 分别对应 xbot 的标签和值。具体对接方面不清楚可以联系对接群 里 的技术。
-
代码格式:
customField: { //扩展字段,json 对象,对象中的 key-value 都自定义 "user_labels":{ //xbot 一问多答标签传参 "city":"beijing" //city 为标签名,beijing 为值 } }
js 代码方式对接:
h5 代码方式对接:
安卓sdk 代码方式对接:
iossdk 代码方式对接:
2、xbot 机器人里面设置标签与客服系统用户相关联,具体位置:机器人人设置- 高级设置-应用标签设置,给用户标签变量设置对应的别名以及标签值信息,如 vip 的标签值为 true、false,分别表示是、否。
3.知识库列表-知识点编辑,设置默认答案和答案
- 默认答案:机器人未识别到对应的用户标签信息时进行回复的答案
- 答案 1:可设置对应标签信息的答案,如会员标签为“是”的访客可回复答案 1,其他 情况 则回复默认答案。
一问多答案测试效果如下:
1、访客会员身份(vip)为是(true)时:
2、其他情况或者访客会员身份(vip)为是(false)时:
6 查询数据看板 接待 概览
-
HTTP请求方式:POST
-
请求地址:{host}/kanban/xbotKanbanService/receptReport/{account}?sig=sig
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
- 请求体:
请求参数:
参数 | 类型 | 是否必填 | 说明 |
bot_id | String | 是 | 机器人编号 |
end_time | String | 是 | 结束时间 2021-11-23 |
start_time | String | 是 | 开始时间 2021-11-22 |
distribute_channel | String | 是 | 渠道, 多个渠道用 # 链接 |
渠道
渠道 | 说明 |
pc 或者 wap | 网站 |
sdk | 移动app |
weixin | 微信公众号 |
wxmini | 微信小程序 |
微博 | |
wxwork | 企业微信 |
douyin | 抖音 |
call 或者 other | 其他 |
test | xbot 后台测试窗口,不参与数据统计 |
- 请求示例:
{
"bot_id":"c367d6d20a994ee6a0de1bc76b4e9278", "start_time":"2021-11-22", "end_time":"2021-11-23", "distribute_channel": "pc#sdk"
}
返回 data 参数
参数 | 类型 | 说明 |
_id | string | 机器人id |
total_session_count | int | 已完成会话数 |
valid_session_count | int | 有效会话数 |
manual_count | int | 服务转人工 2021-11-22 |
total_chat_count | int | 总回答数 |
match_chat_count | int | 知识点命中数 |
unkonw_chat_count | int | 未知回答数 |
init_session_count | int | 接入会话 |
resolve_session_count | int | 解决会话数 |
invalid_session_count | int | 无效会话数 |
unmanual_count | int | 未转人工数 |
direct_turn_session_count | int | 直接转人工 |
direct_leave_session_count | int | 直接离开 |
turn_success_count | int | 服务转人工成功 |
turn_failed_count | int | 服务转人工失败 |
kf_draw_count | int | 服务中座席领取 |
direct_turn_success_count | int | 直接转人工成功 |
direct_turn_failed_count | int | 直接转人工失败 |
direct_kf_draw_count | int | 直接座席领取 |
click_manual_count | int | 点击转人工数 |
word_manual_count | int | 关键词转人工 |
none_manual_count | int | 无答案转人工 |
negative_manual_count | int | 负面情绪转人工 |
repeated_manual_count | int | 重复提问转人工 |
recommend_manual_count | int | 推荐问题转人工 |
useless_manual_count | int | 无帮助转人工 |
no_text_count | int | 非文本转人工 |
flow_manual_count | int | 流程节点转人工 |
define_manual_count | int | 拦截词转人工,原来叫’自定义转人工‘ |
marketing_manual_count | int | 营销转人工 |
answer_click_manual_count | int | 答案点击转人工 |
resident_button_manual_count | int | 常驻按钮转人工 |
unsatisfact_session_count | int | 默认不满意会话数 |
satisfact_session_count | int | 默认满意会话数 |
comment_session_count | int | 评价会话数 |
uncomment_session_count | int | 未评价会话数 |
comment_satisfact_session_count | int | 评价满意会话数 |
comment_unsatisfact_session_count | int | 评价不满意会话数 |
define_session_count | int | 自定义会话统计 |
recommend_chat_count | int | 知识点推荐数 |
recommend_click_chat_count | int | 知识点推荐点击数 |
recommend_unclick_chat_count | int | 知识点推荐未点击 |
flow_chat_count | int | 任务回答数 |
hanxuan_chat_count | int | 寒暄回答数 |
internet_chat_count | int | 互联网闲聊 |
context_chat_count | int | 语境回答数 |
marketing_chat_count | int | 营销回答数 |
kg_chat_count | int | 图谱回答数 |
返回示例
{
"code": 200, 渠道 说明 pc 或者 wap 网站 sdk 移动app weixin 微信公众号 wxmini 微信小程序 weibo 微博 wxwork 企业微信 douyin 抖音 call 或者 other 其他 test xbot 后台测试窗口,不参与数据统计 123456 参数 类型 是否必填 说明 total_session_count int 是 已完成会话数 valid_session_count int 是 有效会话数 manual_count int 是 服务转人工 total_chat_count int 是 总回答数 match_chat_count int 是 知识点命中数 unkonw_chat_count int 是 未知回答数 12
修改频次 数据库插入该条数据 修改"data":{ "total_session_count": 0, "valid_session_count": 0, "manual_count": 0, "total_chat_count": 0, "match_chat_count": 0, "unkonw_chat_count": 0 },"mssage": "success"
}
修改频次
1、数据库插入该条数据
{
user interAPI; db.getCollection('xbot_rate_limit').insert({ "_id" : "b0e21001-e461-6666-baf9-5e793b640616", "version" : "vxbot352", "accountId" : "normal","options" : [ { "module" : "kanban", "method" : "receptReport", "rateCount" : "50" }]})
}
2、修改
{
user interAPI; db.getCollection('xbot_rate_limit').updateOne({ _id: "b0e21001-e461-6666-baf9-5e793b640616" },{$set: { "options.0.rateCount" : "100" } })
}
7 机器人联想输入接口文档
- HTTP请求方式:POST
- 接口参数格式:json
-
请求地址:{host}/dingzhi/xbot/inputSuggest/{account}?sig=sig
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
请求参数
参数 | 类型 | 是否必填 | 字段描述 |
bot_id | string | 是 | 机器人id |
keyword | string | 是 | 联想输入匹配词 |
请求体示例:
{
"bot_id": "67966862439f497599da5b60d0223fb2",
"keyword": "测试"
}
返回参数
参数 | 类型 | 字段描述 |
success | Boolean | 接口调用成功与否 |
message | string | 接口提示信息 |
data | object | 联想输入查询结果 |
返回示例:
{
"success": true,
"message": "200 OK",
"data": {
"keyword": "测试",
"keyword_question": [
"小程序测试二",
"测试问题",
"多回答测试",
"小程序测试",
"文本链接测试"
]
}
}
8 xbot维护分析报表接口文档
- 接口请求方式:POST
- 接口参数格式:json
- 请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
- 鉴权文档:接口鉴权
- 请求链接:{HOST}/kanban/xbotKanbanService/maintenance/{ACCOUNTID}?sig=SIG
- 请求频次限制:50次/分钟
请求参数
字段名 | 字段类型 | 是否必填 | 字段描述 |
---|---|---|---|
bot_id | string | 是 | 机器人id |
start_time | string | 是 | 开始时间 |
end_time | string | 是 | 结束时间 |
user_id | string[] | 否 | 维护成员,不传代表全部成员 |
precision | string | 是 | 报表类型(年报year,月报customize,日报day) |
请求体示例
{
"bot_id": "ff70ffab75204f5aa9d0ebff7a8c0f88",
"start_time": "2022-01-01",
"end_time": "2022-12-31",
"user_id": [
"88839490979245b895d6b7350eaa7fc6"
],
"precision": "year"
}
返回参数
字段名 | 字段类型 | 字段描述 |
---|---|---|
code | number | 响应码 |
data | Object[] | 报表数据 |
message | String | 响应说明 |
data Object
字段名 | 字段类型 | 字段描述 |
---|---|---|
CreateKb | string | 新增知识点0 |
UpdateKb | string | 更新知识点1 |
TransKb | string | 转移知识点2 |
DelteKb | string | 删除知识点3 |
UpKb | string | 上架知识点4 |
DownKb | string | 下架知识点5 |
ImportKb | string | 导入知识点6 |
SimilarLearn | string | 相似问法学习7 |
DeleteQa | string | 忽略问题8 |
DeleteUnsa | string | 不满意会话处理数9 |
_id | string | _id |
返回示例
{
"code": 200,
"data": [
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "1月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "2月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "3月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "4月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "5月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "6月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "7月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "8月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "9月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "10月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "11月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": "12月"
},
{
"CreateKb": 0,
"DeleteQa": 0,
"DeleteUnsa": 0,
"DelteKb": 0,
"DownKb": 0,
"ImportKb": 0,
"SimilarLearn": 0,
"TransKb": 0,
"UpKb": 0,
"UpdateKb": 0,
"_id": 0
}
],
"message": "success"
}