功能说明
接口调用回调用于多轮任务的接口调用节点中,主要是将会话相关的一些信息(例如用户 ID、客服账号 ID)或者应用自定义的其他信息回调到业务后台。
注意:
注意事项
要启用回调,必须在 智能客服管理端 的多轮任务接口调用节点进行配置。
回调的方向是即时通信 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 | 固定为 Chatbot.InterfaceInvocation |
contenttype | 固定值为 JSON |
ClientIP | 客户端 IP,格式例如:127.0.0.1 |
请求包示例
{"CallbackCommand": "Chatbot.InterfaceInvocation", // 回调的命令字"Body": // 透传给业务方的变量值{"SystemClientUserID": "user517", // 系统变量,用户ID"SystemSessionID": "207cac25-f49e-4ada-9c9f-301cea31dcf2", // 系统变量,SessionID"staticKey": "staticValue", // 固定值"testKey3": "" // 自定义变量},"EventTime": 1731488371784}
请求包字段说明
字段 | 类型 | 是否必填 | 说明 |
CallbackCommand | String | 是 | 回调的命令字,固定是 Chatbot.InterfaceInvocation。 |
Body | Object | 是 | |
EventTime | Integer | 是 | 时间戳。 |
应答包示例
App 后台同步数据后,发送回调应答包。
{"ActionStatus":"OK","ErrorInfo":"","ErrorCode":0,"Body":{"testKey1":"value1", // 业务返回的变量"testKey3":"10"}}
应答包字段说明
字段 | 类型 | 是否必填 | 说明 |
ErrorCode | Integer | 是 | 错误码,0:成功,其他:失败。 |
ErrorInfo | String | 是 | 错误信息。 |
ActionStatus | String | 是 | 请求处理的结果,OK 表示处理成功。 |
Body | Object | 否 | 业务方返回给智能客服的包体,包含了一个 map,key 是变量名,value 是变量值,会填充到 Session 中的对应变量中。 |