控制台任务手册
控制台模块按“对象”组织(应用、用户、群组、聊天室、推送、回调、审核、统计…),而日常工作是按“任务”组织的。本页把常见任务拆成可执行步骤,并给出每一步对应的控制台页面与管理接口,便于交接与自动化。
管理接口前缀 /api/admin,请求头 X-Admin-Secret(本地默认 dev-admin,生产必须替换);子账号使用 X-Admin-Account + X-Admin-Token。
响应统一为 { code, data } / { code, msg };code=0 成功。
控制台页面入口:服务端根路径下的 /console/。
任务 → 模块 → 接口对照
| 任务 | 控制台页面 | 主要管理接口 |
|---|---|---|
| 创建/配置应用、重置密钥 | 应用与密钥 | POST /apps、POST /apps/{appkey}/secret/reset |
| 注册用户、签发 Token、封禁/禁言 | 用户管理 · 封禁用户 | POST /apps/{appkey}/users、POST /apps/{appkey}/users/{userId}/ban |
| 群组资料、成员、禁言、解散 | 群组管理 | GET /apps/{appkey}/groups、POST /apps/{appkey}/groups/{groupId}/dismiss |
| 聊天室在线、禁言、销毁 | 聊天室管理 | POST /apps/{appkey}/chatrooms/{chatroomId}/destroy |
| 消息追踪与导出 | 消息追踪 · 数据导出 | GET /apps/{appkey}/messages、GET /apps/{appkey}/messages/export |
| 连接与在线排查 | 连接明细 | GET /apps/{appkey}/connections、GET /apps/{appkey}/connections/stats |
| 回调配置、投递日志与重试 | 回调服务 | POST /apps/{appkey}/callbacks/config、GET /apps/{appkey}/callbacks/deliveries |
| 敏感词与内容审核 | 敏感词 · 内容审核 | POST /apps/{appkey}/sensitive-words、POST /apps/{appkey}/moderation/tasks/{taskId}/decide |
| 统计与趋势 | 统计维度 | GET /apps/{appkey}/stats/dimensions |
| 限频与配额 | 接口调频 · 配额 | POST /apps/{appkey}/ratelimit |
| 操作审计 | 操作日志 | GET /apps/{appkey}/audit |
| 子账号与权限 | 子账号与 RBAC | POST /accounts、POST /accounts/{accountId} |
任务一:新应用接入到第一条消息
- 创建应用并保存 AppSecret
控制台「应用与密钥」创建应用,或调用
POST /api/admin/apps。响应里的appSecret只返回这一次,立即写入密钥管理系统。验证:
GET /api/admin/apps/{appkey}能读到应用信息(不返回 secret 明文)。 - 注册测试用户并签发 Token
管理端注册用户(
POST /api/admin/apps/{appkey}/users),或由业务后端在登录流程里注册。服务端用签名调用
POST /im/v2/user/token/issue签发用户 Token(7 天有效),返回给客户端。 - 客户端建连并收发第一条消息
按 Quick Start 初始化 SDK、connect、发送文本消息,并在另一端确认收到。
在「连接明细」确认两个用户的会话数;在「消息追踪」按 userId 查消息记录。
- 配置回调与验证签名
控制台「回调服务」或
POST /apps/{appkey}/callbacks/config配置回调地址与密钥。用「回调服务 → 测试」发一条测试事件,确认接收端验签通过、eventId 幂等生效。
投递失败可在「投递日志」查看并按
POST /apps/{appkey}/callbacks/deliveries/{deliveryId}/retry重试。 - 设置限频与配额,准备上线
按上线检查清单逐项确认;为高流量接口设置接口级 QPS 覆盖,避免被整体限频误伤。
任务二:排查“收不到消息”
按“连接 → 消息投递 → 客户端渲染”的顺序排查,每一步都能在控制台看到证据。
| 顺序 | 检查项 | 控制台位置 | 判定 |
|---|---|---|---|
| 1 | 用户是否在线 | 连接明细 | 无在线会话 ⇒ 消息走离线补发(依赖再次上线) |
| 2 | 是否被封禁/禁言 | 封禁用户 | 封禁期间不能建连;禁言只影响发送 |
| 3 | 消息是否入库 | 消息追踪 | 按 userId/会话/时间查;无记录 ⇒ 发送端失败或未发送 |
| 4 | 是否被审核拦截 | 内容审核 | blocked 消息有阻塞标记与原因 |
| 5 | 是否在聊天室 | 聊天室管理 | 聊天室消息不持久化、不补发 |
| 6 | 客户端是否去重/排序错误 | 客户端日志 | 收到但未渲染 ⇒ 去重集合或 seq 排序问题 |
任务三:内容安全处置
- 在「敏感词」配置词条与处置动作(block/replace),或调用
POST /apps/{appkey}/sensitive-words;批量导入用sensitiveword.batch.add。 - 命中后消息被拦截(
1010)或掩码;审核模式下生成审核任务,在「内容审核」逐条裁决:POST /apps/{appkey}/moderation/tasks/{taskId}/decide(approve/reject)。 - reject 会把消息标记为 blocked 并通知发送者;需要留证时导出审核记录。
- 对反复违规用户执行封禁(
POST /apps/{appkey}/users/{userId}/ban),并在「操作日志」确认动作已记录。
任务四:容量与性能巡检
| 指标 | 位置 | 关注点 |
|---|---|---|
| 用户/群/消息/在线总量与趋势 | 统计维度 | 聊天室消息为 ephemeral,统计返回 0 属预期 |
| 连接数与会话数 | 连接明细 | 在线会话突增/突降通常对应故障或发版 |
| 推送投递结果 | 推送统计 | sent 恒为 0 表示无厂商通道投递能力 |
| 限频命中 | 接口调频 | 429/1008 比例升高说明需要扩容或合并请求 |
| 告警规则 | 监控与告警 | 阈值告警 webhook 是否可达 |
常用管理接口速查
# 1) 应用与密钥
curl -sS http://127.0.0.1:8080/api/admin/apps -H 'X-Admin-Secret: dev-admin'
curl -sS -X POST http://127.0.0.1:8080/api/admin/apps/demo/secret/reset -H 'X-Admin-Secret: dev-admin'
# 2) 用户:注册 / 签发 Token / 封禁
curl -sS -X POST http://127.0.0.1:8080/api/admin/apps/demo/users -H 'X-Admin-Secret: dev-admin' \
-H 'content-type: application/json' -d '{"userId":"alice","name":"Alice"}'
curl -sS -X POST http://127.0.0.1:8080/api/admin/apps/demo/users/alice/token -H 'X-Admin-Secret: dev-admin'
curl -sS -X POST http://127.0.0.1:8080/api/admin/apps/demo/users/alice/ban -H 'X-Admin-Secret: dev-admin' \
-H 'content-type: application/json' -d '{"banned":true,"reason":"spam"}'
# 3) 消息与连接排查
curl -sS 'http://127.0.0.1:8080/api/admin/apps/demo/messages?userId=alice&limit=20' -H 'X-Admin-Secret: dev-admin'
curl -sS 'http://127.0.0.1:8080/api/admin/apps/demo/connections?userId=alice' -H 'X-Admin-Secret: dev-admin'
# 4) 回调投递日志与重试
curl -sS 'http://127.0.0.1:8080/api/admin/apps/demo/callbacks/deliveries?status=failed' -H 'X-Admin-Secret: dev-admin'
curl -sS -X POST http://127.0.0.1:8080/api/admin/apps/demo/callbacks/deliveries/1/retry -H 'X-Admin-Secret: dev-admin'
# 5) 审计日志
curl -sS 'http://127.0.0.1:8080/api/admin/apps/demo/audit?action=apps.secret.reset&limit=20' -H 'X-Admin-Secret: dev-admin'