跳到主要内容

用户在线状态回调

功能说明

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.comconfigy.yaml 中的 callback.url 字段,域名或主机名
CallbackCommand此处为:callbackUserOnlineCommand
contenttype固定值为:JSON
header名示例值选填类型说明
operationID1646445464564必填stringoperationID用于全局链路追踪

请求包示例

{
"userID": "user123",
"callbackCommand": "callbackUserOnlineCommand",
"seq": 123456,
"isAppBackground": false,
"connID": "conn123"
}

请求包字段说明

对象类型描述
userIDstring用户的唯一标识符
callbackCommandstring回调命令,这里是用户在线状态回调
seqint64请求序列号
isAppBackgroundbool用户是否在应用后台
connIDstring用户的连接标识符

应答包示例

处理结果

用户在线。

{
"actionCode": 0,
"errCode": 0,
"errMsg": "Success",
"errDlt": "",
"nextCode": ""
}

应答包字段说明

字段说明
actionCode0表示业务系统的回调是否正确执行。0表示操作成功。
errCode0表示自定义错误码,此处填0代表忽略回调结果。
errMsg"An error message"自定义错误码对应的简单错误信息。
errDlt"Detailed error information"自定义错误码对应的详细错误信息。
nextCode1下一步执行指令,1表示拒绝继续执行,actionCode等于0时设置。