Skip to content
本页内容由 AI 辅助生成与翻译,如有不当之处,欢迎协助改进。 在 GitHub 上编辑

API 概述

Fenfa 提供 REST API 用于上传构建、管理产品和查询分析数据。所有程序化交互 -- 从 CI/CD 上传到管理后台操作 -- 都通过此 API 进行。

基础 URL

所有 API 端点相对于 Fenfa 服务器 URL:

https://your-domain.com

认证

受保护的端点需要 X-Auth-Token 请求头。Fenfa 使用两种 Token 权限范围:

范围可执行操作请求头
upload上传构建X-Auth-Token: YOUR_UPLOAD_TOKEN
admin完全管理权限(包含上传)X-Auth-Token: YOUR_ADMIN_TOKEN

Token 在 config.json 或环境变量中配置。详见 配置参考

WARNING

未携带有效 Token 访问受保护端点将收到 401 Unauthorized 响应。

响应格式

所有 JSON 响应遵循统一结构:

成功:

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

错误:

json
{
  "ok": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "variant_id is required"
  }
}

错误码

错误码HTTP 状态码说明
BAD_REQUEST400请求参数无效
UNAUTHORIZED401缺少或无效的认证 Token
FORBIDDEN403Token 缺少所需权限
NOT_FOUND404资源未找到
INTERNAL_ERROR500服务器错误

端点总览

公开端点(无需认证)

方法路径说明
GET/products/:slug产品下载页面(HTML)
GET/d/:releaseID直接文件下载
GET/ios/:releaseID/manifest.plistiOS OTA manifest
GET/udid/profile.mobileconfig?variant=:idUDID 绑定描述文件
POST/udid/callbackUDID 回调(来自 iOS)
GET/udid/status?variant=:idUDID 绑定状态
GET/healthz健康检查

上传端点(Upload Token)

方法路径说明
POST/upload上传构建文件

管理端点(Admin Token)

方法路径说明
POST/admin/api/smart-upload智能上传(自动检测)
GET/admin/api/products列出产品
POST/admin/api/products创建产品
GET/admin/api/products/:id获取产品及变体
PUT/admin/api/products/:id更新产品
DELETE/admin/api/products/:id删除产品
POST/admin/api/products/:id/variants创建变体
PUT/admin/api/variants/:id更新变体
DELETE/admin/api/variants/:id删除变体
GET/admin/api/variants/:id/stats变体统计
DELETE/admin/api/releases/:id删除发布
PUT/admin/api/apps/:id/publish发布应用
PUT/admin/api/apps/:id/unpublish取消发布
GET/admin/api/events查询事件
GET/admin/api/ios_devices列出 iOS 设备
POST/admin/api/devices/:id/register-apple向 Apple 注册设备
POST/admin/api/devices/register-apple批量注册设备
GET/admin/api/settings获取设置
PUT/admin/api/settings更新设置
GET/admin/api/upload-config获取上传配置
GET/admin/api/apple/statusApple API 状态
GET/admin/api/apple/devicesApple 已注册设备

导出端点(Admin Token)

方法路径说明
GET/admin/exports/releases.csv导出发布
GET/admin/exports/events.csv导出事件
GET/admin/exports/ios_devices.csv导出 iOS 设备

ID 格式

所有资源 ID 使用前缀 + 随机字符串格式:

前缀资源
prd_产品
var_变体
rel_发布
app_应用(旧版)

详细参考

Released under the Apache-2.0 License.