hyapp-server/docs/api-test-flows.md
2026-05-09 13:36:41 +08:00

89 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# API 测试链路
本文件记录 `docs/api-test-harness.html` 内置的流程化链路。HTML 只直接执行 HTTP API腾讯云 IM/TRTC SDK 动作作为客户端步骤列出,不伪造成后端接口。
## 01 三方注册/登录 -> 资料 -> 国家 -> token 生命周期
1. `GET /healthz/ready`:确认 gateway 可接流量。
2. `GET /api/v1/countries`:确认注册页国家主数据可读。
3. `POST /api/v1/auth/third-party/login`:使用真实 Firebase/Google ID token 登录或注册,写入 username/avatar/gender/birth/country/device/source 等注册字段。
4. `GET /api/v1/users/me/identity`:确认 user_id/display_user_id 映射。
5. `GET /api/v1/users/me/overview`:确认我的页聚合数据。
6. `POST /api/v1/users/me/profile/update`:修改用户名、头像、生日。
7. `POST /api/v1/users/me/country/change`:修改国家;同一用户一个月只允许一次,重复执行应返回冲突。
8. `POST /api/v1/auth/password/set`:首次设置密码。
9. `POST /api/v1/auth/token/refresh`:刷新 access token。
10. `POST /api/v1/auth/logout`:失效 refresh session。
## 02 密码登录 -> refresh -> logout
1. `POST /api/v1/auth/account/login`:账号是当前展示短号。
2. `GET /api/v1/users/me/identity`:验证登录态。
3. `POST /api/v1/auth/token/refresh`:验证 refresh 轮换。
4. `POST /api/v1/auth/logout`:验证 session 失效。
## 03 房间 -> IM -> RTC -> MicUp -> 发流确认 -> 下麦离房
1. `POST /api/v1/rooms/create`:创建房间,成功后回填 `room_id`
2. `POST /api/v1/rooms/join`:加入业务 presence。
3. `GET /api/v1/rooms/current`:确认当前可恢复房间。
4. `GET /api/v1/im/usersig`:获取 IM `sdk_app_id/user_id/user_sig`
5. 客户端 IM SDK`TIM.create + login`,房间群 ID 使用 `room_id`
6. `POST /api/v1/rtc/token`:获取 RTC `sdk_app_id/rtc_user_id/user_sig/str_room_id`
7. 客户端 TRTC SDK使用 `str_room_id` 进房。
8. `POST /api/v1/rooms/mic/up`:麦位进入 `pending_publish`,回填 `mic_session_id/room_version`
9. 客户端 TRTC SDK`switchRole(anchor) + startLocalAudio`
10. `POST /api/v1/rooms/mic/publishing/confirm`:带 `mic_session_id/room_version/event_time_ms` 确认发布。
11. `GET /api/v1/rooms/snapshot`:确认麦位进入 `publishing`
12. `POST /api/v1/rooms/heartbeat`:刷新业务 presence。
13. `POST /api/v1/rooms/mic/down`:下麦。
14. `POST /api/v1/rooms/leave`:离房。
## 04 MicUp 未确认 -> publish_timeout 自动释放验证
1. `POST /api/v1/rooms/create`
2. `POST /api/v1/rooms/join`
3. `POST /api/v1/rtc/token`
4. `POST /api/v1/rooms/mic/up`
5. 不调用 `ConfirmMicPublishing`,等待 `publish_deadline_ms` 或服务配置 deadline。
6. `GET /api/v1/rooms/current`
7. `GET /api/v1/rooms/snapshot`:确认麦位释放或状态转移符合 `publish_timeout`
## 05 App 消息 tab/inbox 读写链路
1. `GET /api/v1/messages/tabs`
2. `GET /api/v1/messages`
3. `POST /api/v1/messages/{message_id}/read`
4. `POST /api/v1/messages/read-all`
5. `DELETE /api/v1/messages/{message_id}`
## 06 资源/礼物/送礼/币商转账链路
1. `GET /api/v1/resources`
2. `GET /api/v1/resource-groups/{group_id}`
3. `GET /api/v1/gifts`
4. `GET /api/v1/users/me/resources`
5. `POST /api/v1/users/me/resources/{resource_id}/equip`
6. `POST /api/v1/rooms/gift/send`
7. `POST /api/v1/wallet/coin-seller/transfer`
## 07 后台国家/区域配置链路
1. `POST /api/v1/auth/login`
2. `GET /api/v1/auth/me`
3. `GET /api/v1/admin/countries`
4. `POST /api/v1/admin/countries`
5. `POST /api/v1/admin/countries/{country_id}/enable`
6. `GET /api/v1/admin/regions`
7. `POST /api/v1/admin/regions`
8. `PUT /api/v1/admin/regions/{region_id}/countries`
9. `POST /api/v1/admin/regions/{region_id}/enable`
## 08 后台币商库存入账 -> App 币商转账
1. `POST /api/v1/auth/login`
2. `GET /api/v1/admin/coin-sellers`
3. `POST /api/v1/admin/coin-sellers/{user_id}/stock-credits`
4. `POST /api/v1/wallet/coin-seller/transfer`
5. `GET /api/v1/admin/payment/recharge-bills`