API 总览
授权系统对外暴露的 API 端点。所有 API 都使用 HMAC-SHA256 签名防止伪造,未签名的请求会被拒绝(HTTP 403)。
API 列表
| 方法 | 路径 | 作用 | 鉴权 |
|---|---|---|---|
| POST | /api/verify.php |
验证授权码(插件调用) | 签名 |
| GET | /epay_notify.php |
易支付异步回调(彩虹 / 异次元 / YPay 通用) | 易支付密钥 |
| GET | /api/check.php |
综合查询端点(产品信息 / 订单状态 / 授权状态) | 视具体动作而定 |
| GET | /api/update-check.php |
插件版本更新检查 | 签名 |
通用规范
请求格式
- Content-Type:
application/x-www-form-urlencoded或application/json - 字符编码:UTF-8
- 超时建议:客户端设置 15 秒
签名算法
所有需要鉴权的 API 都需要签名。签名规则:
sign_data = domain + '|' + license_key + '|' + product + '|' + serial
signature = hex(HMAC-SHA256(sign_data, API_SECRET))
示例代码(PHP):
<?php
function sign($domain, $license_key, $product, $serial = 1, $secret) {
$sign_data = $domain . '|' . $license_key . '|' . $product . '|' . $serial;
return hash_hmac('sha256', $sign_data, $secret);
}
响应格式
所有 API 返回 JSON:
{
"status": "success | fail",
"message": "人类可读消息",
"serial": 1,
"license": { "key": "...", "domain": "...", "type": "..." },
"product": { "name": "...", "slug": "..." },
"update": { "version": "...", "download_url": "..." }
}
HTTP 状态码:
- 200:请求成功
- 400:参数错误
- 403:签名错误 / 权限不足
- 404:资源不存在
- 500:服务器错误
错误响应
错误时 status 为 error,message 描述错误原因:
{
"status": "error",
"message": "授权码无效",
"data": {
"reason": "invalid_license"
}
}
详细错误码请参考 错误码 章节。
速率限制
为防止暴力破解,API 端点默认启用速率限制:
- 每个 IP 每分钟最多 60 次验证请求
- 超过限制返回 HTTP 429
- 管理员可在配置文件中调整
详细的接口规范请看 授权验证接口。