API 接口文档

用 API 把 Clever VPN 与你的 CRM 打通,编程化管理你的客户(用户):创建、查询、更新、删除。当前 API 开放 客户(customers) 数据。

🔑 快速开始

  1. 登录后台,进入 账户 → API 访问。
  2. 点击「启用 API」,系统生成一个 cv_api_… Token;之后可随时「重新生成」或「停用」。
  3. 在所有请求的 Authorization 请求头携带该 Token(见下)。

认证

每个请求都需携带 API Token:

Authorization: Bearer cv_api_<your-token>

Token 格式为 cv_api_<blob>。网关根据 Token 定位到你的租户,后端再校验 Token 是否有效(已启用且与服务器端存储的 Token 完全匹配)。校验失败返回 401。

基础地址

https://api.clever-vpn.org/api/v2

以下端点均基于此地址,例如列表为 https://api.clever-vpn.org/api/v2/customers。

客户(customers)端点

操作MethodURL说明
列表GET/customers返回数组;支持过滤、排序、分页
详情GET/customers/:id单条记录;不存在返回 404
创建POST/customers201 + 记录;激活码自动生成
更新PATCH/customers/:id部分字段更新
删除DELETE/customers/:id软删除,返回 {"success":true}

列表:过滤 / 排序 / 分页

过滤

按字段精确 / 模糊匹配,多个条件为 AND 关系。

?filters[name][$contains]=ali
?filters[email][$eq]=alice@example.com
?filters[frozen][$eq]=0
?filters[_fsm_status][$eq]=active
?filters[expire_date][$lte]=2026-12-31
?filters[id][$in][]=1&filters[id][$in][]=2

排序

?sort=name:asc
?sort=_created_at:desc   (默认:按创建时间倒序)

分页

列表返回纯数组(不含 total)。用 pagination[page] 与 pagination[pageSize] 翻页;判断是否还有下一页:本页返回条数 ≥ pageSize 时继续取下一页。

?pagination[page]=2&pagination[pageSize]=100

可写字段

字段类型说明
namestring客户名称
emailstring邮箱
phonestring手机号
memostring备注
licence_limitnumber设备数上限
frozennumber冻结(0 / 1)
expire_datestring到期时间(ISO 时间)
traffic_balancenumber流量额度(GB)
monthly_costnumber月费(分)
up_mbps / down_mbpsnumber限速(Mbps)

内部字段(下划线开头,如 _fsm_status / _created_at / _is_deleted)为系统管理,创建 / 更新时会被忽略或自动生成,不可由 API 写入。code(激活码)由系统自动生成。

示例(curl)

创建客户

curl -X POST "https://api.clever-vpn.org/api/v2/customers" \
  -H "Authorization: Bearer cv_api_xxx" \
  -H "Content-Type: application/json" \
  -d '{"name":"Alice","email":"alice@example.com","phone":"+8613800000000"}'

响应(201):

{"id":1,"code":"1234567890123456","name":"Alice",
 "email":"alice@example.com","_created_at":"2026-08-26T00:00:00.000Z"}

列出客户(按名称模糊搜索)

curl -G "https://api.clever-vpn.org/api/v2/customers" \
  -H "Authorization: Bearer cv_api_xxx" \
  --data-urlencode "filters[name][$contains]=ali"

更新客户

curl -X PATCH "https://api.clever-vpn.org/api/v2/customers/1" \
  -H "Authorization: Bearer cv_api_xxx" \
  -H "Content-Type: application/json" \
  -d '{"memo":"VIP","frozen":1}'

删除客户(软删除)

curl -X DELETE "https://api.clever-vpn.org/api/v2/customers/1" \
  -H "Authorization: Bearer cv_api_xxx"

错误

状态码说明
401Token 缺失 / 格式错误 / 无效(已停用或已被重新生成)
400请求体非法 / 参数不合法
404资源不存在

错误响应格式:{"error":"错误描述"}

范围与安全

  • API Token 仅开放 customers(客户 / 用户)数据;服务器、线路、设备、计费等资源对 API 不可见。
  • 删除为软删除:客户在列表中被隐藏,数据保留可恢复。
  • 「重新生成」或「停用」后,旧 Token 立即失效。
  • Token 是 bearer 凭据,请存入 CRM 的密钥库,勿写入前端代码、日志或分享。
  • API 权限与你在后台一致(管理你自己的客户),不包含任何管理员能力。