智齿客服SDK对接集成文档V2.2.2(接口说明)
一、初始化接口:sobotInit
初始化一些必要的参数,本接口成功调用一次即可。
sobotInit(Information info, StringResultCallBack<ZhiChiInitModel> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
info | Information | 调用初始化接口之前必须设置此对象的相关属性 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"uid": "6ea1efaad73246d2bd778e65c9a69358867993024100230",
"robotLogo": "https://img.sobot.com/console/common/face/robot.png",
"adminHelloWord": "您好,请问有什么可以帮您的? ",
"manualCommentTitle": "服务态度差,回答不及时,没解决问题,不礼貌",
"msgTmp": "您好,为了解决您的问题, ",
"type": 2,
"isblack": 0,
"robotUnknownWord": "非常对不起,不知道怎么回答这个问题呢,我会努力学习的。\n",
"groupflag": 0,
"guideFlag": 0,
"msgTxt": "您好,很抱歉我们暂时无法为您提供服务,如需帮助,请留言\n",
"onORoff": 3,
"msgFlag": 0,
"adminTipTime": 1,
"adminNonelineTitle": "抱歉,暂无人工客服在线",
"userOutWord": "由于很久没有收到您的消息,系统自动18513666499结束了本次会话。",
"userTipTime": 3,
"userTipWord": "您在思考人生?有问题请随时提问哦111111~\n",
"robotHelloWord": "您好,很高兴为您服务,请问有什么可以帮您的? \n",
"inputTime": 2,
"ustatus": 0,
"adminTipWord": "抱歉让您久等,客服妹子已经忙翻了,请稍候。\n",
"companyName": "zhichi",
"cid": "341c9caf6bfe43419b7a5cde363c3514",
"robotName": "zhichi机器人",
"companyStatus": 0,
"userOutTime": 3,
"color": "#09aeb0",
"companyId": "6ea1********46d2bd778e********58",
"robotCommentTitle": "答非所问,理解能力差,问题不能回答,不礼貌"
"uname": "北京用户",
"face": "",
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
uid | String | 用户id |
cid | String | 会话id |
robotLogo | String | 机器人头像 |
adminHelloWord | String | 客服欢迎语 |
manualCommentTitie | String | 评价标签,以逗号分隔 |
msgTmp | String | 留言内容模板 |
type | int | 接入方式 1只有机器人 2 仅人工 3.智能客服-机器人优先 4智能客服-人工客服优先 |
isblack | int | 是否是黑名单 0否1是 |
robotUnknownWord | String | 机器人未知措辞 |
groupflag | String | 是否开启技能组 0不分组,1分组 |
guideFlag | int | 机器人常见问题引导欢迎语的开关 1开启 0关闭 |
msgTxt | String | 留言引导文案 |
msgFlag | int | 留言开关0关闭1开启 |
adminTipTime | int | 客服超时提示时间 |
adminTipWord | String | 客服超时提示文案 |
adminNonelineTitle | String | 无客服在线文案 |
userOutWord | String | 用户超时下线文案 |
userTipTime | int | 用户超时提示时间 |
userTipWord | String | 用户超时提示文案 |
userOutTime | int | 用户超时下线时间 |
robotHelloWord | String | 机器人欢迎语 |
inputTime | int | 发送正在输入的频率 |
ustatus | String | 用户当前状态: -2.排队中 -1.机器人 0.离线 1.在线 |
companyName | Stirng | 企业名称 |
robotName | String | 机器人名称 |
companyStatus | int | 公司付费状态:-1.免费 0.试用 10.都付费 11.机器人付费 12.人工客服付费 2.永久 |
color | String | 颜色 |
companyId | String | 公司id |
robotCommentTitle | String | 机器人的评价标签,用逗号分隔 |
二、查询cid接口:queryCids
本接口调用后可以查询到用户的cid列表,获取cid列表后,可以使用cid调用getChatDetailByCid接口进行历史纪录的查询。
queryCids(String uid,long time, StringResultCallBack<ZhiChiCidsModelResult> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | 必填 | 用户id |
time | 选填 | 查询时间(例:100 表示从现在起前100分钟的会话),默认为0 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"cids": [
"d7e416f161af49afb856236db88e1fe1",
"73c4a12d89fc4f13b89cd02e0583e22f",
"0bf1f68262a54bd294a18f04762f057d",
]
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
cids | list | cid列表数据,用于历史记录查询 |
三、获取聊天记录接口:getChatDetailByCid
sdk中所有聊天纪录都是以cid为单位查询得出,如果想获取用户的聊天记录,那么首先需要调用queryCids接口获取cid列表后,再使用cid进行聊天记录的查询。
getChatDetailByCid(String uid, String cid,
StringResultCallBack<ZhiChiHistoryMessage> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 初始化接口返回的用户id |
cid | String | 会话id(由queryCids接口查出cid列表后,可以获取历史会话的聊天纪录) |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": [
{
"date": "2017-03-01",
"content": [
{
"cid": "846ac1054e5c46cca9887f88e862d6a2",
"action": 5,
"type": 5,
"sender": "9e74cbf3b9564ccca28511d45a5abdbe",
"senderName": "jin",
"senderType": 2,
"senderFace": "https://img.sobot.com/cae967f.jpg",
"t": "1488362243542",
"ts": "2017-03-01 17:57:23",
"msgType": 0,
"msg": "111",
"sdkMsg": {
"sugguestions": null,
"answerType": null,
"stripe": null,
"question": "",
"answer": {
"msgType": 0,
"msg": "111",
"duration": null,
"richpricurl": null,
"richmoreurl": null
}
},
"receiver": "6ea1efaad73024100230",
"receiverName": "北京用户",
"receiverType": 0,
"offlineType": null,
"msgId": "da28dc32981049ba8870204d3cae7b1c",
"receiverFace": ""
},
]
}
],
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
date | String | 会话时间 |
content | String | 聊天内容 |
cid | String | 会话id |
action | int | 会话类型 |
sender | String | 用户id |
senderName | String | 用户姓名 |
senderType | String | 发送类型 |
senderFace | String | 用户头像 |
t | Long | 发送时的时间戳 |
ts | String | 发送时间 |
msg | String | 消息 |
sdkMsg | Map | 消息体 |
answer | Map | 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接 |
suggestionList | list | 引导说辞带docId |
suggestions | String[] | 引导说辞不带docId |
answerType | int | 1 直接回答,2 理解回答,3 不能回答, 4引导回答,6互联网寒暄,7 私有寒暄(包括第三方天气、快递接口),8百科, 9 向导回答,10 业务接口 |
stripe | String | 引导建议 |
receiver | String | 客服id |
receiverName | String | 客服姓名 |
offlineType | int | 下线类型 |
receiverFace | String | 客服头像 |
receiverType | int | 回复类型 |
四、机器人问答接口:chatSendMsgToRoot
使用本接口可以与机器人进行问答咨询,sdk中所有与机器人的聊天信息都会调用此接口。
chatSendMsgToRoot(String uid, String cid,String robotFlag,String requestText, int lanFlag, int questionFlag,String question, StringResultCallBack<ZhiChiMessage> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String(必填) | 用户id |
cid | String(必填) | 当前会话id |
robotFlag | String | 机器人id |
requestText | String | 问题 |
questionFlag | int | 问题类型0直接回答,1回答引导问题 |
question | String | 问题内容,回答引导问题时需传入引导问题的docID |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"ustatus": -1,
"answer": {
"msgType": 4,
"msg": null,
"duration": null,
"richpricurl": null,
"richmoreurl": null
},
"answerType": "4",
"stripe": "您问的是否是以下问题,点击或回复序号即可得到对应问题的答案:",
"suggestionList": [
{
"question": "富文本",
"docId": "27e52a49451a4e87985ae45c354fe2d9",
"answer": "<p>富文本富文本富"
},
{
"question": "富文本 两张图片富文本 两张图片富文本 两张图片富文本 两张图片",
"docId": "0b2a12079b8e4347872d5547e59a5cac",
"answer": "<p>富文本富文"
}
],
"question": null,
"time": null
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
ustatus | int | 用户状态1在线 0离线 |
answer | String | 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片 5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接 |
answerType | int | 1 直接回答,2 理解回答,3 不能回答, 4引导回答,6互联网寒暄,7 私有寒暄(包括第三方天气、快递接口),8百科, 9 向导回答,10 业务接口 |
stripe | String | 引导建议 |
suggestionList | list | 引导说辞带docId |
suggestions | String[] | 引导说辞不带docId |
question | String | 问题内容 |
docId | String | 标题id |
answer | String | 答案 |
五、转人工接口:connnect
sdk中调用初始化后默认为机器人问答状态,如果想连接客服进行人工问答,那么可以调用此接口,本接口成功调用一次即可。
connnect(String uid, String cid, String chooseAdminId,int tranFlag, String groupId,String groupName, boolean currentFlag, StringResultCallBack <ZhiChiMessage> esultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
cid | String | 会话id |
chooseAdminId | String | 指定转入的客服id(可以为空) |
tranFlag | int | 转接类型(0-可转入其他客服,1-必须转入指定客服) |
groupId | String | 技能组id(技能组ID来源:1.初始化用户配置的技能组id 2.点击技能组弹框中的某个技能组) |
groupName | String | 技能组名称 |
currentFlag | boolean | 第二次以后点击转人工传true |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"count": 1,
"aface": "https://img.sobot.com/chatr*****350b0.jpg",
"status": 1,
"wslink.default": "**.2**.**1.**4:6***",
"aid": "1b6d********4db99c3c******bd3332",
"aname": "sobotsnbgghh",
"wslink.bak": [
"5*.2**.2**.1**:***5"
],
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
status | int | 转人工状态 0 排队中 1成功 2没有客服在线 3用户被拉黑 4 已经转人工 5机器人模式下已经超时下线时转人工 6如果设置指定客服的id。并且设置不是必须转入,返回6说明指定的客服不在线继续转其他客服 7转人工排队达到最大值的时候,返回status 为 7 |
count | int | 当前排队人数 |
aface | String | 客服的头像 |
aid | String | 客服id |
aname | String | 客服昵称 |
wslink.default | String | 默认通道IP |
wslink.bak | String | 备用通道IP |
六、与客服聊天接口:sendMsgToCoutom
在调用转人工接口成功后,与人工的问答消息都需要调用此接口,sdk中所有与人工的会话都会使用此接口。
sendMsgToCoutom(String content, String uid, String cid,StringResultCallBack
<CommonModelBase> resultCallBack);;
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
cid | String | 会话id |
content | String | 文字消息内容 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
}
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 1发送成功 2 发送失败,表示用户已经下线 |
七、用户给客服发送文件接口:sendFile
在调用转人工接口成功后,发送语音、图片等文件需要调用此接口。
sendFile(String cid, String uid, String filePath, String duration, ResultCallBack<ZhiChiMessage> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户 |
cid | String | 会话 |
filePath | String | 文件路径(图片和语音) |
duration | String | 语音的时长 |
resultCallBack | ResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1,
"url": "https://img.sobot.com/chatres/e6fb177060b91b2db544.wav"
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
status | int | 1 发送成功 2 发送失败 |
url | String | 文件的网络地址 |
八、满意度评价接口:comment
用户对机器人或者人工进行评价的接口,系统默认一次会话只能评价一次机器人和人工,评价后信息会计入统计列表。
comment(String cid, String uid, String type, String source, String problem, String suggest, int isresolve, int commentType, StringResultCallBack <CommonModel> ResultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
cid | String | 会话id |
type | String | 评价类型 0机器人 1人工 |
source | String | 评价分数 1 - 5分 |
problem | String | 问题编号,可以为空 |
suggest | String | 建议 |
isresolve | int | 是否解决问题:0解决 1未解决 |
commentType | int | 评价类型 主动评价1 邀请评价0 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 发送成功 |
九、获取技能组接口:getGroupList
调用转人工接口时,如果用户打开技能组开关,并且设置了技能组,那么可以调用此接口来获取技能组。
getGroupList(String appId,String uid, StringResultCallBack<ZhiChiGroup> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
appId | String | Appkey |
uid | String | 用户id |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": [
{
"groupId": "c30ea56d46994b1093dc20ad65785d2a",
"channelType": "5",
"groupName": "aaa",
"companyId": "6ea1efaad73246d2bd778e65c9a69358",
"recGroupName": "aaa",
"appId": "13f7545fa0834debbe3f488daf5c5b0a",
"isOnline": true
},
{
"groupId": "ff0333886e76470db66bee3f2519063b",
"channelType": "5",
"groupName": "343434",
"companyId": "6ea1efaad73246d2bd778e65c9a69358",
"recGroupName": "343434",
"appId": "13f7545fa0834debbe3f488daf5c5b0a",
"isOnline": true
}
],
"msg": {
"ustatus": 1
}
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
ustatus | int | 1客户在线 0客户下线 |
groupId: | String | 技能组id |
channelType: | String | 通道类型 |
groupName: | String | 技能组名称 |
companyId: | String | 企业id |
recGroupName; | String | 分组别名(供展示) |
appId: | String | Appkey |
isOnline: | String | 当前技能组是否有客服在线 |
十、正在输入接口:input
调用转人工接口成功后,可以使用此接口来捕捉用户正在输入的消息。
input(String uid,String content, StringResultCallBack<CommonModel> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
content | String | 输入的内容 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 1 发送成功 0发送失败 |
十一、留言接口:postMsg
当用户需要进行留言时,可使用此接口进行留言提交,留言提交后会自动生成工单。
postMsg(String uid, String ticketContent, String customerEmail, String customerPhone, String companyId, String customerNick, String fileStr, StringResultCallBack<CommonModel> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
ticketContent | String | 留言内容 |
customerEmail | String | 留言人邮箱 |
customerPhone | String | 留言人电话 |
companyId | String | 企业 |
customerNick | String | 留言人昵称 |
fileStr | String | 图片路径以逗号分隔 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 1 留言成功 0留言失败 |
msg | String | 当status返回0是,msg有值 |
十二、删除聊天记录:deleteHisMsg
调用此接口后,sdk端将不再显示之前的聊天记录,但是客服工作台依旧可以查看到之前的聊天记录。
deleteHisMsg(String uid, StringResultCallBack<CommonModel> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | Appkey |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 1 删除成功 0删除失败 |
十三、获取机器人引导语:robotGuide
如果在工作台设置了机器人引导语,那么可以调用此接口来获取机器人引导语。
robotGuide(String uid,String robotFlag,final StringResultCallBack<ZhiChiMessage> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
robotFlag | String | 机器人编号(可以为空) |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"ustatus": -1,
"answer": {
"msgType": 0,
"msg": "这是第二个机器人-1\n\n",
"duration": null,
"richpricurl": null,
"richmoreurl": null
},
"answerType": "13",
"stripe": null,
"suggestionList": [
{
"question": "这是第二个机器人",
"docId": "3e11e3b54d214b62ba16e2c26c69d869",
"answer": "这是第二个机器人"
}
],
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | String | 请求结果码:成功code==1 失败 code==0 |
ustatus | int | |
answer | String | 富媒体消息 msgType 0文本 1图片 2音频 4 富文本中有图片 5 富文本中纯文字 6 富文本中有视频 msg消息内容 duration语音时长 richpricurl图片链接 richmoreurl点击更多链接 |
answerType | int | 1 直接回答 2 理解回答 3 不能回答 4引导回答 6 互联网寒暄 7 私有寒暄(包括第三方天气、快递接口) 8 百科 9 向导回答 10 业务接口 |
stripe | String | 引导建议 |
suggestionList | list | 引导说辞带docId |
suggestions | String[] | 引导说辞不带docId |
question | String | 问题内容 |
docId | String | 标题id |
answer | String | 答案 |
十四、用户主动下线接口:out
调用此接口后用户将在客服工作台中显示下线,同时将计入统计数据。调用此接口成功后,发送客服消息将无法成功。
out(String cid, String uid, StringResultCallBack <CommonModel> resultCallBack);
请求参数说明:
变量名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
cid | String | 会话id |
filePath | String | 文件 |
duration | String | 语音的时长 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
}
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 1 发送成功 2发送失败 |
十五、留言上传图片接口:fileUploadForPostMsg
在提交留言时需要上传图片时可以使用此接口,上传完毕后将返回的文件路径以逗号分隔,作为参数提交到留言接口(postMsg)中。
fileUploadForPostMsg(String companyId, String filePath, ResultCallBack<ZhiChiMessage>
resultCallBack);
请求参数说明:
字段名 | 数据类型 | 说明 |
---|---|---|
companyId | String | 公司ID |
filePath | String | 文件路径 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"url":"https://img.sobot.com/chatres/e6fb17f5af9f4487a8ec7f1f58c972ba/msg/201
70605/dts_featured_ath_clr100_1496658840995.png"
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
url | String | 文件在服务器上面的地址 |
十六、机器人回答顶踩接口:rbAnswerComment
此接口可以对机器人的回答词条进行命中率统计,调用后将计入统计数据。
rbAnswerComment(String uid, String cid, String robotFlag, String docId, String
docName,boolean revaluateFlag, StringResultCallBack<CommonModelBase> resultCallBack);
请求参数说明:
字段名 | 数据类型 | 说明 |
---|---|---|
uid | String | 用户id |
cid | String | 会话Id |
robotFlag | String | 机器人ID |
docId | String | 词条id |
docName | String | 词条名称 |
revaluateFlag | boolean | 反馈结果-顶/踩 true 顶 false 踩 |
resultCallBack | StringResultCallBack | 回调 |
响应示例:
{
"code": 1,
"data": {
"status": 1
},
"msg": null
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
code | int | 请求结果码:成功code==1 失败 code==0 |
status | int | 顶踩成功 |
十七、服务器推送的消息格式
需要注册广播:ZhiChiConstants.receiveMessageBrocast
1)用户与人工客服建立会话响应示例:
{
"type": 200,
"aname": "sobotcggghh",
"aface": "https://img.sobot.com/chb0.jpg",
"aid": "1b6d22ab52bc4db99c3c7b055abd3332",
}
响应参数说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态 |
aname | String | 客服名称 |
aface | String | 客服头像 |
aid | String | 客服id |
2)用户排队响应示例:
{
"type": 201,
"count": 3,
}
响应参数说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态 |
count | String | 当前排队位置 |
3)用户收到客服新消息响应示例:
{
"type": 202,
"aname": "sobotgghh",
"aface": "https://img.sobot.com/ch0424785f6443acbc350b0.jpg",
"content": "",
"msgType": *,
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态 |
aname | String | 客服名称 |
aface | String | 客服头像 |
content | String | 客服发送的消息 |
msgType | Int | 消息类型0文本 1图片 2音频4 富文本中有图片 |
4)用户被下线响应示例:
{
"type": 204,
"status": 2,
"aname": "sobothhh",
"msgId": "6793ec14b4d44739a7dc289d7ecc26c7",
"puid": "0953be7e19b3494e8c6da517e2d062c9"
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态 |
status | Int | 下线原因 1、管理员下线2、被管理员移除3、被加入黑名单4、长时间未说话 6打开新窗口 |
aname | String | 客服姓名 |
5)用户被客服转接响应示例:
{
"type": 210,
"name": "[email protected]",
"face": "https://img.sobot.com/chat8f5d475091ad7a400b04ad96.jpg",
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态 |
name | String | 转接后的客服名称 |
face | String | 转接后的客服头像 |
6)客服推送满意度评价响应示例:
{
"type": 209,
"aname": "[email protected]",
"aid": "442d6f93cce54134a13542dd66dea1e7",
"msgId": "2326a269b9f04d6c8c318b8d7678c8a0"
}
响应示例说明:
字段名 | 数据类型 | 说明 |
---|---|---|
type | int | 状态209客服推送满意度评价 |
name | String | 客服名称 |
aid | String | 客服 |
代码混淆
-keepattributesAnnotation
-keepattributesSignature
-keeppublicclass*extendsandroid.app.Fragment
-keeppublicclass*extendsandroid.app.Activity
-keeppublicclass*extendsandroid.app.Application
-keeppublicclass*extendsandroid.app.Service
-keeppublicclass*extendsandroid.content.BroadcastReceiver
-keeppublicclass*extendsandroid.content.ContentProvider
-keeppublicclass*extendsandroid.app.backup.BackupAgentHelper
-keeppublicclass*extendsandroid.preference.Preference
-keeppublicclass*extendsandroid.support.v4.**
-keeppublicclasscom.android.vending.licensing.ILicensingService
-keepclasscom.android.vending.licensing.ILicensingService
-keepclassandroid.support.v4.**{*;}
-keepclassokhttp3.*
-keepclasscom.sobot.**{*;}
-dontwarnandroid.support.v4.**
-dontwarnokio.**
-dontwarncom.squareup.okhttp.**
-dontwarnandroid.webkit.WebView
-keepclasseswithmembernamesclass*{
native<methods>;
}
-keepclasseswithmembernamesclass*{
public<init>(android.content.Context,android.util.AttributeSet);
}
-keepclasseswithmembernamesclass*{
public<init>(android.content.Context,android.util.AttributeSet,int);
}
-keepclassmembersenum*{
publicstatic**[]values();
publicstatic**valueOf(java.lang.String);
}
-keepclass*implementsandroid.os.Parcelable{
publicstaticfinalandroid.os.Parcelable$Creator*;
}
-keepclasseswithmembersclass*{
public<init>(android.content.Context);
}
-keepclassmembersclass*{
public<init>(org.json.JSONObject);
}