API 文档
将 LicenseOS 集成到您产品中的完整参考。
简介
LicenseOS 提供 RESTful API 用于软件许可证管理。所有接口版本号为 /api/v2。
Base URL
https://your-domain.com/api/v2
快速开始
- 注册成为开发者并通过审批。
- 从开发者控制台生成 API Key。
- 在请求头
X-API-KEY中使用 API Key。 - 集成 SDK 或直接调用 API 接口。
认证
受保护的接口需要通过 X-API-KEY 请求头传递 API Key。
curl https://your-domain.com/api/v2/license/check \ -H "X-API-KEY: sk_live_xxxxxxxxxxxxxxxx" \ -d "license_key=XXXX-XXXX-XXXX-XXXX"
| Header | 说明 |
|---|---|
| X-API-KEY | 您的开发者 API Key |
| Content-Type | application/x-www-form-urlencoded (POST) |
许可证:激活
POST /api/v2/license/activate
在指定域名上激活许可证密钥。这将创建域名绑定,允许许可证在该域名上使用。
请求参数
| Parameter | Type | 必填 | 说明 |
|---|---|---|---|
| license_key | string | 许可证密钥(格式:XXXX-XXXX-XXXX-XXXX) | |
| domain | string | 要激活的域名(如 example.com) | |
| product | string | 产品 slug(用于 SDK 引用) |
响应(成功)
{
"status": "active",
"message": "License activated successfully.",
"max_domains": 1,
"expire_at": "2025-12-31T23:59:59+00:00",
"is_trial": false
}
许可证:检查
POST /api/v2/license/check
检查许可证密钥的当前状态和有效性。在授权访问功能前使用此接口验证许可证。
响应
{
"status": "valid",
"expire_at": "2025-12-31T23:59:59+00:00",
"max_domains": 1,
"activations": 1,
"is_trial": false
}
状态值
| Status | 说明 |
|---|---|
| valid | 许可证已激活且未过期 |
| expired | 许可证已过到期日期 |
| inactive | 许可证已被管理员停用 |
| invalid | 许可证密钥不存在 |
更新:检查
GET /api/v2/update/check
检查是否有产品的新版本。用于 WordPress SDK 的自动更新功能。
查询参数
| Parameter | Type | 说明 |
|---|---|---|
| product | string | 产品 slug |
| version | string | 当前版本号(用于比较) |
| license_key | string | 用于认证下载的许可证密钥 |
更新:下载
GET /api/v2/download
安全下载接口,在服务 ZIP 文件前验证许可证密钥。直接返回产品压缩包。
成功时: application/zip
失败时: 403
SDK:WordPress
LicenseOS WordPress SDK 为 WP 插件提供即插即用的集成方案。它处理许可证激活、状态检查和自动更新。
安装
- 从开发者控制台下载
licenseos-sdk.php。 - 将文件放在插件根目录。
- 在插件主文件中引入并初始化。
基本配置
// Load the SDK require_once __DIR__ . '/licenseos-sdk.php'; // Initialize (call once, early in plugin lifecycle) LicenseOS::init( 'https://your-domain.com/api/v2', 'sk_live_xxxxxxxx' ); // Enable WordPress auto-update LicenseOS::enableAutoUpdate( 'my-plugin-slug', get_option('my_plugin_license') );
SDK 方法
| Method | 说明 |
|---|---|
| init($url, $key) | 使用 API URL 和 Key 初始化 SDK |
| activate($key, $domain, $product) | 在域名上激活许可证 |
| check($key) | 检查许可证状态 |
| checkUpdate($slug, $version) | 检查是否有新版本 |
| enableAutoUpdate($slug, $key) | 钩入 WP 更新系统 |
错误与频率限制
HTTP Status Codes
| Code | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求错误(缺少/无效参数) |
| 401 | 无效或缺少 API Key |
| 403 | 未授权(下载时许可证无效) |
| 404 | 产品不存在 |
| 429 | 超出频率限制 |
| 500 | 服务器错误 |
最佳实践
- 缓存许可证检查 — 不要每次页面加载都调用 API,缓存 1-6 小时。
- 使用 HTTPS — 生产环境中所有 API 调用必须使用 HTTPS。
- 优雅处理错误 — 如果 API 无法访问,使用缓存结果或放行。
- 下载前始终检查许可证状态。
- 不要在客户端代码或公开仓库中暴露 API Key。