tencent cloud

文档反馈

查询帐号在线状态

最后更新时间:2022-12-16 11:20:37

    功能说明

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

    接口调用说明

    请求 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
  • 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 在线调试工具 调试本接口。

    参考

    联系我们

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

    技术支持

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

    7x24 电话支持