15.4.1 偶像群聊页面心跳【已开发,待登录态联调】

进入偶像端群聊页面后立即调用,并在页面停留期间每 20 秒调用一次:

POST /tieup/api/v1/artist/im/presence/heartbeat
Authorization: Bearer <access_token>
X-Device-Id: ios_device_01
Content-Type: application/json

完整请求示例:

{}

请求字段:

参数 位置 类型 必填 说明
Authorization Header string 当前偶像端登录 Token,服务端从 Token 解析艺人身份,不接受客户端传艺人 ID
X-Device-Id Header string 当前设备标识,长度不超过 128;多设备分别维护页面存活状态

完整响应示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "active": 1,
    "heartbeat_interval_seconds": 20,
    "expires_in_seconds": 50
  }
}

响应字段:

字段 类型 说明
active integer 当前设备群聊页面状态,1 表示已刷新存活时间
heartbeat_interval_seconds integer APP 建议心跳间隔,默认 20 秒
expires_in_seconds integer 服务端页面存活 TTL,默认 50 秒

主动离开群聊页面时调用:

DELETE /tieup/api/v1/artist/im/presence
Authorization: Bearer <access_token>
X-Device-Id: ios_device_01

完整响应示例:

{
  "code": 200,
  "message": "成功",
  "data": {
    "active": 0
  }
}

说明:

  • 心跳只表示偶像是否正在群聊页面,不等同于融云在线状态或 tieup_user.online_status
  • 任意一个设备仍保持心跳时,偶像可接收粉丝阅读偶像定向消息和群发消息的已读通知。
  • APP 异常退出或未调用离开接口时,当前设备状态会在最后一次心跳约 50 秒后自动失效。
  • Redis 异常时服务端按页面不存活降级,已读事实和统计仍正常处理,但跳过偶像侧系统消息和融云通知。
  • 偶像离开页面期间产生的已读通知不积压、不补发;再次进入页面后通过消息历史和群发已读统计获取最新状态。