会话事件回调

最近更新时间:2024-09-24 14:19:01

我的收藏

功能说明

智能客服会话事件回调,包含了会话开始,机器人会话阶段消息,转人工中,转人工成功,人工会话阶段消息,转接,会话关闭等会话期间的关键事件及消息回调通知。

注意事项

要启用回调,必须配置回调 URL并打开事件回调开关。
回调的方向是即时通信 IM 后台向 App 后台发起 HTTP POST 请求。
收到事件通知后应异步处理内部逻辑,同步返回接收成功应答。
App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
其他安全相关事宜请参见 第三方回调简介:安全考虑 文档。

接口说明

请求 URL 示例

以下示例中 App 配置的回调 URL 为 https://www.example.com示例:
https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform

请求参数说明

参数
说明
https
请求协议为 HTTPS,请求方式为 POST
www.example.com
回调 URL
SdkAppid
创建应用时在即时通信 IM 控制台分配的 SDKAppID
CallbackCommand
固定为 Desk.SessionEventNotify
contenttype
固定值为 JSON
ClientIP
客户端 IP,格式例如:127.0.0.1
OptPlatform
客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义

请求包示例

{
"CallbackCommand": "Desk.SessionEventNotify",
"SessionId": "session_id",
"Event": "ChatBot.RobotSendMsg",
"EventTime": 1725540020017,
"ChannelType": "SDK",
"ClientUserId": "client_user_id",
"CustomerServiceId": "@customer_service_account",
"AgentId": "agent_id",
"MsgKey": "msg_key",
"MsgBody": [
{
"MsgType": "TIMTextElem",
"MsgContent": {
"Text": "1212121234345"
}
}
],
"CloudCustomData": "",
"IsContactUser": false
}

请求包字段说明

字段
类型
说明
CallbackCommand
String
回调命令
SessionId
String
会话的 SessionID
Event
String
事件类型: 详见事件类型列表及说明
EventTime
Integer
事件触发的毫秒级别时间戳
ChannelType
String
渠道类型:
SDK:SDK 集成渠道
Web(H5):Web 渠道
ClientUserId
String
用户 ID
CustomerServiceId
String
客服号
AgentId
String
客服 ID
MsgKey
String
消息类事件的消息 Key
MsgBody
Array
消息类事件的消息体,具体参见 消息格式描述
CloudCustomData
String
消息自定义数据
IsContactUser
Bool
是否客服主动联系用户

事件类型列表及说明

事件类型
说明
SessionBegin
会话开始
ChatBot.RobotSendMsg
机器人会话中,机器人消息
ChatBot.UserSendMsg
机器人会话中,用户消息
Human.AgentSendMsg
人工会话中,客服消息
Human.UserSendMsg
人工会话中,用户消息
TransferringToHuman
转人工中
TransferringToHumanWait
转人工等待
TransferToHumanSuccess
转人工成功
NoAgentOnline
无客服在线
SessionUserEnd
用户结束会话
SessionAgentEnd
客服结束会话
SessionUserTimeoutEnd
用户超时结束会话
SessionPendingAutoFinishEnd
排队中自动结束(用户离线)
SessionEnd
会话结束

应答包示例

App 后台同步数据后,发送回调应答包。
{
"ActionStatus": "OK",
"ErrorInfo": "",
"ErrorCode": 0
}

应答包字段说明

字段
类型
属性
说明
ActionStatus
String
必填
请求处理的结果,OK 表示处理成功,FAIL 表示失败
ErrorCode
Integer
必填
错误码,此处填0表示忽略应答结果
ErrorInfo
String
必填
错误信息