接口概览
请先在个人中心申请开发者资格,管理员审核通过后即可获取开发者 Token。
统一 JSON请求与响应均采用 JSON 格式
Token 认证审核通过后在个人中心获取访问凭证
认证方式
登录后进入“我的 → 开发者”,填写用途并提交申请。申请阶段不生成 Token;管理员审核通过后,可在开发者中心查看、复制和更新 Token,并在请求 Header 中携带。注册账号不会自动开通开发者资格。
请妥善保管 Token不要将 Token 写入前端代码、公开仓库或请求日志。更新后旧 Token 立即失效;资格停用后接口不可调用,恢复时需获取新 Token。历史账号也需要申请审核。
Request Header
Authorization: Bearer cpc_dev_your_token
Content-Type: application/json获取设备列表
分页获取当前账号下的云电脑设备。
1. 请求链接
POST /api/developer/device/getList2. 参数说明
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
page_no | Int | 可选 | 1 | 页码,默认为 1 |
page_size | Int | 可选 | 20 | 每页数量,默认为 20,最大 100 |
keyword | String | 可选 | 办公 | 按设备名称搜索,支持输入部分名称 |
3. 返回参数及示例
| 参数 | 类型 | 描述 |
|---|---|---|
code | Int | 返回码,200 表示成功 |
message | String | 响应说明 |
data | Object | 返回数据 |
list | Array | 设备列表 |
id | Int | 设备 ID |
device_name | String | 设备展示名称,自定义名称优先 |
spec_type | String | 规格类型:windows 或 mac,旧规格默认 windows |
status | Object | 设备统一状态,始终返回 |
code | String | 稳定的状态代码,用于业务判断 |
text | String | 可直接展示的状态文本 |
expires_at | String | Null | 设备服务到期时间 |
total | Int | 设备总数 |
page_no | Int | 当前页码 |
page_size | Int | 每页数量 |
第三方只需读取 status。平台按“电源操作 → 系统重装 → 在线/离线”的优先级,将操作进度和在线情况聚合为一个状态。
在线
设备在线且空闲online离线
设备离线且空闲offline启动中
正在执行开机starting关机中
正在执行关机shutting_down重启中
正在执行重启restarting重装中
正在重装系统reinstalling处理中
正在执行其他操作processingJSON
{
"code": 200,
"message": "获取成功",
"data": {
"list": [{
"id": 1,
"device_name": "办公电脑",
"spec_type": "windows",
"status": {
"code": "restarting",
"text": "重启中"
},
"expires_at": "2026-09-20 12:00:00"
}],
"total": 1,
"page_no": 1,
"page_size": 20
}
}获取设备详情
通过设备 ID 获取硬件配置、IP 地址和设备服务时间。
1. 请求链接
POST /api/developer/device/getDetail2. 参数说明
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
id | Int | 必填 | 1 | 从设备列表获取的设备 ID |
3. 返回参数及示例
| 参数 | 类型 | 描述 |
|---|---|---|
code | Int | 返回码,200 表示成功 |
message | String | 响应说明 |
data | Object | 设备详情 |
id | Int | 设备 ID |
device_name | String | 设备展示名称 |
spec_type | String | 规格类型:windows 或 mac,旧规格默认 windows |
ip_address | String | Null | 设备 IP 地址 |
cpu_cores | Int | Null | CPU 核心数 |
memory_mb | Int | Null | 内存大小,单位 MB |
disk_gb | Int | Null | 磁盘大小,单位 GB |
spec_group_name | String | 设备配置名称 |
gpu | String | GPU 配置信息 |
system_image | String | 设备当前使用的操作系统名称 |
status | Object | 设备统一状态,结构与设备列表一致,始终返回 |
code | String | 稳定的状态代码,用于业务判断 |
text | String | 可直接展示的状态文本 |
started_at | String | Null | 设备服务开始时间 |
expires_at | String | Null | 设备服务到期时间 |
JSON
{
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"device_name": "办公电脑",
"spec_type": "windows",
"ip_address": "192.0.2.10",
"cpu_cores": 8,
"memory_mb": 16384,
"disk_gb": 200,
"spec_group_name": "高性能云电脑",
"gpu": "RTX 4090",
"system_image": "Windows 11",
"status": {
"code": "reinstalling",
"text": "重装中"
},
"started_at": "2026-08-20 12:00:00",
"expires_at": "2026-09-20 12:00:00"
}
}获取设备 VNC
根据设备所属渠道实时获取可用的 VNC 连接地址和密码。
敏感凭证连接地址和密码可能是临时凭证。请勿写入日志、数据库或前端持久化存储,每次连接前应重新获取。
1. 请求链接
POST /api/developer/device/getVnc2. 参数说明
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
id | Int | 必填 | 1 | 从设备列表获取的设备 ID |
3. 返回参数及示例
| 参数 | 类型 | 描述 |
|---|---|---|
code | Int | 返回码,200 表示成功 |
message | String | 响应说明 |
data | Object | VNC 连接信息 |
id | Int | 设备 ID |
mode | String | websocket、external_url 或 vnc |
connection_url | String | WebSocket、供应商托管页面或 VNC 直连地址 |
password | String | Null | VNC 密码;当前渠道无需独立密码时为 null |
设备必须属于当前账号、处于有效租期且未锁机,并且在线、已配置或原生支持 VNC。
JSON
{
"code": 200,
"message": "获取成功",
"data": {
"id": 1,
"mode": "websocket",
"connection_url": "wss://vnc.example.com/connect?ticket=short-lived",
"password": "temporary-password"
}
}设备电源操作
通过 action 参数执行设备开机、关机和重启。
操作条件设备必须在服务有效期内,并且没有正在执行的其他操作。开机要求 status.code 为 offline,关机和重启要求 status.code 为 online。平台会自动处理不同渠道的关机方式和超时兜底;重启会在关机完成后自动开机。
1. 请求链接
POST /api/developer/device/power2. 参数说明
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
id | Int | 必填 | 1 | 从设备列表获取的设备 ID |
action | String | 必填 | start | start 开机、shutdown 关机、reboot 重启 |
3. 返回参数及示例
| 参数 | 类型 | 描述 |
|---|---|---|
code | Int | 返回码,200 表示操作已提交 |
message | String | 响应说明 |
data | Object | 操作提交结果 |
id | Int | 设备 ID |
action | String | 与请求中的 action 一致 |
accepted | Boolean | true 仅表示操作已受理,不表示已经完成;请轮询设备列表或详情中的 status |
JSON
{
"code": 200,
"message": "电源指令已发送",
"data": {
"id": 1,
"action": "start",
"accepted": true
}
}设备重装系统
将设备恢复到初始系统状态。
危险操作该操作会将系统恢复到初始状态,并可能清除设备内的数据,请先让设备使用者确认。部分设备可能不支持;同一设备每 60 分钟最多成功提交一次。
1. 请求链接
POST /api/developer/device/resetSystem2. 参数说明
| 名称 | 类型 | 是否必需 | 示例 | 描述 |
|---|---|---|---|---|
id | Int | 必填 | 1 | 从设备列表获取的设备 ID |
3. 返回参数及示例
| 参数 | 类型 | 描述 |
|---|---|---|
code | Int | 返回码,200 表示操作已提交 |
message | String | 响应说明 |
data | Object | 操作提交结果 |
id | Int | 设备 ID |
action | String | 固定为 reinstall |
accepted | Boolean | true 仅表示操作已受理,不表示已经完成;请轮询设备列表或详情中的 status |
JSON
{
"code": 200,
"message": "重装任务已提交",
"data": {
"id": 1,
"action": "reinstall",
"accepted": true
}
}错误响应
所有接口统一返回 JSON,请根据 code 和 message 处理结果。
| code | 说明 | 建议处理 |
|---|---|---|
| 200 | 请求成功 | 读取 data |
| 403 | Token 无效 | 检查或更新 Token |
| 421 | 参数错误或当前设备无法执行操作 | 根据 message 调整请求 |
Error Response
{
"code": 403,
"message": "开发者凭证无效",
"data": null
}