跳到主要内容

功能说明​

查询当前应用、当前用户已登记且有效的设备,按精确 IM 设备在线状态分组。登录前需遵循 设备登录规则。

请求说明​

请求鉴权:需要 appkey 和有效的新用户设备会话 Authorization 原文,不加 Bearer 。旧 token、API Key、内部服务凭证均不可用于设备管理。

请求类型:GET

请求地址:https://请求域名/jim/devices/list

请求参数​

无请求体;用户及当前设备身份来自已验证的业务会话。

请求示例​

GET /jim/devices/list HTTP/1.1
appkey: <应用标识>
Authorization: <用户设备会话凭证原文>

响应示例​

{
"code":0,
"msg":"success",
"data":{
"online_devices":[{
"device_id":"sdk-device-demo",
"device_name":"示例浏览器",
"platform":"web",
"os_version":"示例系统版本",
"app_version":"1.0.0",
"last_login_time":1793750400000,
"last_active_time":null,
"is_current_device":true
}],
"offline_devices":[]
}
}
字段类型说明
online_devices / offline_devicesarray在线/离线设备;无设备时为 [],不是 null
device_idstring与 IM 连接一致的设备 ID
device_name / platform / os_version / app_versionstring登录提交的设备展示信息;平台枚举见设备登录规则
last_login_timeint64最近登录时间,Unix 毫秒
last_active_timeint64 或 null业务鉴权的近似活跃时间,Unix 毫秒,写入约一分钟节流;不是 IM 消息活跃时间或下线时间;新登录重置为 null
is_current_devicebool根据已验证业务会话判断;当前设备也可能在离线组
  • 仅返回当前应用/用户下 active 且未删除的登记设备;撤销中、已删除设备不返回。未登记的旧端即使 IM 在线也不会加入列表。
  • 按精确 device_id 判断在线,不使用用户整体在线状态。各组内按 last_login_time 降序,相同时间按 device_id 字符串升序;不按活跃时间排序,不强制当前设备置顶。
  • 设备对象只暴露上述 8 个字段,不返回业务凭证、IM token、会话 ID、内部行 ID、应用密钥或撤销任务等信息。
  • 删除操作入口见 删除其他设备,UI 根据 is_current_device 禁用本机删除。

错误处理​

IM 在线查询使用约 5 秒超时上下文。查询故障或响应不完整通常返回 17606,应展示“暂不可获取”并退避重试,不能显示为“全部离线”。存储错误可能为 17600。

无 Authorization 通常 17005;旧 token 在兼容期也通常被中间件以 17005 拒绝;设备会话无效、API Key/服务凭证类型不允许通常 17604,不能把所有旧 token 拒绝都写成 17605。完整 响应结构与错误码。