CCraft-API

之前写了一个API站点,来讲讲如何调用吧(感觉应该没人会看
所有POST数据均使用x-www-form-urlencoded传输,别问为什么不用JSON(

登录


我感觉我的登录API有严重的安全隐患(

对接ClearCraft的登录需要访问:
POST: https://api.clearcraft.cn/login
并携带POST数据usernamepassword,因为我不会在PHP读JSON请求所以请使用x-www-form-urlencoded(
假设playername是用户名称,password是用户密码

1
curl -X POST -D "username:${playername}&password:${password}" https://api.clearcraft.cn/login

如果一切正常,返回的JSON数据应该是:

1
2
3
4
5
6
{
"status": "success",
"message": "Login successful",
"token": "{Token}",
"expiration_time": "{Token过期时间}"
}

刷新Token


刷新和其他调用的方法基本相同,在Header中包含Token数据来刷新Token(和登录一样也会刷新Token,但是这个不用用户输入密码
请求
POST: https://api.clearcraft.cn/refresh
假设token是用户登录后获得的token

1
curl -X POST -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/refresh

如果一切正常,返回的应该是:

1
2
3
4
5
6
{
"status": "success",
"message": "Token刷新成功",
"token": "{刷新后的Token}",
"expiration_time": "{刷新后的更新时间}"
}

获取用户信息


在Header中包含Token数据来请求用户的信息
GET: https://api.clearcraft.cn/user
假设token是用户登录后获得的token

1
curl -X GET -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/user

如果一切正常,会返回用户的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"status": "success",
"message": "用户数据查询成功",
"data": [{
"player_uuid": "{玩家uuid}",
"username": "{玩家名称}",
"nickname": "{玩家昵称}",
"permission": "{玩家权限 -1为封禁,0为用户,1为管理员,2为超级管理员}",
"Balance": "{玩家金币数}",
"LastLoginTime": "{上次登录时间}",
"LastLogoffTime": "{上次离线时间}",
"TotalPlayTime": "{总计游玩时间}",
"skin_url": "{皮肤链接}",
"client_id": "{客户端ID}"
}]
}

验证Token


在Header中包含Token数据来验证用户的Token是否可用
GET: https://api.clearcraft.cn/verify
假设token是用户登录后获得的token

1
curl -X GET -H "Authorization: Bearer ${token}" https://api.clearcraft.cn/verify

获得返回后应该检查status返回
返回结构大概是:

1
2
3
4
{
"status": "状态信息",
"message": "人类可读的详细信息"
}
status内容 含义
error 需要重新登录
warning 需要刷新Token
success Token有效

礼包码

使用Post在header中包含Token数据并在POST信息内包含礼包码信息:
POST: https://api.clearcraft.cn/giftcode
假设Token是用户登录后获得的Token,Code是礼包码

1
curl -X POST -H "Authorization: Bearer ${token}" -D "code=${code}" https://api.clearcraft.cn/giftcode

如果一切正常并且兑换成功,返回应该是

1
2
3
4
5
6
7
8
9
10
11
12
{
"status": "success",
"message": "礼包领取成功",
"data": [{
"name": "礼包名称",
"money": "获得的金币",
"commands": [
"执行的命令1",
"执行的命令2"
]
}]
}
作者

霁雾_ClearCraft

发布于

2025-05-18

更新于

2025-05-19

许可协议

评论