HTTP API
TeaWeb提供了一组HTTP API,方便用户从TeaWeb获取一些有用的数据,或者对TeaWeb进行操作。
API URL
只需要在某个具体的API路径前面加入TeaWeb访问地址即可:
http://TeaWeb访问地址/API路径
比如:
http://192.168.1.100:7777/api/v1/status?TeaKey=W7cy2eFpOKOPgOlaoDgbX11QNPAgIL5E
其中TeaKey
是每个API URL都必须带的参数,用于认证。
认证
通常我们使用在API的URL中指定TeaKey
参数来认证API:
http://TeaWeb访问地址/API路径?TeaKey=登录用户密钥
其中,在”设置”>“登录设置”中可以查看你的登录用户密钥:如果还没有生成密钥,按照界面的提示点击生成即可。
比如你的TeaWeb访问地址是192.168.1.100:7777
,一个API路径是/api/v1/status
,密钥是123456
,那么调用TeaWeb API的完整地址是:
http://192.168.1.100:7777/api/v1/status?TeaKey=W7cy2eFpOKOPgOlaoDgbX11QNPAgIL5E
操作失败
如果操作失败,则返回HTTP状态码400:
400 Bad Request
Content-Type: application/json; charset=utf-8
...
{
code: 400,
data: { },
errors: null,
message: "Authenticate Failed 002"
}
易读的JSON格式
如果要想返回更加易读的JSON格式,可以在参数中添加 TeaPretty
参数,比如:
http://192.168.1.100:7777/api/v1/status?TeaKey=W7cy2eFpOKOPgOlaoDgbX11QNPAgIL5E&TeaPretty
API列表
以下API列表中的${xxx}
用来表示一个变量,实际调用的时候需要将变量值代入。
系统提供的API列表如下:
- 系统操作
GET /api/v1/status
- 读取系统状态,v0.1.6GET /api/v1/reload
- 重载代理状态,v0.1.6GET /api/v1/reset
- 重置锁定状态,v0.1.6GET /api/v1/stop
- 停止服务,v0.1.6
- 代理
GET /api/v1/proxy/servers
- 代理服务列表,v0.1.6GET /api/v1/proxy/${serverId}
- 单个代理服务信息,v0.1.6
- 监控Agent
GET /api/v1/agents
- Agent列表,v0.1.6GET /api/v1/agent/${agentId}
- 查看单个Agent信息,v0.1.6GET /api/v1/agent/${agentId}/start
- 启动Agent,v0.1.6GET /api/v1/agent/${agentId}/stop
- 停止Agent,v0.1.6GET /api/v1/agent/${agentId}/delete
- 删除Agent,v0.1.6
- App
GET /api/v1/agent/${agentId}/apps
- App列表,v0.1.6GET /api/v1/agent/${agentId}/app/${appId}
- 单个App信息,v0.1.6
- 监控项
- 任务
- 通知
GET /api/v1/notice/medias
- 媒介列表,v0.1.6GET /api/v1/notice/media/${mediaId}
- 媒介信息,v0.1.6POST /api/v1/notice/media/${mediaId}/send
- 发送通知,v0.1.6
- 集群
GET /api/v1/cluster/node
- 节点信息,v0.1.6GET /api/v1/cluster/push
- 推送到集群(Master),v0.1.6GET /api/v1/cluster/pull
- 从集群拉取(Slave),v0.1.6
- 备份
GET /api/v1/backup/files
- 备份列表,v0.1.6GET /api/v1/backup/latest
- 下载最新备份,v0.1.6GET /api/v1/backup/file/:filename
- 下载某个备份文件,v0.1.6GET /api/v1/backup/file/:filename/restore
- 恢复备份,v0.1.6GET /api/v1/backup/file/:filename/delete
- 删除备份,v0.1.6