使用介绍

变改记录

时间 说明
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时再获取。

© 版权声明
评论 抢沙发

请登录后发表评论

    暂无评论内容