VSPHONE OpenAPI 开发者速查手册
供 AI/大模型/代码助手直接读取。完整请求/响应参数与示例见 OpenAPI.md,认证签名见 example.md。
认证方式
HMAC-SHA256 签名验证(必需)
请求头(每个请求必需):
- x-date: 请求UTC时间,ISO 8601格式(如 20240301T093700Z)
- x-host: 接口访问域名(api.vsphone.com)
- Content-Type: application/json
- authorization: HMAC-SHA256 签名
签名格式:
HMAC-SHA256 Credential={AccessKey}, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature={Signature}
签名计算步骤及示例见使用指南 example.md
基础信息
- 域名: https://api.vsphone.com
- 路径前缀: /vsphone/api/padApi/
- 响应格式: JSON {code, msg, ts, data}
- 成功状态码: code=200
API 接口清单
1. 实例管理
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/setWifiList | 修改实例WIFI属性 | padCodes[], wifiJsonList[], SSID, BSSID, MAC, IP, gateway, DNS1, DNS2... |
| POST | /vsphone/api/padApi/padDetails | 实例详情(待上线) | padCodes[], padIps[], vmStatus, controlStatus, faultStatus, deviceStatus |
| POST | /vsphone/api/padApi/restart | 实例重启 | padCodes[] |
| POST | /vsphone/api/padApi/reset | 实例重置 | padCodes[] |
| POST | /vsphone/api/padApi/padProperties | 查询实例属性 | padCode |
| POST | /vsphone/api/padApi/batchPadProperties | 批量查询实例属性 | padCodes[] |
| POST | /vsphone/api/padApi/updatePadProperties | 修改实例属性(动态生效) | padCodes[], modemPersistPropertiesList[], propertiesName... |
| POST | /vsphone/api/padApi/updatePadAndroidProp | 修改实例安卓改机属性(需重启) | padCode, restart, props, ro.product.vendor.name |
| POST | /vsphone/api/padApi/updateSIM | 根据国家Code修改SIM卡信息 | padCode, countryCode, props, ro.product.vendor.name |
| POST | /vsphone/api/padApi/dissolveRoom | 停止推流 | padCodes[] |
| POST | /vsphone/api/padApi/checkIP | 智能IP代理检测 | host, port, account, password, type, country, ip, loc, city... |
| POST | /vsphone/api/padApi/smartIp | 设置智能IP | padCodes[], host, port, account, password, type, mode... |
| POST | /vsphone/api/padApi/notSmartIp | 取消智能IP | padCodes[] |
| POST | /vsphone/api/padApi/getTaskStatus | 设备任务执行结果查询(智能IP) | taskId |
| POST | /vsphone/api/padApi/getListInstalledApp | 获取指定云机安装的应用信息 | padCodeList[] |
| POST | /vsphone/api/padApi/updateTimeZone | 修改实例时区 | timeZone, padCodes[] |
| POST | /vsphone/api/padApi/updateLanguage | 修改实例语言 | language, country, padCodes[] |
| POST | /vsphone/api/padApi/gpsInjectInfo | 设置实例经纬度 | longitude, latitude, altitude, speed, bearing... |
| POST | /vsphone/api/padApi/replacePad | 一键新机 | padCodes[], countryCode, realPhoneTemplateId, androidProp... |
| GET | /vsphone/api/padApi/country | 查询一键新机支持国家列表 | - |
| POST | /vsphone/api/padApi/updateContacts | 更新通讯录 | padCodes[], fileUniqueId, operateType, info[]... |
| POST | /vsphone/api/padApi/setProxy | 实例设置代理 | account, password, ip, port, enable, padCodes[], proxyType... |
| POST | /vsphone/api/padApi/listInstalledApp | 实时查询已安装的应用列表 | padCodes[], appName |
| POST | /vsphone/api/padApi/setKeepAliveApp | 设置应用自启动 | padCodes[], applyAllInstances, appInfos[], serverName |
| POST | /vsphone/api/padApi/asyncCmd | 异步执行ADB命令 | padCodes[], scriptContent |
| POST | /vsphone/api/padApi/switchRoot | 开关Root权限 | padCodes[], globalRoot, packageName, rootStatus |
| POST | /vsphone/api/padApi/screenshot | 本地截图 | padCodes[], rotation, broadcast, definition, resolutionHeight... |
| POST | /vsphone/api/padApi/getLongGenerateUrl | 获取实例实时预览图片 | padCodes[], format, height, width, quality |
| POST | /vsphone/api/padApi/upgradeImage | 升级镜像 | padCodes[], imageId, wipeData, enableCpuCoreConfig |
| POST | /vsphone/api/padApi/virtualRealSwitch | 升级真机镜像 | padCodes[], imageId, wipeData, realPhoneTemplateId... |
| POST | /vsphone/api/padApi/templateList | 分页获取真机模板 | page, rows |
| POST | /vsphone/api/padApi/openOnlineAdb | 开启关闭ADB | padCodes[], openStatus |
| POST | /vsphone/api/padApi/adb | 获取ADB连接信息 | padCode, enable |
| POST | /vsphone/api/padApi/simulateTouch | 模拟触控 | padCodes[], width, height, pointCount, positions[] |
| POST | /vsphone/api/padApi/padTaskDetail | 实例操作任务详情 | taskIds[], taskId |
| POST | /vsphone/api/padApi/infos | 实例分组列表/实例列表信息 | page, rows, padType, padCodes[] |
| POST | /vsphone/api/padApi/addPhoneRecord | 导入通话记录 | padCodes[], callRecords[] |
| POST | /vsphone/api/padApi/inputText | 云机文本信息输入 | padCodes[], text, code, msg, ts, data[]... |
| POST | /vsphone/api/padApi/simulateSendSms | 模拟发送短信 | padCodes[], senderNumber, smsContent |
| POST | /vsphone/api/padApi/resetGAID | 重置GAID | padCodes[], resetGmsType, oprBy, taskSource |
| POST | /vsphone/api/padApi/injectAudioToMic | 注入音频到实例麦克风 | padCodes[], url, fileUniqueId, enable |
| POST | /vsphone/api/padApi/addUserRom | 上传用户镜像 | name, updateLog, androidVersion, version, downloadUrl, packageSize |
| POST | /vsphone/api/padApi/replacement | 换机 | padCode |
| POST | /vsphone/api/padApi/confirmTransfer | 云机转移 | padCodes[], makeOverMobilePhone |
2. 资源管理
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/infos | 实例列表信息(分页查询已订购实例) | page, rows, padType, padCodes[] |
3. 应用管理
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/uninstallApp | 应用卸载 | apkPackageList[], padCodeList[] |
| POST | /vsphone/api/padApi/startApp | 应用启动 | pkgName, padCodes[] |
| POST | /vsphone/api/padApi/stopApp | 应用停止 | pkgName, padCodes[] |
| POST | /vsphone/api/padApi/restartApp | 应用重启 | pkgName, padCodes[] |
| POST | /vsphone/api/padApi/listInstalledApp | 实例安装应用列表查询 | padCodes[], appName |
| POST | /vsphone/api/padApi/uploadFileV3 | 文件通过链接直接上传 | padCodes[], padCode, autoInstall, fileUniqueId... |
| POST | /vsphone/api/padApi/uploadFile | 上传文件到云空间 | file |
| POST | /vsphone/api/padApi/deleteOssFiles | 删除云空间文件 | files[], urls[] |
| POST | /vsphone/api/padApi/selectFiles | 查询用户的文件列表 | - |
4. 任务管理
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/padTaskDetail | 实例操作任务详情 | taskIds[], taskId |
| POST | /vsphone/api/padApi/fileTaskDetail | 文件任务详情 | taskIds[], taskId |
5. 云手机管理
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/createMoneyOrder | 新建续费云手机 | androidVersionName, goodId, goodNum, autoRenew, equipmentId |
| POST | /vsphone/api/padApi/userPadList | 云手机列表 | padCode, equipmentIds[] |
| POST | /vsphone/api/padApi/padInfo | 云手机信息查询 | padCode |
| GET | /vsphone/api/padApi/getCloudGoodList | sku套餐列表 | androidVersion |
| POST | /vsphone/api/padApi/createMoneyProOrder | 设备预售购买 | androidVersionName, goodId, goodNum, autoRenew |
| POST | /vsphone/api/padApi/queryProOrderList | 查询预售订单结果详情 | proBuyStatus, orderId |
| POST | /vsphone/api/padApi/imageVersionList | 安卓镜像版本集合 | padCode |
6. TK 自动化
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| POST | /vsphone/api/padApi/autoTaskList | 自动化任务列表查询 | taskIds[], taskType, page, rows |
| POST | /vsphone/api/padApi/addAutoTask | 创建自动化任务 | taskName, remarks, taskType, list[] |
| POST | /vsphone/api/padApi/reExecutionAutoTask | 自动化任务重试 | taskIds[], plannedExecutionTime |
| POST | /vsphone/api/padApi/cancelAutoTask | 自动化任务取消 | taskIds[] |
7. SDK Token
| 方法 | 接口 | 说明 | 参数 |
|---|---|---|---|
| GET | /vsphone/api/padApi/stsToken | 获取SDK临时Token | - |
| POST | /vsphone/api/padApi/stsTokenByPadCode | 根据padCode获取SDK临时token | padCode |
| POST | /vsphone/api/padApi/clearStsToken | 清除SDK授权Token | token |
回调通知事件
| 事件码 | 说明 |
|---|---|
| 999 | 实例状态回调 |
| 1000 | 实例重启任务 |
| 1001 | 实例重置任务 |
| 1002 | 异步执行ADB任务 |
| 1003 | 应用安装任务 |
| 1004 | 应用卸载任务 |
| 1005 | 应用停止任务 |
| 1006 | 应用重启任务 |
| 1007 | 应用启动任务 |
| 1009 | 实例文件上传任务 |
| 1012 | 实例升级镜像任务 |
| 1124 | 一键新机 |
| 4001 | 用户镜像上传 |
详细字段与示例见 callback.md
常见错误码
| 错误码 | 说明 |
|---|---|
| 200 | 成功 |
| 2031 | 无效的密钥 |
| 2032 | 请求头缺少Authorization |
| 2019 | 验证签名失败 |
| 100000 | 请求参数不正确 |
| 100003 | 缺少请求头Authorization |
| 100004 | 无效的签名 |
| 100005 | 验证签名失败 |
| 110028 | 实例不存在 |
| 110013 | 实例不存在 |
| 110031 | 实例未就绪 |
| 120008 | token不属于当前用户 |
更多错误码见 ErrorCode.md
使用建议
认证安全
- 妥善保管AK/SK,勿在客户端硬编码
- 定期更换密钥
异步任务
- 重启、重置、安装、上传等为异步任务
- 建议配置回调或使用任务详情接口轮询结果
批量限制
- 批量接口有数量上限(如200个实例)
- 注意分批与失败列表处理
实例状态
- 部分操作要求实例在线或就绪
- 先查实例状态再调用
改机与重启
- 修改安卓改机属性、SIM等需重启生效
- 与「修改实例属性」的生效时机区别
相关文档
文档版本: 速查版 内容以 OpenAPI.md 为准