API 文档管理接口用户管理
获取当前用户信息
🔐 需要 PAT 鉴权(User 权限)
获取当前用户的个人资料,以及钱包、促销、订阅三类相互独立的额度信息。
Base URL
https://api.autorouter.top— Production
Authentication
本接口使用 系统访问令牌(PAT)+ Auto-Api-User 鉴权,不能使用 sk-xxx 形式的 API Key。
| Header | 说明 |
|---|---|
Authorization | 系统访问令牌。格式:Bearer {system_access_token}。在「个人中心 → 个人资料 → 访问令牌」中生成。Bearer 前缀可省略。 |
Auto-Api-User | 当前登录用户 ID,必须与令牌所属用户一致。可在「个人中心 → 个人资料 → 用户 ID」处复制。 |
Endpoints
GET /api/user/self
获取当前用户信息
🔐 需要 PAT 鉴权(User 权限)
Responses
200: 成功
Content-Type: application/json
401: 未鉴权或鉴权失败
响应字段
顶层
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 是否成功 |
message | string | 错误信息,成功时为空字符串 |
data | object | 用户资料与余额信息 |
data 用户信息
| 字段 | 类型 | 说明 |
|---|---|---|
id | integer | 用户 ID |
username | string | 用户名 |
display_name | string | 显示名称 |
role | integer | 角色:1 普通用户,10 管理员,100 Root |
status | integer | 账号状态 |
email | string | 邮箱 |
group | string | 用户分组 |
user_level_id | integer | 管理员配置的基础会员等级 ID |
user_level_name | string | 基础会员等级名称 |
effective_user_level_id | integer | 运行时有效会员等级 ID(基础等级与订阅升级取较高者) |
effective_user_level_name | string | 运行时有效会员等级名称 |
quota | integer | 钱包剩余额度,仅表示钱包账户余额,不包含促销或订阅额度 |
quota_amount | number | 钱包额度金额 |
promotion_quota | integer | 独立促销额度,与钱包额度分开统计 |
promotion_amount | number | 独立促销金额 |
promotion_expires_at | integer | 促销额度过期时间(Unix 时间戳,秒;无可用促销时为 0) |
total_available_quota | integer | 当前可用额度合计,计算方式为 quota + promotion_quota;不包含订阅额度 |
used_quota | integer | 累计使用额度,为账户历史总消耗,不应理解为单纯的“钱包已消费额度” |
used_quota_amount | number | 累计使用金额 |
request_count | integer | 累计请求次数 |
aff_code | string | 邀请码 |
aff_count | integer | 邀请注册人数 |
aff_quota | integer | 可兑换邀请奖励额度 |
aff_history_quota | integer | 历史邀请奖励额度 |
inviter_id | integer | 邀请人用户 ID |
setting | string | 用户设置 JSON 字符串 |
sidebar_modules | string | 侧边栏模块配置 |
stripe_customer | string | Stripe 客户 ID |
permissions | object | 权限配置 |
subscriptions | array | 独立订阅额度列表,每条记录表示一个有效订阅的额度摘要(见下表) |
github_id / discord_id / oidc_id / wechat_id / telegram_id / linux_do_id | string | 第三方账号绑定 ID,未绑定时为空字符串 |
data.subscriptions[] 订阅额度
| 字段 | 类型 | 说明 |
|---|---|---|
id | integer | 订阅记录 ID |
plan_id | integer | 订阅方案 ID |
amount_total | number | 订阅总额度(金额)。无限额度订阅返回 -1 |
amount_used | number | 已使用额度(金额) |
start_time | integer | 订阅开始时间(Unix 时间戳,秒) |
end_time | integer | 订阅结束时间(Unix 时间戳,秒) |
status | string | 订阅状态,见下表 |
订阅 status 取值
| 值 | 说明 |
|---|---|
active | 生效中 |
cancel_pending | 已申请取消,当前周期内仍可使用 |
额度字段关系
响应中的额度分为三类,彼此独立:
| 类型 | 额度字段 | 金额字段 | 说明 |
|---|---|---|---|
| 钱包 | quota | quota_amount | 用户钱包账户剩余额度 |
| 促销 | promotion_quota | promotion_amount | 独立促销额度,有过期时间 promotion_expires_at |
| 订阅 | subscriptions[] | amount_total / amount_used | 独立订阅额度列表,每条订阅单独统计 |
total_available_quota目前仅合计钱包与促销额度:quota + promotion_quota,不包含subscriptions中的订阅额度。used_quota表示账户累计使用额度,覆盖历史总消耗,不等同于“钱包已消费额度”。- 订阅额度中
amount_total = -1表示无限额度。
请求示例
curl -X GET "https://api.autorouter.top/api/user/self" \
-H "Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN" \
-H "Auto-Api-User: YOUR_USER_ID"响应示例
{
"success": true,
"message": "",
"data": {
"id": 1,
"username": "admin",
"display_name": "Root User",
"role": 100,
"status": 1,
"email": "",
"group": "default",
"user_level_id": 1,
"user_level_name": "default",
"effective_user_level_id": 1,
"effective_user_level_name": "default",
"quota": 499833937905329,
"quota_amount": 999667875.810658,
"promotion_quota": 0,
"promotion_amount": 0,
"promotion_expires_at": 0,
"total_available_quota": 499833937905329,
"used_quota": 168868338185,
"used_quota_amount": 337736.67637,
"request_count": 12922181,
"aff_code": "zwRf",
"aff_count": 0,
"aff_quota": 0,
"aff_history_quota": 0,
"inviter_id": 0,
"github_id": "",
"discord_id": "",
"oidc_id": "",
"wechat_id": "",
"telegram_id": "",
"linux_do_id": "",
"setting": "{\"billing_preference\":\"wallet_first\",\"language\":\"zh\"}",
"stripe_customer": "",
"sidebar_modules": "",
"permissions": {
"sidebar_settings": false,
"sidebar_modules": {}
},
"subscriptions": [
{
"id": 12,
"plan_id": 3,
"amount_total": 100,
"amount_used": 25.5,
"start_time": 1756617600,
"end_time": 1759296000,
"status": "active"
}
]
}
}