API 文档
软界开放 API,支持授权管理、设备激活、在线验证与 AI 能力集成
授权 API
管理软件授权码的生成、查询与吊销
POST
/api/v1/licenses生成授权码
为指定软件与方案生成新的授权码。仅管理员可调用。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| software_id | string | 是 | 软件 ID |
| plan_id | string | 是 | 定价方案 ID |
| quantity | number | 否 | 生成数量,默认 1 |
| expire_at | string | 否 | 过期时间 ISO8601 |
请求示例
curl -X POST https://api.ruanjie.com/v1/licenses \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"software_id": "s1",
"plan_id": "p2",
"quantity": 1
}'响应示例
{
"code": 0,
"data": {
"licenses": [
{
"id": "lic_abc123",
"key": "RJ-XXXX-XXXX-XXXX",
"software_id": "s1",
"plan_id": "p2",
"max_devices": 3,
"status": "active",
"expire_at": null,
"created_at": "2026-07-01T10:00:00Z"
}
]
}
}GET
/api/v1/licenses/:id查询授权码详情
根据授权码 ID 查询授权信息,包括激活设备列表。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 是 | 授权码 ID |
请求示例
curl https://api.ruanjie.com/v1/licenses/lic_abc123 \
-H "Authorization: Bearer <API_KEY>"响应示例
{
"code": 0,
"data": {
"id": "lic_abc123",
"key": "RJ-XXXX-XXXX-XXXX",
"status": "active",
"max_devices": 3,
"activated_devices": 1,
"devices": [
{
"device_id": "dev_xyz",
"platform": "windows",
"hostname": "PC-WORK",
"activated_at": "2026-07-02T08:30:00Z"
}
]
}
}激活 API
软件客户端调用,完成设备激活与解绑
POST
/api/v1/activate激活授权码
软件客户端在首次启动时调用,将授权码绑定到当前设备。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| license_key | string | 是 | 授权码 |
| device_id | string | 是 | 设备唯一标识 |
| platform | string | 是 | 操作系统平台 |
| hostname | string | 否 | 设备主机名 |
请求示例
curl -X POST https://api.ruanjie.com/v1/activate \
-H "Content-Type: application/json" \
-d '{
"license_key": "RJ-XXXX-XXXX-XXXX",
"device_id": "dev_xyz",
"platform": "windows",
"hostname": "PC-WORK"
}'响应示例
{
"code": 0,
"data": {
"activation_id": "act_001",
"license_id": "lic_abc123",
"device_id": "dev_xyz",
"activated_at": "2026-07-02T08:30:00Z",
"expire_at": null
}
}POST
/api/v1/deactivate解绑设备
解除授权码与设备的绑定,释放设备名额。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| license_key | string | 是 | 授权码 |
| device_id | string | 是 | 设备唯一标识 |
请求示例
curl -X POST https://api.ruanjie.com/v1/deactivate \
-H "Content-Type: application/json" \
-d '{
"license_key": "RJ-XXXX-XXXX-XXXX",
"device_id": "dev_xyz"
}'响应示例
{
"code": 0,
"message": "设备已解绑"
}验证 API
在线验证授权状态,适用于服务端校验场景
POST
/api/v1/verify验证授权
校验授权码是否有效,返回当前授权状态与剩余设备名额。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| license_key | string | 是 | 授权码 |
| device_id | string | 否 | 可选,验证设备是否已激活 |
请求示例
curl -X POST https://api.ruanjie.com/v1/verify \
-H "Content-Type: application/json" \
-d '{
"license_key": "RJ-XXXX-XXXX-XXXX",
"device_id": "dev_xyz"
}'响应示例
{
"code": 0,
"data": {
"valid": true,
"status": "active",
"plan": "专业版",
"max_devices": 3,
"used_devices": 1,
"device_activated": true,
"expire_at": null
}
}AI API
调用 AI 能力,包括软件摘要生成与智能搜索
POST
/api/v1/ai/summary生成软件 AI 摘要
根据软件描述与功能列表,自动生成简洁的 AI 摘要,用于展示。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| software_id | string | 是 | 软件 ID |
| tone | string | 否 | 语气风格:professional|casual |
请求示例
curl -X POST https://api.ruanjie.com/v1/ai/summary \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"software_id": "s1",
"tone": "professional"
}'响应示例
{
"code": 0,
"data": {
"summary": "速压是一款智能批量图片压缩工具,支持主流格式,压缩率最高 90%,适合设计师与开发者批量优化图片资源。",
"keywords": ["压缩", "批量", "图片优化", "WebP"]
}
}POST
/api/v1/ai/search智能搜索
基于自然语言查询软件,返回语义匹配结果。
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 自然语言查询 |
| limit | number | 否 | 返回数量,默认 5 |
请求示例
curl -X POST https://api.ruanjie.com/v1/ai/search \
-H "Content-Type: application/json" \
-d '{
"query": "我想找一个能批量压缩图片的工具",
"limit": 3
}'响应示例
{
"code": 0,
"data": {
"results": [
{
"software_id": "s1",
"name": "速压 SnapCompress",
"score": 0.95,
"reason": "批量图片压缩,匹配度高"
}
]
}
}错误码说明
| code | message | 说明 |
|---|---|---|
| 0 | success | 请求成功 |
| 1001 | invalid_license | 授权码无效 |
| 1002 | license_expired | 授权已过期 |
| 1003 | device_limit_exceeded | 超出设备数量限制 |
| 2001 | unauthorized | 未授权或 API Key 无效 |
| 3001 | rate_limited | 请求过于频繁 |