在线客服咨询接口

一、创建会话

1.1 请求路径

/openapi/im/newChat

1.2 请求方法

POST

1.3 请求参数

描述字段类型必填备注
访客IDvisitorIdStringY访客的唯一标识
访客名称visitorNameStringN
渠道IDchannelIdStringY在云客服的OpenAPI渠道中获取,用于绑定会话流程
访客IPvisitorIPStringNIPv4地址
访客头像URLvisitorHeadImgStringN
扩展参数otherParamsjsonNjson对象,传参内容将展示在座席端的会话框右侧,key和value均自定义

1.4 响应参数

描述字段类型
是否成功successBoolean
响应码codeString
响应信息messageString
响应数据内容dataobject
描述字段类型
会话IDsessionIdString
创建会话的时间戳createTimestamplong

1.5 请求示例

{ "visitorId": "7f1cace47234673a425502670ab44c422", "visitorName": "张三", "channelId": "ioACBxXx36IlKn5c", "visitorIP": "171.211.101.9", "visitorHeadImg": "https://oss.domain.cn/img/0NjczYTQyNTUwMjY3MGFiN.png", "otherParams":{ "自定义标题1":"自定义内容1", "自定义key2":"自定义value2" } }

1.6 响应示例

{ "success": true, "code": "200", "message": "200 ok!", "data": { "request": {}, "response": { "sessionId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "messageId": "", "createTimestamp": 1685092455601 } } }

二、访客发送新消息

2.1 请求路径

/openapi/im/newMsg

2.2 请求方法

POST

2.3 请求参数

描述字段类型必填备注
请求唯一IDrequestIdStringY用于消息防抖、日志查询
是否异步请求asyncBooleanN异步请求:true 同步请求:false
异步回调callBackStringC条件必传。若async为true时,callBack必传
消息内容类型contentTypeY文本/富文本:text 图片:image 文件:file 语言:voice 视频:video
消息内容contentStringY支持富文本格式
访客IDvisitorIdStringY访客的唯一标识
访客名称visitorNameStringN
渠道IDchannelIdStringY在云客服的OpenAPI渠道中获取,用于绑定会话流程
访客IPvisitorIPStringNIPv4地址
引用消息IDreplyIdStringN若有消息引用,传被引用的messageId
访客头像URLvisitorHeadImgStringN

2.4 响应参数

描述字段类型
是否成功successBoolean
响应码codeString
响应信息messageString
响应数据内容dataobject请求参数async为false时 见2.5

2.5 同步请求后响应的data数据字段

描述字段类型
会话IDsessionIdString
消息IDmessageIdString
创建消息的时间戳createTimestamplong

2.6 请求示例

{ "requestId": "8b1a775e2a8a267173bfe7f1cace4723467", "async": true, "callBack": "https://callBack.domain.com/im/newMsg/callBack", "contentType": "text", "content": "您好,我想咨询一个问题。", "visitorId": "7f1cace47234673a425502670ab44c422", "visitorName": "张三", "channelId": "ioACBxXx36IlKn5c", "visitorIP": "171.211.101.9", "replyId": "c820d53d-98a3-4bc9-a676-0eb93649e89f", "visitorHeadImg": "https://oss.domain.cn/img/0NjczYTQyNTUwMjY3MGFiN.png" }

2.7 响应示例

{ "success": true, "code": "200", "message": "200 ok!", "data": { "sessionId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "messageId": "00dead4c-ef57-4929-948d-dd1fc39b2182", "createTimestamp": 1685092455601 } }

2.8 异步请求推送的消息结果

描述字段类型备注
原请求体requestobject见2.3 请求参数
异步响应内容responseobject见2.5 表格
示例:
{ "request": { "requestId": "8b1a775e2a8a267173bfe7f1cace4723467", "async": true, "callBack": "https://callBack.domain.com/im/newMsg/callBack", "contentType": "text", "content": "您好,我想咨询一个问题。", "visitorId": "7f1cace47234673a425502670ab44c422", "visitorName": "张三", "channelId": "ioACBxXx36IlKn5c", "visitorIP": "171.211.101.9", "replyId": "c820d53d-98a3-4bc9-a676-0eb93649e89f", "visitorHeadImg": "https://oss.domain.cn/img/0NjczYTQyNTUwMjY3MGFiN.png" }, "response": { "sessionId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "messageId": "00dead4c-ef57-4929-948d-dd1fc39b2182", "createTimestamp": 1685092455601 } }

三、查询聊天记录

3.1 请求路径

/openapi/im/queryMsg

3.2 请求方法

POST

3.3 请求参数

描述字段类型必填备注
访客IDvisitorIdStringY访客的唯一标识
查询页码pageIndexnumberY默认1
每页查询数量pageSizenumberY默认20

3.4 响应参数

描述字段类型
是否成功successBoolean
响应码codeString
响应信息messageString
响应数据内容dataobject

3.5 响应的data数据字段

描述字段类型备注
消息列表listarray按消息时间逆序
分页数据pageobject

3.6 响应的消息字段

描述字段类型备注
消息IDmessageIdString
消息时间timeStringyyyy-MM-dd HH:mm:ss
消息类型messageTypeString访客发送:in座席发送:out系统消息:system
消息内容类型contentTypeString见2.3
消息内容contentString
引用消息内容replyMsgObject结构与推送消息中的replyMsg一致,详情见3.8中的示例
座席名称agentNameString
座席工号agentNumberString
座席头像URLagentHeadImgString
是否已读readBoolean

3.7 请求示例

{ "visitorId": "7f1cace47234673a425502670ab44c422", "pageIndex": 1, "pageSize": 20 }

3.8 响应示例

{ "success": true, "code": "200", "message": "200 ok!", "data": { "list": [ { "messageId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "time": "2024-08-04 15:36:51", "messageType": "in", "contentType": "text", "content": "您好,我想咨询一个问题。", "replyMsg": { "messageId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "time": "2024-08-04 15:36:51", "messageType": "in", "contentType": "text", "content": "您好,我想咨询一个问题。", "replyMsg": "", "agentName": "客服A001", "agentNumber": "6001", "agentHeadImg": "https://oss.domain.cn/img/0NjczYTQyNTUwMjY3MGFiN.png", "read": true, }, "agentName": "客服A001", "agentNumber": "6001", "agentHeadImg": "https://oss.domain.cn/img/0NjczYTQyNTUwMjY3MGFiN.png", "read": true, } ], "page": { "totalPage": 3, "total": 52, "pageIndex": 1, "pageSize": 20 } } }

四、访客在线状态

4.1 请求路径

/openapi/im/visitorStatus

4.2 请求方法

POST

4.3 请求参数

描述字段类型必填备注
访客IDvisitorIdStringY访客的唯一标识
状态contentTypeStringY访客在线:newConn访客离线:disConn
渠道IDchannelIdStringY

4.4 响应参数

描述字段类型
是否成功successBoolean
响应码codeString
响应信息messageString
响应数据内容dataobject

4.5 请求示例

{ "visitorId": "7f1cace47234673a425502670ab44c422", "contentType": "newConn", "channelId": "ioACBxXx36IlKn5c" }

4.6 响应示例

{ "success": true, "code": "200", "message": "200 ok!", "data": null }

五、座席消息推送

5.1 推送消息字段

描述字段类型备注
渠道IDchannelIdString
消息内容contentString
消息内容类型contentTypeString文本/富文本:text 图片:image 文件:file 语言:voice 视频:video 排队信息:queue 座席接入:claim  自动关闭:autoClose  结束会话:
消息IDmessageIdString
消息类型msgTypeString访客发送:in座席发送:out系统消息:system
会话IDsessionIdString
访客IDvisitorIdString
引用消息replyMsgObject见5.2
文件名称fileNameStringString
文件大小fileSizeString
座席名称agentNameString
座席头像agentHeadStringurl

5.2 引用消息replyMsg结构

描述字段类型
消息内容contentString
消息内容类型contentTypeString
消息类型msgTypeString访客发送:in座席发送:out
消息IDmessageIdString

5.3 推送数据示例:

{ "channelId": "0h63QEMNzCPj8Ebp", "content": "座席发送的内容", "contentType": "text", "messageId": "00dead4c-ef57-4929-948d-dd1fc39b2182", "msgType": "out", "replyMsg": { "content": "被引用的内容", "contentType": "text", "messageId": "28548577-58d5-4063-8486-d8a05d3fbefe", "msgType": "in" }, "sessionId": "47832881-f69a-4ca6-a0e4-fc68851af7cd", "visitorId": "jhgqkwhugvekhbckhvaskubdiuhasd" }
5.4 
2024-10-25