Skip to content

API 概览

Dotnify 的后端是一组位于 /api/ 下的 Vercel Serverless Functions。所有端点接受和返回 JSON。API 遵循 REST 约定,使用一致的响应信封格式。

基础 URL

API 与前端从同一源提供服务:

https://your-dotnify-domain.vercel.app/api/

响应格式

所有响应使用一致的 JSON 信封:

成功

json
{
  "ok": true,
  "data": { ... }
}

错误

json
{
  "ok": false,
  "error": "错误描述"
}

常见 HTTP 状态码:

状态码含义
200成功
201已创建(POST)
400错误请求(缺失/无效参数)
401未授权(缺失或无效的 Bearer 令牌)
404未找到(服务商、解析域或记录)
405方法不允许
409冲突(如管理员已初始化)
422无法处理的实体(如凭据验证失败)
502上游错误(DNS 服务商 API 调用失败)

认证

大多数端点需要在 Authorization 头中提供 Bearer 令牌:

Authorization: Bearer <token>

令牌通过 POST /api/auth/login 获取,有效期为 7 天。详见认证

以下端点不需要认证:

  • GET /api/auth/me
  • POST /api/auth/setup

API 端点概览

认证

方法端点认证描述
POST/api/auth/setup创建管理员账户(一次性)
POST/api/auth/login登录并获取会话令牌
GET/api/auth/me可选检查设置/认证状态
POST/api/auth/logout使当前会话失效

服务商

方法端点认证描述
GET/api/providers列出所有服务商
POST/api/providers添加新服务商
PATCH/api/providers/:id更新服务商
DELETE/api/providers/:id删除服务商
POST/api/providers/verify验证凭据(不保存)
GET/api/providers/:id/zones列出服务商的解析域

解析域

方法端点认证描述
GET/api/zones列出所有服务商的解析域

记录

方法端点认证描述
GET/api/zones/:zoneId/records列出解析域中的 DNS 记录
POST/api/zones/:zoneId/records创建 DNS 记录
PATCH/api/zones/:zoneId/records/:recordId更新 DNS 记录
DELETE/api/zones/:zoneId/records/:recordId删除 DNS 记录

线路(华为云)

方法端点认证描述
GET/api/zones/:zoneId/lines列出华为云解析线路