[TOC]
## 变改记录
| 时间 | 说明 |
| --- | --- |
| 2021-12-01 | v1发布 |
| 2022-01-11 | /v1/sites接口新增post_size_limit,最大上传文件大小限制 |
| 2022-03-07 | /v1/sites接口新增proxy_ssl_protocols,回源SSL协议。site的https_listen新增ssl_protocols、ssl_ciphers、ssl_prefer_server_ciphers。/v1/packages 新增bandwidth和connection,分别限制带宽和连接数|
| 2022-06-23 | 增加管理员管理用户的api key接口;增加管理员分配套餐时可指定过期时间; 增加管理员编辑用户套餐接口/v1/user-packges;增加管理员对用户套餐升降级操作 |
| 2022-10-26 | 废弃/v1/sites, /v1/streams, /v1/user-packages 接口中的cname_hostname2字段,主机名只使用cname_hostname |
## 数据格式
所有API都使用json格式提交,并返回json结果。
成功时,返回如下
```
{
"code": 0,
"msg": "成功",
"data": "xxx"
}
```
出错时,返回如下
```
{
"code": "site-1",
"msg": "权限不足",
"data": ""
}
```
code为0时表示成功。
## 验证方式
### API密钥
API密钥没有过期时间,永久生效,适用于不想频繁登录账号获取token的场景。
管理员端的API密钥的开关在"系统管理-》API密钥"里开启,用户端在“账户中心-》API密钥开启”。
开启后,会得到api\_key和api\_secret,请求API时,同时发送api-key和api-secret请求头,它们的值分别为api\_key和api\_secret,假如api_key值为X0BjngTeWN2M54bY,api\_secret为iNO5ujSQoYeJgIq82tzDhcPvGdBysT,如下curl命令示例:
```
curl -H "api-key: X0BjngTeWN2M54bY" -H "api-secret: iNO5ujSQoYeJgIq82tzDhcPvGdBysT" http://master-domain/v1/site/1
```
### Access Token
access token有过期时间,可以用在网页操作使用。过期时间是在管理端,系统设置里设置。
需要通过登录接口获取access token,请求API时,再设置为请求头access-token,如下示例:
1、首先登录用户
```
curl -H "" -d '{"account":"jason","password":"123456"}' http://master-domain/v1/login
```
account可以是用户名,手机号,邮箱地址,如果账号和密码正确,将返回类似如下结果:
```
{
"code": 0,
"data": {
"access_token": "2nS1US5wOR+RxvXqFb/djg11ibnMEmgjTCudhhDAIwc4JlwdK0P/2M1q+WWST4Snfh0MQO9mAuZkCYAXnfHiYWOEz8UTUhqTk9elbgp0CPhmFOsU3DYhqhX8PSo4fYSw3uje5dWJarASppqly7uD1Q==",
"type": 2,
"uid": 2,
"username": "jason"
},
"msg": "\u767b\u5f55\u6210\u529f!"
}
```
2、发送API请求
我们提取上一步的access_token数据为2nS1US5wOR+RxvXqFb/djg11ibnMEmgjTCudhhDAIwc4JlwdK0P/2M1q+WWST4Snfh0MQO9mAuZkCYAXnfHiYWOEz8UTUhqTk9elbgp0CPhmFOsU3DYhqhX8PSo4fYSw3uje5dWJarASppqly7uD1Q==
发送请求时,设置请求头access-token,值为上面提取的,如curl获取网站id为1的数据命令为:
```
curl -H "access-token: 2nS1US5wOR+RxvXqFb/djg11ibnMEmgjTCudhhDAIwc4JlwdK0P/2M1q+WWST4Snfh0MQO9mAuZkCYAXnfHiYWOEz8UTUhqTk9elbgp0CPhmFOsU3DYhqhX8PSo4fYSw3uje5dWJarASppqly7uD1Q==" http://master-domain/v1/site/1
```
如果是网页调用API,登录后,可以先把access_token存储在浏览器的local storage里,请求api时再获取。
- Cdnfly介绍
- 功能介绍
- 性能数据
- 安装说明
- 管理员文档
- 快速开始
- 节点管理
- DNS设置
- 线路分组
- CC参数配置
- 套餐管理
- 全局配置
- 充值设置
- SMTP设置
- 用户文档
- 网站管理
- 新增网站
- 网站编辑
- 缓存配置
- 刷新预热
- 证书管理
- CC规则
- ACL管理
- 四层转发
- 新增转发
- 转发编辑
- API文档
- 使用介绍
- 用户端
- 用户相关
- 帐号登录 /v1/login
- 重置用户密码 /v1/reset-pass
- 获取邮箱验证码 /v1/email-captcha
- 获取手机验证码 /v1/phone-captcha
- 获取、修改用户信息、注册用户 /v1/user
- 实名认证 /v1/user/certify
- 网站相关
- 网站管理 /v1/sites
- 网站分组 /v1/site-groups
- 网站证书 /v1/certs
- 申请证书的dnsapi /v1/dnsapis
- 网站ACL /v1/acls
- CC规则匹配器 /v1/cc-matchs
- CC规则过滤器 /v1/cc-filters
- CC规则组 /v1/cc-rules
- 网站任务(刷新预热、解锁、日志下载) /v1/jobs
- 四层相关
- 四层转发 /v1/streams
- 转发分组 /v1/stream-groups
- 套餐相关
- 在售套餐分组 /v1/package-groups
- 在售套餐 /v1/packages
- 在售升级包 /v1/package-ups
- 用户套餐 /v1/user-packages
- 用户套餐升级包 /v1/user-package/<package_id>/upgrades
- 套餐用量查询 /v1/user-package/<package_id>/usage
- 监控数据
- 网站实时统计 /v1/monitor/site/realtime
- 网站资源排行 /v1/monitor/site/top
- 网站黑名单 /v1/monitor/site/blackip
- 网站实时访问日志 /v1/monitor/site/access-log
- 用量查询 /v1/monitor/usage
- 转发实时统计 /v1/monitor/stream/realtime
- 转发资源排行 /v1/monitor/stream/top
- 消息相关
- 订阅消息 /v1/messages/sub
- 消息已读 /v1/messages/read
- 消息列表 /v1/messages
- 充值相关
- 微信充值 /v1/wxpay/preorder
- 支付宝充值 /v1/alipay/preorder
- 其它
- 订单查询 /v1/orders
- 获取系统配置 /v1/configs
- 登录日志 /v1/log/login
- 操作日志 /v1/log/op
- 用户端数据概览 /v1/user/overview
- api key管理 /v1/api-key
- 显示图片验证码 /v1/common/captcha
- 显示系统信息 /v1/common/sysinfo
- 注册信息 /v1/common/register-info
- 管理端
- 用户管理 /v1/users
- 用户充值 /v1/user/<用户ID>/recharge
- 区域管理 /v1/regions
- 节点管理 /v1/nodes
- 线路组管理 /v1/node-groups
- 线路管理 /v1/lines
- 基础套餐管理 /v1/packages
- 套餐组管理 /v1/package-groups
- 升级包管理 /v1/package-ups
- 用户套餐管理 /v1/user-packages
- api key管理 /v1/api-key
- FAQ