277 lines
8.3 KiB
JSON
277 lines
8.3 KiB
JSON
{
|
||
"info": {
|
||
"_postman_id": "7f8e9d0c-1b2a-4c5d-8e6f-7091a2b3c4d5",
|
||
"name": "domainflare-api",
|
||
"description": "Domainflare 面板 HTTP API:公开目录与健康检查、面板令牌保护下的账号管理(D1),以及 Cloudflare API v4 透传代理。集合变量 `baseUrl` 已指向生产环境;请在集合变量中填写 `panelToken`、`cfToken` 等敏感值。",
|
||
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
|
||
},
|
||
"item": [
|
||
{
|
||
"name": "公开",
|
||
"description": "无需鉴权。",
|
||
"item": [
|
||
{
|
||
"name": "API 目录",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": "{{baseUrl}}/api",
|
||
"description": "返回服务名、版本、路由说明与 base 等机器可读目录。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "健康检查",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [],
|
||
"url": "{{baseUrl}}/api/health",
|
||
"description": "探活,返回 ok、service、version、time。"
|
||
},
|
||
"response": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "管理(面板令牌)",
|
||
"description": "需 `X-App-Token: {{panelToken}}` 或 `Authorization: Bearer {{panelToken}}`(二选一;本集合示例统一用 X-App-Token,避免与 CF Bearer 混淆)。",
|
||
"item": [
|
||
{
|
||
"name": "校验面板令牌",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/verify",
|
||
"description": "校验面板访问令牌是否有效,成功返回 {\"ok\":true}。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "列出账号",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/accounts",
|
||
"description": "列出 D1 中已保存的 Cloudflare 账号(响应含完整 api token,仅可信环境使用)。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "新增账号",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"name\": \"我的账号\",\n \"token\": \"Cloudflare API Token\"\n}\n",
|
||
"options": {
|
||
"raw": {
|
||
"language": "json"
|
||
}
|
||
}
|
||
},
|
||
"url": "{{baseUrl}}/api/accounts",
|
||
"description": "`token` 必填;`name` 可选。成功 201,响应 {\"account\":{...}}。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "更新账号",
|
||
"request": {
|
||
"method": "PATCH",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"name\": \"新名称\",\n \"token\": \"新 Token(可选)\"\n}\n",
|
||
"options": {
|
||
"raw": {
|
||
"language": "json"
|
||
}
|
||
}
|
||
},
|
||
"url": "{{baseUrl}}/api/accounts/{{accountId}}",
|
||
"description": "字段可选;未出现的字段保持不变。成功 200,{\"account\":{...}}。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "删除账号",
|
||
"request": {
|
||
"method": "DELETE",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/accounts/{{accountId}}",
|
||
"description": "成功 200,{\"ok\":true}。"
|
||
},
|
||
"response": []
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name": "Cloudflare 透传 /api/cf",
|
||
"description": "须同时携带:`X-App-Token: {{panelToken}}` 与 `Authorization: Bearer {{cfToken}}`。请求将转发至 `https://api.cloudflare.com/client/v4` 对应路径。",
|
||
"item": [
|
||
{
|
||
"name": "验证 CF Token(示例)",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Authorization",
|
||
"value": "Bearer {{cfToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/cf/user/tokens/verify",
|
||
"description": "对应官方 GET /user/tokens/verify,用于快速验证 cfToken 是否有效。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "列出 Zones",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Authorization",
|
||
"value": "Bearer {{cfToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/cf/zones?per_page=50&direction=desc",
|
||
"description": "等价于官方 GET /zones,查询参数与 Cloudflare 文档一致。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "列出 DNS 记录",
|
||
"request": {
|
||
"method": "GET",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Authorization",
|
||
"value": "Bearer {{cfToken}}",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"url": "{{baseUrl}}/api/cf/zones/{{zoneId}}/dns_records?per_page=100&page=1",
|
||
"description": "将 `zoneId` 设为实际 Zone ID。"
|
||
},
|
||
"response": []
|
||
},
|
||
{
|
||
"name": "创建 DNS 记录(示例)",
|
||
"request": {
|
||
"method": "POST",
|
||
"header": [
|
||
{
|
||
"key": "X-App-Token",
|
||
"value": "{{panelToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Authorization",
|
||
"value": "Bearer {{cfToken}}",
|
||
"type": "text"
|
||
},
|
||
{
|
||
"key": "Content-Type",
|
||
"value": "application/json",
|
||
"type": "text"
|
||
}
|
||
],
|
||
"body": {
|
||
"mode": "raw",
|
||
"raw": "{\n \"type\": \"A\",\n \"name\": \"www\",\n \"content\": \"192.0.2.1\",\n \"ttl\": 1,\n \"proxied\": true\n}\n",
|
||
"options": {
|
||
"raw": {
|
||
"language": "json"
|
||
}
|
||
}
|
||
},
|
||
"url": "{{baseUrl}}/api/cf/zones/{{zoneId}}/dns_records",
|
||
"description": "正文与官方 Cloudflare API 一致,按实际 Zone 与记录类型修改。"
|
||
},
|
||
"response": []
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"variable": [
|
||
{
|
||
"key": "baseUrl",
|
||
"value": "https://domainflare.smyhub.com"
|
||
},
|
||
{
|
||
"key": "panelToken",
|
||
"value": ""
|
||
},
|
||
{
|
||
"key": "cfToken",
|
||
"value": ""
|
||
},
|
||
{
|
||
"key": "accountId",
|
||
"value": ""
|
||
},
|
||
{
|
||
"key": "zoneId",
|
||
"value": ""
|
||
}
|
||
]
|
||
}
|