API 参考

基于 RESTful 规范的完整 API,轻松实现自动化管理

使用介绍

CNMCDN 提供 RESTful 风格 API,所有接口通过 HTTPS 调用,请求和响应均为 JSON 格式。

Base URL

https://cdn.cnmcdn.net/api

通用响应格式

{ "code": 0, // 0 成功,非 0 为错误码 "msg": "success", // 提示信息 "data": { ... } // 业务数据 }

分页参数

列表接口支持以下通用查询参数:

参数类型说明
pageint页码,默认 1
page_sizeint每页数量,默认 20,最大 100
searchstring搜索关键词(可选)

认证方式

调用 API 前需先通过 /v1/login 获取 Token,后续请求在 Header 中携带:

# 每次请求携带 Token Authorization: Bearer <your_token>
Token 有效期默认为 24 小时,过期后需重新登录获取。

登录接口

POST /v1/login

使用账号密码登录,获取访问 Token。

请求参数

参数类型必填说明
usernamestring用户名或邮箱
passwordstring密码

请求示例

POST /v1/login Content-Type: application/json { "username": "user@example.com", "password": "your_password" }

响应示例

{ "code": 0, "msg": "success", "data": { "token": "eyJhbGciOiJIUzI1NiIs..." } }

用户信息

GET /v1/user

获取当前登录用户信息。

PUT /v1/user

修改当前用户信息(昵称、密码等)。

POST /v1/user

注册新用户。

POST /v1/user/certify

提交实名认证信息。

POST /v1/reset-pass

重置用户密码(需验证码)。

验证码

POST /v1/email-captcha

获取邮箱验证码(用于注册/重置密码)。

参数类型必填说明
emailstring接收验证码的邮箱
POST /v1/phone-captcha

获取手机验证码。

网站管理

GET /v1/sites

获取网站列表,支持分页和搜索。

GET /v1/sites/{id}

获取单个网站详情。

POST /v1/sites

新增网站。

请求参数

参数类型必填说明
domainstring加速域名
originstring源站 IP 或域名
origin_portint源站端口,默认 80
origin_protocolstring回源协议:http / https / follow
group_idint网站分组 ID

请求示例

POST /v1/sites Authorization: Bearer <token> Content-Type: application/json { "domain": "www.example.com", "origin": "1.2.3.4", "origin_port": 443, "origin_protocol": "https" }
PUT /v1/sites/{id}

修改网站配置。参数与新增相同,仅传需修改的字段。

DELETE /v1/sites/{id}

删除网站。

网站分组

GET /v1/site-groups

获取网站分组列表。

POST /v1/site-groups

创建网站分组。

PUT /v1/site-groups/{id}

修改分组。

DELETE /v1/site-groups/{id}

删除分组。

证书管理

GET /v1/certs

获取证书列表。

POST /v1/certs

上传或申请证书。

参数类型必填说明
domainstring证书绑定域名
certstring是*证书 PEM 内容(手动上传时必填)
keystring是*私钥 PEM 内容(手动上传时必填)
autobool设为 true 时自动申请 Let's Encrypt 证书
DELETE /v1/certs/{id}

删除证书。

DNS API

GET /v1/dnsapis

获取已配置的 DNS API 列表(用于自动申请域名证书的 DNS 验证)。

POST /v1/dnsapis

新增 DNS API 配置(支持 Cloudflare、DNSPod、阿里云等)。

ACL 规则

GET /v1/acls

获取网站 ACL 访问控制规则列表。

POST /v1/acls

新增 ACL 规则。

参数类型必填说明
site_idint关联网站 ID
typestring规则类型:ip / referer / ua / geo
actionstring动作:allow / deny
valuestring匹配值(IP/CIDR/域名/UA 字符串等)
DELETE /v1/acls/{id}

删除 ACL 规则。

CC 规则

匹配器

GET /v1/cc-matchs

获取 CC 规则匹配器列表。匹配器定义触发条件(URL、IP、请求频率等)。

POST /v1/cc-matchs

新增 CC 匹配器。

过滤器

GET /v1/cc-filters

获取 CC 规则过滤器列表。过滤器定义拦截动作(JS 验证、验证码、403 拦截等)。

POST /v1/cc-filters

新增 CC 过滤器。

规则组

GET /v1/cc-rules

获取 CC 规则组列表。规则组将匹配器和过滤器组合为完整策略。

POST /v1/cc-rules

新增 CC 规则组。

任务管理

GET /v1/jobs

获取任务列表(缓存刷新、预热、解锁、日志下载等)。

POST /v1/jobs

创建任务。

参数类型必填说明
site_idint关联网站 ID
typestring任务类型:purge_url / purge_dir / purge_all / prefetch
urlsarrayURL 列表(purge_url / prefetch 时必填)

示例:刷新指定 URL 缓存

POST /v1/jobs Authorization: Bearer <token> Content-Type: application/json { "site_id": 123, "type": "purge_url", "urls": [ "https://www.example.com/css/style.css", "https://www.example.com/js/app.js" ] }

四层转发管理

GET /v1/streams

获取四层转发列表。

POST /v1/streams

新增四层转发。

参数类型必填说明
protocolstring协议:tcp / udp
listen_portint监听端口
originstring源站 IP
origin_portint源站端口
group_idint转发分组 ID
PUT /v1/streams/{id}

修改转发配置。

DELETE /v1/streams/{id}

删除转发。

转发分组

GET /v1/stream-groups

获取转发分组列表。

POST /v1/stream-groups

创建转发分组。

套餐查询

GET /v1/package-groups

获取在售套餐分组列表。

GET /v1/packages

获取在售套餐列表,包含价格、流量配额、防护规格等详细信息。

响应示例

{ "code": 0, "data": [ { "id": 1, "name": "基础版", "bandwidth": "10Mbps", "ddos_protection": "20Gbps", "price": 99, "period": "month" } ] }
完整的字段说明和更多接口细节,请参阅 CNMCDN 官方 API 文档