用户在线状态回调
功能说明
App 业务服务端可以通过该回调变更用户状态为在线状态。
注意事项
- 为启用回调,必须配置回调 URL,并开启本条回调协议对应的开关。配置方法详见 回调说明 文档。
- 回调的方向是 OpenIMServer 向 App 后台发起 HTTP/HTTPS POST 请求。
- APP 业务服务端需在超时时间内响应此请求。
可能触发该回调的场景
- 用户通过客户端发起登录的上线请求。
- 用户的客户端发生断网后成功重连。
- 设置用户的自定义状态。
回调发生时机
- 用户上线时。
接口说明
请求 URL 示例
以下示例中 App 配置的回调 URL 为 http://www.example.com/callbackCommand?contenttype=json
。
http://www.example.com/callbackUserOnlineCommand?contenttype=json
请求参数说明
参数 | 说明 |
---|---|
http | 请求协议为 HTTP,请求方式为 POST |
www.example.com | configy.yaml 中的 callback.url 字段,域名或主机名 |
CallbackCommand | 此处为:callbackUserOnlineCommand |
contenttype | 固定值为:JSON |
Header
header名 | 示例值 | 选填 | 类型 | 说明 |
---|---|---|---|---|
operationID | 1646445464564 | 必填 | string | operationID用于全局链路追踪 |
请求包示例
{
"userID": "user123",
"callbackCommand": "callbackUserOnlineCommand",
"seq": 123456,
"isAppBackground": false,
"connID": "conn123"
}
请求包字段说明
对象 | 类型 | 描述 |
---|---|---|
userID | string | 用户的唯一标识符 |
callbackCommand | string | 回调命令,这里是用户在线状态回调 |
seq | int64 | 请求序列号 |
isAppBackground | bool | 用户是否在应用后台 |
connID | string | 用户的连接标识符 |
应答包示例
处理结果
用户在线。
{
"actionCode": 0,
"errCode": 0,
"errMsg": "Success",
"errDlt": "",
"nextCode": ""
}
应答包字段说明
字段 | 值 | 说明 |
---|---|---|
actionCode | 0 | 表示业务系统的回调是否正确执行。0 表示操作成功。 |
errCode | 0 | 表示自定义错误码,此处填0代表忽略回调结果。 |
errMsg | "An error message" | 自定义错误码对应的简单错误信息。 |
errDlt | "Detailed error information" | 自定义错误码对应的详细错误信息。 |
nextCode | 1 | 下一步执行指令,1 表示拒绝继续执行,actionCode等于0 时设置。 |