获取用户在线状态

最近更新时间:2019-08-02 17:55:48

功能说明

获取用户当前的登录状态。

接口调用说明

请求 URL 示例

https://console.tim.qq.com/v4/openim/querystate?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

请求参数说明

下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介

参数 说明
v4/openim/querystate 请求接口
sdkappid 创建应用时即时通信 IM 控制台分配的 SDKAppID
identifier 必须为 App 管理员帐号,更多详情请参见 App 管理员
usersig App 管理员帐号生成的签名,具体操作请参见 生成 UserSig
random 请输入随机的32位无符号整数

最高调用频率

100次/秒。如需提升调用频率,请根据 工单模板 提交工单申请处理。

请求包示例

{
    "To_Account": ["id1", "id2", "id3"]
}

请求包字段说明

字段 类型 属性 说明
To_Account Array 必填 需要查询这些 Identifier 的登录状态,一次最多查询500个 Identifier 的状态

应答包体示例

{
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "QueryResult": [
        {
            "To_Account": "id1",
            "State": "Offline"
        },
        {
            "To_Account": "id2",
            "State": "Online"
        },
        {
            "To_Account": "id3",
            "State": "PushOnline"
        }
    ]
}
{
    "ActionStatus": "FAIL",
    "ErrorInfo": "Fail to Parse json data of body, Please check it",
    "ErrorCode": 90001
}

应答包字段说明

字段 类型 说明
ActionStatus String 请求处理的结果,“OK” 表示处理成功,“FAIL” 表示失败
ErrorCode Integer 错误码,0表示成功,非0表示失败
ErrorInfo String 详细错误信息
QueryResult Array 返回的用户在线状态结构化信息
To_Account String 返回的用户的 Identifier
State String 返回的用户状态,目前支持的状态有:
1."Online":客户端登录后和即时通信 IM 后台有长连接
2."PushOnline":iOS 和 Android 客户端退到后台或进程被杀或因网络问题掉线,进入 PushOnline 状态,此时仍然可以接收消息的离线推送
3."Offline":客户端主动退出登录或者客户端自上一次登录起7天之内未登录过

注意:

即时通信 IM 后台只会保存 PushOnline 状态7天时间,若从掉线时刻起7天之内未登录过,则进入 Offline 状态。

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码、错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。
公共错误码(60000到79999)参见 错误码 文档。
本 API 私有错误码如下:

错误码 含义说明
90001 JSON 格式解析失败,请检查请求包是否符合 JSON 规范。或者 To_Account 是空数组
90003 JSON 格式请求包中 To_Account 不符合消息格式描述,请检查 To_Account 类型是否为 String
90009 请求需要 App 管理员权限
90011 批量发消息目标帐号超过500,请减少 To_Account 中目标帐号数量
90992 后端服务超时,请重试
90994 服务内部错误,请重试
90995 服务内部错误,请重试
91000 服务内部错误,请重试

接口调试工具

通过 REST API 在线调试工具 调试本接口。