使用介绍
CNMCDN 提供 RESTful 风格 API,所有接口通过 HTTPS 调用,请求和响应均为 JSON 格式。
Base URL
https://cdn.cnmcdn.net/api
通用响应格式
{
"code": 0, // 0 成功,非 0 为错误码
"msg": "success", // 提示信息
"data": { ... } // 业务数据
}
分页参数
列表接口支持以下通用查询参数:
| 参数 | 类型 | 说明 |
|---|---|---|
page | int | 页码,默认 1 |
page_size | int | 每页数量,默认 20,最大 100 |
search | string | 搜索关键词(可选) |
认证方式
调用 API 前需先通过 /v1/login 获取 Token,后续请求在 Header 中携带:
# 每次请求携带 Token
Authorization: Bearer <your_token>
Token 有效期默认为 24 小时,过期后需重新登录获取。
登录接口
POST
/v1/login
使用账号密码登录,获取访问 Token。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
username | string | 是 | 用户名或邮箱 |
password | string | 是 | 密码 |
请求示例
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
获取邮箱验证码(用于注册/重置密码)。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 接收验证码的邮箱 |
POST
/v1/phone-captcha
获取手机验证码。
网站管理
GET
/v1/sites
获取网站列表,支持分页和搜索。
GET
/v1/sites/{id}
获取单个网站详情。
POST
/v1/sites
新增网站。
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
domain | string | 是 | 加速域名 |
origin | string | 是 | 源站 IP 或域名 |
origin_port | int | 否 | 源站端口,默认 80 |
origin_protocol | string | 否 | 回源协议:http / https / follow |
group_id | int | 否 | 网站分组 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
上传或申请证书。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
domain | string | 是 | 证书绑定域名 |
cert | string | 是* | 证书 PEM 内容(手动上传时必填) |
key | string | 是* | 私钥 PEM 内容(手动上传时必填) |
auto | bool | 否 | 设为 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_id | int | 是 | 关联网站 ID |
type | string | 是 | 规则类型:ip / referer / ua / geo |
action | string | 是 | 动作:allow / deny |
value | string | 是 | 匹配值(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_id | int | 是 | 关联网站 ID |
type | string | 是 | 任务类型:purge_url / purge_dir / purge_all / prefetch |
urls | array | 否 | URL 列表(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
新增四层转发。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
protocol | string | 是 | 协议:tcp / udp |
listen_port | int | 是 | 监听端口 |
origin | string | 是 | 源站 IP |
origin_port | int | 是 | 源站端口 |
group_id | int | 否 | 转发分组 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 文档。