注意,以下接口的使用都需要进行接口鉴权
1.查询在线客服会话接口
-
HTTP请求方式:POST
-
请求url:{HOST}/v20170418/webChat/queryWebchatSession/{ACCOUNTID}?sig={sig}
-
请求时请将{HOST}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
-
频次限制:20次/每分钟
-
查询数据限制:默认最多返回1000条数据
请求示例:
http://apis.7moor.com/v20170418/webChat/queryWebchatSession/N00000000556
?sig=DBD2D28F3D895AAD1572925AAE50AEA8
请求体
字段 | 类型 | 是否必须 | 备注 |
_id | String | 否 | 主键 |
sName | String | 否 | 用户名称 |
createTimeBegin | String | 否 | 创建时间开始,格式yyyy-MM-dd HH:mm:00 |
createTimeEnd | String | 否 | 创建时间结束,格式yyyy-MM-dd HH:mm:00 |
beginTimeBegin | String | 否 | 开始时间开始,格式yyyy-MM-dd HH:mm:00 |
beginTimeEnd | String | 否 | 开始时间结束,格式yyyy-MM-dd HH:mm:00 |
endTimeBegin | String | 否 | 结束时间开始,格式yyyy-MM-dd HH:mm:00 |
endTimeEnd | String | 否 | 结束时间结束,格式yyyy-MM-dd HH:mm:00 |
manualTimeBegin | String | 否 | 人工时间开始,格式yyyy-MM-dd HH:mm:00 |
manualTimeEnd | String | 否 | 人工时间结束,格式yyyy-MM-dd HH:mm:00 |
msgCountType | String | 否 | “gt” : “大于”,“lt”: “小于“,“eq”:”等于”.消息条数范围,和msgCount一起使用。例如:msgCountType的值为”gt”, msgCount的值为”100”,就组成一个查询条件是”消息条数大于100” |
msgCount | String | 否 | 消息条数,和msgCountType一起使用。例如:msgCountType的值为”gt”, msgCount的值为”100”,就组成一个查询条件是”消息条数大于100” |
area | String | 否 | 地域 |
page | int | 否 | 查询第几页数据,默认1 |
pageSize | int | 否 | 每页数量,默认100 |
请求体示例
{
"createTimeBegin": "2020-11-07 00:00:00",
"createTimeEnd": "2020-12-07 00:00:00",
"beginTimeBegin": "2020-11-07 00:00:00",
"beginTimeEnd": "2020-12-07 00:00:00",
"endTimeBegin": "2020-11-07 00:00:00",
"endTimeEnd": "2020-12-07 00:00:00",
"manualTimeBegin": "2020-11-07 00:00:00",
"manualTimeEnd": "2020-12-07 00:00:00",
"msgCountType": "gt",
"msgCount": "5"
}
返回值:
字段 | 含义 |
code | 响应码 |
message | 响应信息 |
data | 返回数据,JSON格式 |
finishAllReason | 会话结束类型 完整数据 |
data:
count | 查询到的在线客服会话数 |
webchatSession | 在线客服会话数据 |
webchatSession
_id | 会话主键 |
sid | 访客id |
type | 类型,默认webchat 在线客服 |
status | 状态 undeal待领取 deal 已领取 finish 已关闭 unassign 未分配 invalid 无效的 changePeer 已流转 |
account | 账户编号 |
createTime | 创建时间 |
accessId | 用户植入七陌代码中的accessId的值 |
platform | 平台来源 pc 网站咨询 wap wap咨询 sdk app咨询 weixin 微信咨询 |
sName | 用户名称 |
customerId | 用户Id(没有关联用户返回“NA”) |
seoSource | 搜索来源 |
seoKeywords | 关键字 |
ip | IP地址 |
fromUrl | 咨询页面url值 |
urlTitle | 上级来源 |
referrer | 咨询页面title |
area | 地域 |
toPeer | 所属技能组 |
manualTime | 人工开始时间 时间戳 |
user | 所属坐席 |
lastClaimTime | 最后领取时间 时间戳 |
robotToManualTime | 机器人转人工时间 格式 yyyy-MM-dd HH:mm:ss |
beginTime | 坐席领取时间 格式 yyyy-MM-dd hh:mm:ss |
agentClaimTime | 坐席领取时间 时间戳 |
manualTime | 人工时间 |
lastAgentMsgTimeStamp | 坐席最后一下回复的时间 |
firstReplyTime | 第一次回复的时间 |
replyMsgCount | 客服回复消息数 |
totalMsgCount | 消息总数 |
msgCount | 用户发送消息数 |
lastCustomerMsgTimeStamp | 用户最后一条消息的时间 |
fromUser | 流转前坐席 |
lastRedirectTime | 上次转接|抢接|转技能组时间 |
previousPeer | 流转前技能组 |
username | 所属坐席名称 |
lastRedirectUserTime | 直接转坐席的时间 |
startCustomerWaitTimeStamp | 用户开始等待的时间戳 |
remark | 备注 |
finishReason | 结束类型 |
finishUser | 结束坐席 |
endTime | 会话结束时间 |
otherParams | 扩展字段中数据。"otherParams": { "customField": { "name": "小明", "age": 18 } } |
agentPushCsr | 是否坐席发起(坐席发起的评价才有该字段) |
appraiseTime | 满意度评价发起时间 |
appraise | 评价内容(好评、一般、差评) |
investigate | 满意度具体数据。{ "user": "坐席id", "toPeer": "技能组编号", "appraiseKey": "等级id", "value": "评价内容", "label": "评价标签", "content": "备注", "createTime": "创建时间" } |
cue | 线索 |
code :
代码 | 含义 |
200 | 请求成功 |
400 | 请求体参数错误 |
403 | 接口访问频次达到上限或者鉴权失败 |
500 | 服务器错误 |
返回200示例
{
"code": 200,
"message": "success!",
"data": {
"count": 1,
"webchatSession": [
{
"_id": "0e0ba690-80f9-11ed-9107-036285b28f96",
"sid": "816120a4-2a32-4c2c-8948-5f54dfd7bff7",
"type": "webchat",
"status": "deal",
"account": "N00000022688",
"createTime": "2022-12-21 14:31:08",
"createTimeStamp": 1671604268936,
"accessId": "68da5370-7f85-11ed-86c3-7ff59459e2db",
"platform": "wap",
"autoClaimVersion": "0.046241424492751815_1671604347561",
"sName": "mmkjjYxSX7C",
"userStatus": "offline",
"seoSource": "",
"seoKeywords": "",
"ip": "58.251.130.2",
"biUpdateTime": "2022-12-21 14:36:04",
"totalMsgCount": 4,
"replyMsgCount": 2,
"robotStatusTotalMsgCount": 5,
"msgSidCount": 4,
"fromUrl": "http://",
"urlTitle": "wap嵌入页",
"referrer": "undefined",
"navigator": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 wxwork/4.0.20 MicroMessenger/7.0.1 Language/zh ColorScheme/Light",
"otherParams": {},
"firstOtherParams": {},
"isNewVisitor": "true",
"area": "中国 广东省 深圳市",
"toPeer": "xx测试",
"assistRobotType": "xbot",
"robotAssistId": "6e8b771b8520403880107e51a190b21f",
"serviceMan": "manual",
"robotCid": "",
"robotUid": "816120a4-2a32-4c2c-8948-5f54dfd7bff7",
"robotName": "试用机器人",
"robotImg": "1",
"robotSysNum": null,
"robotType": "xbot",
"robot": "6e8b771b8520403880107e51a190b21f",
"enableRobotCsr": 1,
"enableAsr": 0,
"robotAgentInputPrompt": null,
"lastMessage": {
"contentType": "image",
"content": "https://cc-im-kefu-cos.7moor-fs1.com/im/68da5370-7f85-11ed-86c3-7ff59459e2db/2022-12-21/1671604482549/8d60b250-80f9-11ed-a39a-830d4bb6a82fpng",
"lastMessageFrom": "agent",
"biUpdateTime": "2022-12-21 14:34:42",
"messageId": "8d913830-80f9-11ed-90c1-cdd73931e677"
},
"lastMessageFrom": "agent",
"robotToManualTime": "2022-12-21 14:32:05",
"beforeSessionFromId": "2f83eb20-80f9-11ed-8217-d507b07fb0bb",
"leakNum": 0,
"lastTimeStamp": 1671604482867,
"msgCount": 2,
"lastCustomerMsgTimeStamp": 1671604369226,
"manualTime": 1671604346568,
"bot2humanReason": "0",
"user": "[8062]wangjun",
"lastClaimTime": 1671604347561,
"beginTime": "2022-12-21 14:32:27",
"agentClaimTime": 1671604347561,
"havePushNoAgentMsg": false,
"history": [
{
"user": "8062",
"time": "2022-12-21 14:32:27",
"type": "claim"
}
],
"masterArr": [
"b4acab50-e864-11ea-b89b-ad609aa38554"
],
"autoClaimVersions": [
"0.046241424492751815_1671604347561"
],
"lastAgentMsgTimeStamp": 1671604482867,
"firstReplyTime": 1671604389460,
"agentFirstReplyTime": 1671604389460,
"agentPushCsr": true,
"appraiseTime": "2023-03-06 16:08:19",
"sBreakTime": 1678090102082,
"appraise": "一般",
"investigate": {
"user": "33522710-0f7e-11eb-80bb-6353065647b0",
"toPeer": "10071740",
"appraiseKey": "1f1d6fb0-4934-11e8-b692-a9a56431a622",
"value": "一般",
"label": "服务态度,处理结果,响应时间",
"content": "测试时间",
"createTime": "2023-03-06 16:08:19"
}
}
]
}
}
返回400示例:
{
"code": 400,
"message": "Please check your parameters"
}
返回403示例:
{
"code": 403,
"message": "Server is busy, max request frequency is 20/min"
}
返回500示例:
{
"code": 500,
"message": "Internal Server Error"
}
2.查询在线客服聊天记录接口:
接口:
-
HTTP请求方式:POST
-
请求地址:{url}/v20160818/webChat/queryWebchatMessage/{ACCOUNTID}?sig={SIG}
-
请求时请将{url}换成对接数据查询中获取到的请求域名,{ACCOUNTID}替换为账户编号,{SIG}是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
-
频次限制:20次/每分钟
请求url:
http://apis.7moor.com/v20160818/webChat/queryWebchatMessage/N00000000556
?sig=DBD2D28F3D895AAD1572925AAE50AEA8
请求体
字段 | 类型 | 是否必须 | 备注 |
sid | String | 是 | 访客id |
sessionId | String | 否 | 会话唯一标识,也是上面查询会话接口每个会话返回的_id 可以通过这个字段只查询当前会话的聊天记录 |
dateTimeBegin | String | 否 | 消息发送时间开始,格式 yyyy-MM-dd HH:mm:ss |
dateTimeEnd | String | 否 | 消息发送时间结束,格式 yyyy-MM-dd HH:mm:ss |
请求体示例
{
"sid": "77985680-bb57-11e6-9c64-57233bb19f22",
"dateTimeBegin": "2020-12-06 09:58:23",
"dateTimeEnd": "2020-12-06 09:58:25"
}
返回值:
字段 | 含义 |
code | 响应码 |
message | 响应信息 |
data | 返回数据,JSON格式 |
data:
count | 查询到的聊天记录数 |
webchatMessage | 在线客服聊天记录 |
webchatMessage
_id | 主键 |
account | 账户编号 |
sid | 访客id |
contentType | 消息类型 |
message | 消息内容 |
platform | 平台来源 |
when | 消息时间戳 |
dateTime | 消息时间 |
status | 状态 |
type | 消息类型 in 用户发送消息 out 坐席回复消息 system 系统消息 |
user | 只有当type为out时才有此字段 system 系统发送的消息 robot 机器人回复的消息 uuid 坐席回复的消息 ,坐席编号uuid,如:"a81f78f0-3618-11e8-b149-99f8357b7d75" |
accessId | 用户植入七陌代码中的accessId的值 |
showHtml | 是否显示为html形式 |
notShow | 是否显示给用户看,wap接入才有 |
sessionId | 会话id |
以下字段只有使用客服系统回复用户消息(out)才有,通过调用访客端api接口发送的contentList(out)消息没有以下字段 | |
exten | 坐席工号 |
displayName | 坐席名称 |
im_icon | 坐席头像 |
通过调用访客端api接口发送的消息(in and out)会传以下字段 | |
docking | 是否api接口发送 |
dockingMsgList | 是否api接口contentList发送 |
code :
代码 | 含义 |
200 | 请求成功 |
400 | 请求体参数错误 |
403 | 接口访问频次达到上限或者鉴权失败 |
500 | 服务器错误 |
返回200示例:
{
"code": 200,
"message": "success!",
"data": {
"count": 1,
"webchatMessage": [
{
"_id": "189b30e0-edfe-11e8-953d-f911ce3c9583",
"sid": "12321@N00000022688",
"contentType": "text",
"type": "out",
"user": "a81f78f0-3618-11e8-b149-99f8357b7d75",
"message": "haha",
"platform": "pc",
"when": 1542853622522,
"dateTime": "2020-11-22 10:27:02",
"status": "undeal",
"accessId": "4d9dd870-6fa4-11e8-93dd-ed7ac0014c30",
"account": "N00000022688",
"sessionId": "d77b3e80-edfc-11e8-81e8-7f430a948a93",
"kefu": "",
"showHtml": false,
"exten": "8000",
"displayName": "zhangxiaojuan",
"im_icon": "https://fs-test.7moor.com/N00000022688/icon/2018-08-09/1533808316064/d9d48a00-9bb9-11e8-9af5-d5979d761ba7.jpg"
},
{
"_id": "78a5a7d1-bb57-11e6-9c64-57233bb19f22",
"account": "N00000000556",
"sid": "77985680-bb57-11e6-9c64-57233bb19f22",
"contentType": "text",
"message": "会话来源于<a target='_blank' href='http://114.215.205.38:8015/?34c36cb0-60f7-11e6-a592-1182eff1a067'>im</a>",
"platform": "pc",
"when": 1480989504208,
"dateTime": "2020-12-06 09:58:24",
"status": "undeal",
"type": "in",
"accessId": "34c36cb0-60f7-11e6-a592-1182eff1a067",
"showHtml": "true",
"notShow": "true",
"sessionId": "77ae4f80-bb57-11e6-bbb7-9b8127df3997"
}
]
}
}
返回400示例:
{
"code": 400,
"message": "Please check your parameters"
}
返回403示例:
{
"code": 403,
"message": "Server is busy, max request frequency is 20/min"
}
3.查询同一id消息列表接口:
接口:
-
HTTP请求方式:POST
-
请求地址:{HOST}/v20210827/webChat/getUserIdSessionList/{ACCOUNTID}?sig=sig
-
请求时请将{url}换成对接数据查询中获取到的请求域名,ACCOUNTID替换为账户编号,SIG是根据鉴权规则生成的,请看鉴权文档,查看具体的生成规则
-
鉴权文档:接口鉴权
-
频次限制:20次/每分钟
请求url:
http://apis.7moor.com/v20210827/webChat/getUserIdSessionList/N000000xxxxx
?sig=DBD2D28F3D895AAD1572925AAE50AEA8
请求体
字段 | 类型 | 是否必须 | 备注 |
userId | String | 是 | userId | /tr>
page | number | 否 | 翻页页码 默认为1 |
page | number | 否 | 翻页页码 默认为1 |
请求体示例
{
"userId": "123abc",
"page": 1,
"limit": 10
}
返回参数:
字段 | 类型 | 备注 |
success | Boolean | 接口调用成功与否 |
message | string | 接口提示信息 |
count | string | 会话列表总数 |
list | Array | 会话列表内容 |
返回list参数说明:
字段 | 类型 | 备注 |
---|---|---|
_id | string | 访客id |
accessId | string | 渠道id |
lastTimeStamp | number | 最后更新时间戳 |
lastTime | string | 最后更新时间 |
undealCount | number | 访客未读消息数 |
companyLogo | string | 渠道头像 |
companyName | string | 渠道企业简称 |
lastMessage | object | 最后一条消息内容 |
返回示例:
{
"code": 200,
"success": true,
"message": "200 OK",
"count": 1,
"list": [
{
"_id": "123abc@jm8XkPyK",
"accessId": "97a5c150-cef6-11e9-9d76-25fbbfe843c0",
"lastTimeStamp": 1647399286709,
"lastTime": "2022-03-16 10:54:46",
"undealCount": 0,
"companyLogo": null,
"companyName": "雪の镇守府1",
"lastMessage": {
"content": "11111",
"contentType": "text",
"lastMessageFrom": "agent"
}
}
]
}