This commit is contained in:
28
docs/api.md
28
docs/api.md
@@ -739,10 +739,12 @@ Authorization: Bearer <admin_token>
|
||||
### 11.7 兑换码管理
|
||||
|
||||
```http
|
||||
GET /admin/redemption-codes?page=1&limit=50
|
||||
GET /admin/redemption-codes?page=1&limit=50&status=available&benefit_kind=plan&plan_id=<uuid>&keyword=活动
|
||||
Authorization: Bearer <admin_token>
|
||||
```
|
||||
|
||||
筛选参数均可省略:`status` 支持 `available/redeemed/disabled/expired`,`benefit_kind` 支持 `plan/units`,`keyword` 可搜索完整兑换码(精确匹配)、脱敏标识、备注和兑换人。列表响应使用 `Cache-Control: no-store`。
|
||||
|
||||
```http
|
||||
POST /admin/redemption-codes
|
||||
Authorization: Bearer <admin_token>
|
||||
@@ -758,7 +760,7 @@ Content-Type: application/json
|
||||
}
|
||||
```
|
||||
|
||||
套餐卡使用 `benefit_kind: "plan"` 并传入 `plan_id`。完整兑换码只在创建响应中返回一次,数据库只保存 HMAC 哈希和脱敏标识。
|
||||
套餐卡使用 `benefit_kind: "plan"` 并传入 `plan_id`。新生成的完整兑换码使用 AES-256-GCM 加密保存,管理员之后仍可在列表响应的 `code` 字段查看和复制;HMAC 哈希继续单独用于兑换校验。升级前生成的历史码无法从哈希逆向恢复,因此其 `code` 为 `null`,仍提供 `code_hint`。
|
||||
|
||||
```http
|
||||
PUT /admin/redemption-codes/{code_id}
|
||||
@@ -768,6 +770,28 @@ Content-Type: application/json
|
||||
{ "is_active": false }
|
||||
```
|
||||
|
||||
已兑换的兑换码保留为权益和审计凭据,不能再修改状态或删除。未兑换兑换码支持单独删除:
|
||||
|
||||
```http
|
||||
DELETE /admin/redemption-codes/{code_id}
|
||||
Authorization: Bearer <admin_token>
|
||||
```
|
||||
|
||||
批量启用、停用或删除最多支持 200 个 ID;已兑换记录自动跳过,响应会返回处理、跳过和未找到数量:
|
||||
|
||||
```http
|
||||
POST /admin/redemption-codes/batch
|
||||
Authorization: Bearer <admin_token>
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"ids": ["<code_id_1>", "<code_id_2>"],
|
||||
"action": "disable"
|
||||
}
|
||||
```
|
||||
|
||||
`action` 支持 `enable/disable/delete`,所有单条和批量操作都会写入管理员审计日志。
|
||||
|
||||
### 11.8 邮箱验证开关
|
||||
|
||||
`GET /admin/auth` 和 `PUT /admin/auth` 的配置体包含 `email_verification_required`。该配置独立于 SMTP,修改后立即生效,不需要重启服务。
|
||||
|
||||
Reference in New Issue
Block a user