tencent cloud

文档反馈

查询账号在线状态

最后更新时间:2023-12-14 10:50:02

    功能说明

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

    接口调用说明

    请求 URL 示例

    https://xxxxxx/v4/openim/query_online_status?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

    请求参数说明

    下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参见 REST API 简介
    参数
    说明
    https
    请求协议为 HTTPS,请求方式为 POST
    xxxxxx
    SDKAppID 所在国家/地区对应的专属域名
    中国:console.tim.qq.com
    新加坡: adminapisgp.im.qcloud.com
    首尔: adminapikr.im.qcloud.com
    法兰克福:adminapiger.im.qcloud.com
    印度:adminapiind.im.qcloud.com
    硅谷:adminapiusa.im.qcloud.com
    雅加达:adminapiidn.im.qcloud.com
    v4/openim/query_online_status
    请求接口
    sdkappid
    创建应用时即时通信 IM 控制台分配的 SDKAppID
    identifier
    必须为 App 管理员账号,更多详情请参见 App 管理员
    usersig
    App 管理员账号生成的签名,具体操作请参见 生成 UserSig
    random
    请输入随机的32位无符号整数,取值范围0 - 4294967295
    contenttype
    请求格式固定值为json

    最高调用频率

    200次/秒。

    请求包示例

    无需获取详细的登录平台信息

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

    需要获取详细的登录平台信息

    {
    "IsNeedDetail": 1,
    "To_Account": ["id1", "id2", "id4"]
    }

    请求包字段说明

    字段
    类型
    属性
    说明
    To_Account
    Array
    必填
    需要查询这些 UserID 的登录状态,一次最多查询500个 UserID 的状态
    IsNeedDetail
    Integer
    选填
    是否需要返回详细的登录平台信息。0表示不需要,1表示需要

    应答包体示例

    无需获取详细的登录平台信息

    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "QueryResult": [
    {
    "To_Account": "id1",
    "Status": "Offline"
    },
    {
    "To_Account": "id2",
    "Status": "Online"
    },
    {
    "To_Account": "id3",
    "Status": "PushOnline"
    }
    ],
    "ErrorList": [
    {
    "To_Account": "id4",
    "ErrorCode": 70107
    }
    ]
    }
    

    需要获取详细的登录平台信息

    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "QueryResult": [
    {
    "To_Account": "id1",
    "Status": "Online",
    "Detail": [
    {
    "Platform": "iPhone",
    "Status": "PushOnline"
    },
    {
    "Platform": "Web",
    "Status": "Online"
    }
    ]
    },
    {
    "To_Account": "id2",
    "Status": "Offline",
    }
    ],
    "ErrorList": [
    {
    "To_Account": "id4",
    "ErrorCode": 70107
    }
    ]
    }

    请求出错

    {
    "ActionStatus": "FAIL",
    "ErrorInfo": "Fail to Parse json data of body, Please check it",
    "ErrorCode": 90001
    }

    应答包字段说明

    字段
    类型
    说明
    ActionStatus
    String
    请求处理的结果,“OK” 表示处理成功,“FAIL” 表示失败
    ErrorInfo
    String
    详细错误信息
    ErrorCode
    Integer
    本次请求的错误码
    如有任意账号查询状态成功,则此字段返回0
    全部账号都查询失败,则此字段返回非0
    QueryResult
    Array
    返回的用户在线状态结构化信息
    QueryResult.To_Account
    String
    返回的用户的 UserID
    QueryResult.Status
    String
    返回的用户状态,目前支持的状态有:
    前台运行状态(Online):客户端登录后和即时通信 IM 后台有长连接
    后台运行状态(PushOnline):iOS 和 Android 进程被 kill 或因网络问题掉线,进入 PushOnline 状态,此时仍然可以接收消息的离线推送。客户端切到后台,但是进程未被手机操作系统 kill 掉时,此时状态仍是 Online
    未登录状态(Offline):客户端主动退出登录或者客户端自上一次登录起7天之内未登录过
    如果用户是多终端登录,则只要有一个终端的状态是 Online ,该字段值就是 Online
    QueryResult.Detail
    Object
    详细的登录平台信息
    QueryResult.Detail.Platform
    String
    登录的平台类型。可能的返回值有:"iPhone", "Android", "Web", "PC", "iPad", "Mac"。
    QueryResult.Detail.Status
    String
    该登录平台的状态
    ErrorList
    Array
    状态查询失败的账号列表,在此列表中的目标账号,状态查询失败或目标账号不存在。若状态全部查询成功,则 ErrorList 为空
    ErrorList.To_Account
    String
    状态查询失败的目标账号
    ErrorList.ErrorCode
    Integer
    状态查询失败的错误码,若目标账号的错误码为70107,表示该账号不存在
    注意
    即时通信 IM 后台只会保存 PushOnline 状态7天时间,若从掉线时刻起7天之内未登录过,则进入 Offline 状态。

    错误码说明

    除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码、错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。 公共错误码(60000到79999)参见 错误码 文档。
    本 API 私有错误码如下:
    错误码
    含义说明
    70107
    请求的用户账号不存在
    70169
    服务端内部超时,请稍后重试
    90001
    JSON 格式解析失败,请检查请求包是否符合 JSON 规范。或者 To_Account 是空数组
    90003
    JSON 格式请求包中 To_Account 不符合消息格式描述,请检查 To_Account 类型是否为 String
    90009
    请求需要 App 管理员权限
    90011
    批量发消息目标账号超过500,请减少 To_Account 中目标账号数量
    90992
    后端服务超时,请重试
    90994
    服务内部错误,请重试
    90995
    服务内部错误,请重试
    91000
    服务内部错误,请重试

    接口调试工具

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

    参考

    导入单个账号(v4/im_open_login_svc/account_import
    失效账号登录态(v4/im_open_login_svc/kick
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持