VMOS Cloud API
  • 简体中文
  • English
  • 简体中文
  • English
  • 产品介绍
  • 产品类型
  • 产品计费
  • OpenAPI
    • 使用指南
    • 接口文档
    • 错误码
    • 实例属性列表
    • 安卓改机属性列表
    • 回调任务业务类型码
    • 更新日志
  • Android端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 错误码
    • 更新日志
  • Web H5端 SDK
    • 示例搭建
    • 接口说明
    • H5 SDK 回调函数
    • 错误码
    • 更新日志
  • Windows PC端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 更新日志
  • 端侧与云机通信开发
    • AIDL接入方式
    • 系统服务API(aidl)
  • 类XP、LSP Hook框架
    • 类Xposed、LSPosed框架
    • 传感器数据动态仿真
  • 相关协议

简介

本文档为您提供具体的 API 描述、语法、参数说明等,您可以调用 API 管理云手机服务资源。

接口概览

实例管理

接口接口名接口说明
/vcpcloud/api/padApi/setWifiList修改实例WIFI属性修改指定实例的WIFI列表属性
/vcpcloud/api/padApi/padDetails实例详情 (待上线)查询指定实例的属性信息,包括系统属性信息和设置信息 (待上线)
/vcpcloud/api/padApi/restart实例重启对指定实例执行重启操作,用以解决系统无响应、卡死等问题
/vcpcloud/api/padApi/reset实例重置对实例执行重置操作,将会清理云机所有数据
/vcpcloud/api/padApi/padProperties查询实例属性查询指定实例的属性信息,包括系统属性信息和设置信息
/vcpcloud/api/padApi/batchPadProperties批量查询实例属性批量查询指定实例的属性信息,包括系统属性信息和设置信息
/vcpcloud/api/padApi/updatePadProperties修改实例属性动态修改实例的属性信息,包括系统属性和设置
/vcpcloud/api/padApi/updatePadAndroidProp修改实例安卓改机属性静态设置安卓改机属性,需要重启实例才能够生效
/vcpcloud/api/padApi/updateSIM根据国家Code修改SIM卡信息静态设置安卓改机属性,会随机生成SIM卡信息并重启实例
/vcpcloud/api/padApi/dissolveRoom停止推流停止指定实例推流,断开实例连接
/vcpcloud/api/padApi/checkIP智能IP代理检测检测代理IP是否可用,归属地信息是否正确
/vcpcloud/api/padApi/smartIp设置智能IP给云机设备设置智能IP,自动变更出口IP、SIM卡信息、GPS等
/vcpcloud/api/padApi/notSmartIp取消智能IP取消智能IP,还原云机内的出口IP、SIM卡信息、GPS等
/vcpcloud/api/padApi/getTaskStatus设备任务执行结果查询使用任务编号查询智能IP任务的执行结果
/vcpcloud/api/padApi/getListInstalledApp获取指定云机列表中所有安装的应用信息获取指定云机列表中所有安装的应用信息
/vcpcloud/api/padApi/updateTimeZone修改实例时区修改实例时区
/vcpcloud/api/padApi/updateLanguage修改实例语言修改实例语言
/vcpcloud/api/padApi/proxyInfo查询实例代理信息 (待上线)查询实例代理信息 (待上线)
/vcpcloud/api/padApi/replacePad一键新机一键新机功能,将当前实例数据全部清空并重新设置安卓属性
/vcpcloud/api/padApi/country查询一键新机支持国家列表查询一键新机支持国家列表
/vcpcloud/api/padApi/updateContacts更新通讯录更新通讯录
/vcpcloud/api/padApi/setProxy实例设置代理对指定实例设置代理信息
/vcpcloud/api/padApi/listInstalledApp实时查询已安装的应用列表实时查询已安装的应用列表
/vcpcloud/api/padApi/setKeepAliveApp设置应用自启动设置应用自启动(目前只支持安卓13、14、15)
/vcpcloud/api/padApi/replaceRealAdiTemplate修改真机ADI模板修改实例云真机ADI模板
/vcpcloud/api/padApi/asyncCmd异步执行ADB命令在一个或多个云手机实例中异步执行命令
/vcpcloud/api/padApi/switchRoot开关Root权限在一个或多个云手机实例中开关root权限
/vcpcloud/api/padApi/screenshot本地截图实例截图
/vcpcloud/api/padApi/getLongGenerateUrl获取实例实时预览图片获取指定的实例当前时间下的屏幕截图
/vcpcloud/api/padApi/upgradeImage升级镜像批量实例镜像升级
/vcpcloud/api/padApi/virtualRealSwitch升级真机镜像批量实例真机镜像升级
/vcpcloud/api/padApi/templateList分页获取真机模板分页获取真机模板
/vcpcloud/api/padApi/openOnlineAdb开启关闭ADB根据实例编号打开或关闭实例adb
/vcpcloud/api/padApi/adb获取ADB连接信息根据实例编号获取adb连接信息
/vcpcloud/api/padApi/batch/adb批量获取ADB连接信息 (待上线)根据实例编号列表批量获取或关闭adb连接信息 (待上线)
/vcpcloud/api/padApi/simulateTouch模拟触控通过传入xy坐标,模拟在实例中的触控事件
/vcpcloud/api/padApi/padTaskDetail实例操作任务详情查询指定实例操作任务的执行结果详细信息
/vcpcloud/api/padApi/executeScriptInfo获取实例执行脚本结果 (待上线)通过执行脚本任务ID来获取实例执行脚本结果 (待上线)
/vcpcloud/api/padApi/screenshotInfo获取实例截图结果 (待上线)通过截图任务ID来获取实例的截图结果 (待上线)
/vcpcloud/api/padApi/padExecuteTaskInfo实例重启重置执行结果 (待上线)通过任务ID来获取实例重启重置执行结果 (待上线)
/vcpcloud/api/padApi/addPhoneRecord导入通话记录将通话记录数据导入至云手机中
/vcpcloud/api/padApi/inputText云机文本信息输入在云机中预先聚焦好输入框后输入指定文本信息
/vcpcloud/api/padApi/simulateSendSms模拟发送短信向实例内模拟下发一条短信
/vcpcloud/api/padApi/resetGAID重置GAID重置云机中的 advertising ID
/vcpcloud/api/padApi/injectAudioToMic注入音频到实例麦克风将一个音频文件注入到实例的麦克风
/vcpcloud/api/padApi/localPodBackup创建本地实例备份 (待上线)用于创建本地实例备份 (待上线)
/vcpcloud/api/padApi/localPodRestore创建本地实例还原 (待上线)用于创建本地实例备份文件还原 (待上线)
/vcpcloud/api/padApi/localPodBackupSelectPage本地实例备份结果查询 (待上线)根据实例编号获取本地实例可用备份 (待上线)
/vcpcloud/api/padApi/cleanAppHome清除进程并返回桌面 (待上线)清除手机系统进程以外的所有进程,并返回桌面 (待上线)
/vcpcloud/api/padApi/unmannedLive无人直播实例注入视频接口
/vcpcloud/api/padApi/injectPicture图片注入 (待上线)实例注入图片接口 (待上线)
/vcpcloud/api/padApi/replacement换机换机
/vcpcloud/api/padApi/gpsInjectInfo设置实例经纬度设置实例经纬度
/vcpcloud/api/padApi/confirmTransfer云机转移云机转移

资源管理

接口接口名接口说明
/vcpcloud/api/padApi/infos实例列表信息查询所有已订购实例列表信息

应用管理

接口接口名接口说明
/vcpcloud/api/padApi/uninstallApp应用卸载应用卸载
/vcpcloud/api/padApi/startApp应用启动应用启动
/vcpcloud/api/padApi/stopApp应用停止应用停止
/vcpcloud/api/padApi/restartApp应用重启应用重启
/vcpcloud/api/padApi/listInstalledApp实例安装应用列表查询实例安装应用列表查询
/vcpcloud/api/padApi/uploadFileV3文件通过链接直接上传接口文件通过链接直接上传接口
/vcpcloud/api/padApi/getListInstalledApp获取指定云机列表中所有安装的应用信息获取指定云机列表中所有安装的应用信息
/vcpcloud/api/padApi/uploadFile上传文件到云空间上传文件到云空间
/vcpcloud/api/padApi/deleteOssFiles删除云空间文件删除云空间文件
/vcpcloud/api/padApi/selectFiles查询用户的文件列表查询用户的文件列表

任务管理

接口接口名接口说明
/vcpcloud/api/padApi/padTaskDetail实例操作任务详情查询指定实例操作任务的执行结果详细信息
/vcpcloud/api/padApi/fileTaskDetail文件任务详情查询指定文件任务的执行结果详细信息

云手机管理

接口接口名接口说明
/vcpcloud/api/padApi/createMoneyOrder新建/续费云手机新建/续费云手机
/vcpcloud/api/padApi/userPadList云手机列表云手机列表
/vcpcloud/api/padApi/padInfo云手机信息查询云手机信息查询
/vcpcloud/api/padApi/getCloudGoodListsku套餐列表sku套餐列表
/vcpcloud/api/padApi/replaceRealAdiTemplate修改真机ADI模板修改真机ADI模板
/vcpcloud/api/padApi/createMoneyProOrder设备预售购买设备预售购买
/vcpcloud/api/padApi/queryProOrderList查询预售订单结果详情查询预售订单结果详情
/vcpcloud/api/padApi/imageVersionList安卓镜像版本集合安卓镜像版本集合
/vcpcloud/api/padApi/simulateTouch云机模拟触控云机模拟触控
/vcpcloud/api/padApi/createByTimingOrder创建计时设备订单创建计时设备订单
/vcpcloud//api/padApi/timingPadOn计时设备开机计时设备开机
/vcpcloud//api/padApi/timingPadOff计时设备关机计时设备关机
/vcpcloud//api/padApi/timingPadDel计时设备销毁计时设备销毁
/vcpcloud//api/padApi/vcTimingBackupList存储资源包列表存储资源包列表
/vcpcloud//api/padApi/getRenewStorageInfo云空间存储剩余容量云空间存储剩余容量
/vcpcloud//api/padApi/getVcStorageGoods云空间商品列表云空间商品列表
/vcpcloud//api/padApi/buyStorageGoods购买云空间扩容购买云空间扩容
/vcpcloud/api/padApi/selectAutoRenew云空间续费详情查询云空间续费详情查询
/vcpcloud/api/padApi/renewsStorageGoods聚合续费云空间商品聚合续费云空间商品
/vcpcloud/api/padApi/updateRenewStorageStatus云空间自动续费聚合商品开关云空间自动续费聚合商品开关
/vcpcloud/api/padApi/deleteUploadFiles删除备份资源包数据删除备份资源包数据
/vcpcloud/api/padApi/toggleProcessHide显示或隐藏应用进程显示或隐藏应用进程
/vcpcloud/api/padApi/addPhoneRecord导入通话记录导入通话记录
/vcpcloud/api/padApi/inputText指定输入框文本输入指定输入框文本输入

邮箱接码服务

接口接口名接口说明
/vcpcloud/api/padApi/getEmailServiceList获取邮箱服务列表获取邮箱服务列表
/vcpcloud/api/padApi/getEmailTypeList获取邮箱类型及剩余库存获取邮箱类型及剩余库存
/vcpcloud/api/padApi/createEmailOrder创建购买邮箱订单创建购买邮箱订单
/vcpcloud/api/padApi/getEmailOrder查询购买的邮箱列表查询购买的邮箱列表
/vcpcloud/api/padApi/getEmailOrder刷新获取邮箱验证码刷新获取邮箱验证码

动态代理服务

接口接口名接口说明
/vcpcloud/api/padApi/getDynamicGoodService查询动态代理商品列表查询动态代理商品列表
/vcpcloud/api/padApi/getDynamicProxyRegion查询动态代理地区列表查询动态代理地区列表
/vcpcloud/api/padApi/queryCurrentTrafficBalance获取动态代理当前余量获取动态代理当前余量
/vcpcloud/api/padApi/getDynamicProxyHost查询支持的服务器地区查询支持的服务器地区
/vcpcloud/api/padApi/buyDynamicProxy购买动态代理流量包购买动态代理流量包
/vcpcloud/api/padApi/createProxy创建动态代理创建动态代理
/vcpcloud/api/padApi/getProxys查询动态代理列表(支持分页)查询动态代理列表(支持分页)
/vcpcloud/api/padApi/getDynamicProxyOrders查询动态代理订单列表(支持分页)查询动态代理订单列表(支持分页)
/vcpcloud/api/padApi/batchPadConfigProxy云机配置动态代理云机配置动态代理
/vcpcloud/api/padApi/selectBatchPadProxyTask查询批量云机设置代理任务查询批量云机设置代理任务
/vcpcloud/api/padApi/getDynamicProxyAutomaticRenewal查询动态代理自动续费信息查询动态代理自动续费信息
/vcpcloud/api/padApi/setAutoRenewSwitch设置动态代理自动续费开关设置动态代理自动续费开关
/vcpcloud/api/padApi/delProxyByIds删除动态代理删除动态代理

静态住宅代理服务

接口接口名接口说明
/vcpcloud/api/padApi/proxyGoodList获取静态住宅商品列表获取静态住宅商品列表
/vcpcloud/api/padApi/getProxyRegion获取静态住宅商品支持的国家城市信息获取静态住宅商品支持的国家城市信息
/vcpcloud/api/padApi/createProxyOrder静态住宅商品购买静态住宅商品购买
/vcpcloud/api/padApi/selectProxyOrderList静态住宅代理订单明细静态住宅代理订单明细
/vcpcloud/api/padApi/createRenewProxyOrder静态住宅代理续费静态住宅代理续费
/vcpcloud/api/padApi/queryProxyList查询静态住宅代理列表查询静态住宅代理列表

TK自动化

接口接口名接口说明
/vcpcloud/api/padApi/autoTaskList自动化任务列表查询自动化任务列表查询
/vcpcloud/api/padApi/addAutoTask创建自动化任务创建自动化任务
/vcpcloud/api/padApi/reExecutionAutoTask自动化任务重试自动化任务重试
/vcpcloud/api/padApi/cancelAutoTask自动化任务取消自动化任务取消

SDK Token

接口接口名接口说明
/vcpcloud/api/padApi/stsToken获取SDK临时token签发sdk临时token,用于对接入云手机服务的用户进行鉴权
/vcpcloud/api/padApi/stsTokenByPadCode根据padcode获取sdk临时token签发sdk临时token,用于对接入云手机服务的用户进行鉴权
/vcpcloud/api/padApi/clearStsToken清除SDK授权Token清除SDK授权Token

OpenAPI 接口列表

实例管理

修改实例WIFI属性

修改指定实例的WIFI列表属性(此接口与一建新机设置WIFI二选一,否则会出现覆盖问题)

接口地址

/vcpcloud/api/padApi/setWifiList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例编号
wifiJsonListString[]是wifi属性列表
├─SSID110101String是wifi名称 (不支持中文)
├─BSSID02:31:00:00:00:01String是接入点mac地址
├─MAC02:00:10:00:00:00String是wifi网卡mac地址
├─IP02:00:10:00:00:00String是wifi网络IP
├─MAC02:00:10:00:00:00String是wifi网卡mac地址
├─gateway192.168.120.1String是wifi网关
├─DNS11.1.1.1String是DNS1
├─DNS28.8.8.8String是DNS2
├─hessid0Integer否网络标识符
├─anqpDomainId0Integer否ANQP(Access Network Query Protocol)域ID
├─capabilities""String否WPA/WPA2等信息
├─level0Integer否信号强度(RSSI)
├─linkSpeed500Integer否当前Wi-Fi连接速率
├─txLinkSpeed600Integer否上传链路速度
├─rxLinkSpeed700Integer否下载链路速度
├─frequency2134Integer否Wi-Fi信道频率
├─distance-1Integer否估算的AP距离
├─distanceSd-1Integer否估算距离的标准差
├─channelWidth0Integer否信道带宽
├─centerFreq00Integer否中心频率0
├─centerFreq1-1Integer否中心频率1
├─is80211McRTTResponderfalseBoolean否是否支持 802.11mc(Wi-Fi RTT,测距技术

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject
├─ taskId1Integer任务ID
├─ padCodeAC2025030770RString实例编号
├─ vmStatus1Integer实例在线状态:0-离线,1-在线

请求示例

{
    "padCodes":["AC2025030770R92X"],
        "wifiJsonList":[
        {
            "SSID": "110101",
            "BSSID": "02:31:00:00:00:01",
            "MAC": "02:00:10:00:00:00",
            "IP": "192.168.120.15",
            "gateway": "192.168.120.1",
            "DNS1": "1.1.1.1",
            "DNS2": "8.8.8.8",
            "hessid": 0,
            "anqpDomainId": 0,
            "capabilities": "",
            "level": 0,
            "linkSpeed": 500,
            "txLinkSpeed": 600,
            "rxLinkSpeed": 700,
            "frequency": 2413,
            "distance": -1,
            "distanceSd": -1,
            "channelWidth": 0,
            "centerFreq0": -1,
            "centerFreq1": -1,
            "is80211McRTTResponder": true
        }
    ]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1741676855566,
        "data": [
        {
            "taskId": 14904,
            "padCode": "AC2025030770R92X",
            "vmStatus": 0
        }
    ]
}

实例详情

(待上线)

查询指定实例的属性信息,包括系统属性信息和设置信息。

接口地址

/vcpcloud/api/padApi/padDetails

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010391String是实例编号
padIpsString[]否
├─192.168.1.1String否实例ip
vmStatus1String否实例在线状态:0-离线,1-在线
controlStatus1String否受控状态(推流状态):1-非受控,2-受控
faultStatus14String否实例运行状态 14-异常 其他-正常
deviceStatus0String否物理机在线状态:0-离线,1-在线

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756360093771Long时间戳
traceIdewc83bwudvr4String链路追踪ID
dataObject响应数据
├─ page1Integer当前页
├─ rows10Integer每页记录数
├─ size10Integer当前页的数量
├─ total13398Integer总记录数
├─ totalPage1340Integer总页数
├─ pageDataobject[]列表
├─ ├─ padId552Long实例ID
├─ ├─ padCodeACP250331GLMP7YXString云机编号
├─ ├─ customerIdnullLong客户ID
├─ ├─ imageIdimg-25032628136String镜像ID
├─ ├─ deviceLevelm2-6String实例规格
├─ ├─ dcInfoObject机房信息
├─ ├─ ├─ id1Long机房ID
├─ ├─ ├─ dcName小算测试-机房String机房名称
├─ ├─ ├─ dcCode001String机房编码
├─ ├─ ├─ areachangshaString地区
├─ ├─ ├─ ossEndpointnullStringOSS公网接口地址
├─ ├─ ├─ ossEndpointInternalnullStringOSS内网接口地址
├─ ├─ ├─ ossFileEndpointnullString文件访问地址
├─ ├─ ├─ ossScreenshotEndpointnullString截图访问地址
├─ ├─ padStatus15Integer实例状态(10-运行中,11-重启中,12-重置中,13-升级中,14-异常,15-未就绪,16-备份中,17-恢复数据中,18-关机,19-关机中,20-开机中,21-关机失败,22-开机失败,23-删除中,24-删除失败,25-已删除,26-克隆中)
├─ ├─ deviceStatus1Integer物理机状态(0-离线,1-在线)
├─ ├─ online0Integer实例在线状态(0-离线,1-在线)
├─ ├─ streamStatus0Integer实例推流状态(0-空闲,1-推流中)
├─ ├─ dataSizenullLong存储总容量(字节)
├─ ├─ dataSizeUsednullLong存储已使用容量(字节)
├─ ├─ adbOpenStatusnullStringadb 开关状态(1 开启;为空/0 关闭)
├─ ├─ deviceIp172.31.1.4String板卡 IP
├─ ├─ screenLayoutCodemultiple-portrait-basicString屏幕布局编码
├─ ├─ mac""StringMAC 地址
├─ ├─ netStorageResIdnullString网存ID
├─ ├─ dns192.168.50.15String实例 DNS
├─ ├─ memorynullInteger内存大小
├─ ├─ cpu-1IntegerCPU 大小
├─ ├─ socModelMACS2080StringSoC 型号
├─ ├─ netStorageResFlag0Integer网存标记(1 网存实例;0 本地实例)
├─ ├─ netStorageResSizenullLong网存实例大小(GB)
├─ ├─ realPhoneTemplateId389Long真实机型模板ID
├─ ├─ clusterCodeZEG3650947String集群编码
├─ ├─ padIpnullString实例 IP
├─ ├─ updateNetStorageResFlagfalseBoolean是否指定网存ID开机
├─ ├─ targetStorageResIdnullString指定的网存ID
├─ ├─ armIp192.168.200.50StringARM 服务器 IP
├─ ├─ countryCodenullString国家代码
├─ ├─ typevirtualString实例类型(virtual-虚拟机 / real-云真机)
├─ ├─ armServerId179Long服务器ID
├─ ├─ lastComputeUnitCodenullString最后开机使用的算力编号
├─ ├─ lastDeviceCodenullString最后开机使用的板卡编号
├─ ├─ lastDeviceIpnullString最后开机使用的板卡IP
├─ ├─ cloneFlagnullString克隆标志(0-否,1-是)
├─ ├─ baseResUnitCodenullString克隆实例的基础存储code
├─ ├─ cbsInfo2.0.14StringCBS 信息
├─ ├─ firstBoottrueBoolean是否首次开机

请求示例

{
 "page": 1,
 "rows": 10,
 "padCodes": ["AC21020010391"],
 "padIps":["192.168.1.1"],
 "vmStatus":"1",
 "controlStatus":"1",
 "faultStatus":"14",
 "deviceStatus":"0"
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756360093771,
        "data": {
        "page": 1,
            "rows": 10,
            "size": 10,
            "total": 13398,
            "totalPage": 1340,
            "pageData": [
            {
                "padId": 552,
                "padCode": "ACP250331GLMP7YX",
                "customerId": null,
                "imageId": "img-25032628136",
                "deviceLevel": "m2-6",
                "dcInfo": {
                    "id": 1,
                    "dcName": "小算测试-机房",
                    "dcCode": "001",
                    "area": "changsha",
                    "ossEndpoint": null,
                    "ossEndpointInternal": null,
                    "ossFileEndpoint": null,
                    "ossScreenshotEndpoint": null
                },
                "padStatus": 15,
                "deviceStatus": 1,
                "online": 0,
                "streamStatus": 0,
                "dataSize": null,
                "dataSizeUsed": null,
                "adbOpenStatus": null,
                "deviceIp": "172.31.1.4",
                "screenLayoutCode": "multiple-portrait-basic",
                "mac": "",
                "netStorageResId": null,
                "dns": "192.168.50.15",
                "memory": null,
                "cpu": -1,
                "socModel": "MACS2080",
                "netStorageResFlag": 0,
                "netStorageResSize": null,
                "realPhoneTemplateId": 389,
                "clusterCode": "ZEG3650947",
                "padIp": null,
                "updateNetStorageResFlag": false,
                "targetStorageResId": null,
                "armIp": "192.168.200.50",
                "countryCode": null,
                "type": "virtual",
                "armServerId": 179,
                "lastComputeUnitCode": null,
                "lastDeviceCode": null,
                "lastDeviceIp": null,
                "cloneFlag": null,
                "baseResUnitCode": null,
                "cbsInfo": "2.0.14",
                "firstBoot": true
            }
        ]
    },
    "traceId": "ewc83bwudvr4"
}

实例重启

对指定实例执行重启操作,用以解决系统无响应、卡死等问题。

接口地址

/vcpcloud/api/padApi/restart

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010001String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)
├─ taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC22030022693"
 ]

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313806284,
        "data": [
        {
            "taskId": 4844869,
            "padCode": "ATP250818261XVMO",
            "vmStatus": 0,
            "taskStatus": 1
        }
    ],
        "traceId": "ewab9x88fkzk"
}

错误码

错误码错误说明操作建议
10001重启失败联系管理员
110004执行重启命令失败稍后再次重启
110028实例不存在请检查实例是否存在

实例重置

注意:实例重置清除系统所有数据。请谨慎使用,每次重置之后会将公网IP恢复到默认值

对实例执行重置操作,将会清理云机所有数据

接口地址

/vcpcloud/api/padApi/reset

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010001String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)
├─ taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC21020010001"
 ]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313781715,
        "data": [
        {
            "taskId": 760459892,
            "padCode": "ATP250817PIJLWRP",
            "vmStatus": 0,
            "taskStatus": 1
        }
    ],
        "traceId": "ewab8lv65yio"
}

错误码

错误码错误说明操作建议
10002重置失败联系管理员
110005执行重置命令失败稍后再次重置

查询实例属性

查询指定实例的属性信息,包括系统属性信息和设置信息。

接口地址

/vcpcloud/api/padApi/padProperties

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC21020010001String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject
├─padCodeAC21020010001String实例编号
├─modemPropertiesListObject[]Modem-属性列表
├─├─propertiesNameIMEIString属性名称
├─├─propertiesValue412327621057784String属性值
├─systemPropertiesListObject[]系统-属性列表
├─├─propertiesNamero.build.idString属性名称
├─├─propertiesValueQQ3A.200805.001String属性值
├─settingPropertiesListObject[]setting-属性列表
├─├─propertiesNamero.build.tagsString属性名称
├─├─propertiesValuerelease-keysString属性值
├─oaidPropertiesListObject[]oaid-属性列表
├─├─propertiesNameoaidString属性名称
├─├─propertiesValue001String属性值

请求示例

{
 "padCode": "AC21020010001"
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts":1713773577581,
 "data": {
  "padCode": "AC21020010001",
  "modemPropertiesList": [
   {
    "propertiesName": "IMEI",
    "propertiesValue": "412327621057784"
   }
  ],
  "systemPropertiesList": [
   {
    "propertiesName": "ro.build.id",
    "propertiesValue": "QQ3A.200805.001"
   }
  ],
  "settingPropertiesList": [
   {
    "propertiesName": "ro.build.tags",
    "propertiesValue": "release-keys"
   }
  ],
  "oaidPropertiesList": [
   {
    "propertiesName": "oaid",
    "propertiesValue": "001"
   }
  ]
 }
}

错误码

错误码错误说明操作建议
110028实例不存在请检查实例是否正确

批量查询实例属性

批量查询指定实例的属性信息,包括系统属性信息和设置信息。

接口地址

/vcpcloud/api/padApi/batchPadProperties

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例数量不多余200个
├─AC21020010001String是实例编号
├─AC21020010002String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─padCodeAC21020010001String实例编号
├─modemPropertiesListObject[]Modem-属性列表
├─├─propertiesNameIMEIString属性名称
├─├─propertiesValue412327621057784String属性值
├─systemPropertiesListObject[]系统-属性列表
├─├─propertiesNamero.build.idString属性名称
├─├─propertiesValueQQ3A.200805.001String属性值
├─settingPropertiesListObject[]setting-属性列表
├─├─propertiesNamero.build.tagsString属性名称
├─├─propertiesValuerelease-keysString属性值
├─oaidPropertiesListObject[]oaid-属性列表
├─├─propertiesNameoaidString属性名称
├─├─propertiesValue001String属性值

请求示例

{
    "padCodes": [
        "AC21020010001",
        "AC21020010002"
    ]
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts":1713773577581,
 "data": [
        {
            "padCode": "AC21020010001",
            "modemPropertiesList": [
                {
                    "propertiesName": "IMEI",
                    "propertiesValue": "412327621057784"
                }
            ],
            "systemPropertiesList": [
                {
                    "propertiesName": "ro.build.id",
                    "propertiesValue": "QQ3A.200805.001"
                }
            ],
            "settingPropertiesList": [
                {
                    "propertiesName": "ro.build.tags",
                    "propertiesValue": "release-keys"
                }
            ],
            "oaidPropertiesList": [
                {
                    "propertiesName": "oaid",
                    "propertiesValue": "001"
                }
            ]
        },
        {
            "padCode": "AC21020010002",
            "modemPropertiesList": [
                {
                    "propertiesName": "IMEI",
                    "propertiesValue": "412327621057784"
                }
            ],
            "systemPropertiesList": [
                {
                    "propertiesName": "ro.build.id",
                    "propertiesValue": "QQ3A.200805.001"
                }
            ],
            "settingPropertiesList": [
                {
                    "propertiesName": "ro.build.tags",
                    "propertiesValue": "release-keys"
                }
            ],
            "oaidPropertiesList": [
                {
                    "propertiesName": "oaid",
                    "propertiesValue": "001"
                }
            ]
        }
    ]
}

错误码

错误码错误说明操作建议
110028实例不存在请检查实例是否正确

修改实例属性

动态修改实例的属性信息,包括系统属性和设置

实例需要处于开机状态,该接口为即时生效

参考 实例属性列表

接口地址

/vcpcloud/api/padApi/updatePadProperties

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010001String是实例编号
modemPersistPropertiesListObject[]否Modem-持久化-属性列表
├─propertiesNameIMEIString否属性名称
├─propertiesValue412327621057784String否属性值
modemPropertiesListObject[]否Modem-非持久化-属性列表
├─propertiesNameIMEIString否属性名称
├─propertiesValue412327621057784String否属性值
systemPersistPropertiesListObject[]否系统-持久化-属性列表
├─propertiesNamero.build.idString否属性名称
├─propertiesValueQQ3A.200805.001String否属性值
systemPropertiesListObject[]否系统-非持久化-属性列表
├─propertiesNamero.build.idString否属性名称
├─propertiesValueQQ3A.200805.001String否属性值
settingPropertiesListObject[]否setting-属性列表
├─propertiesNamero.build.tagsString否属性名称
├─propertiesValuerelease-keysString否属性值
oaidPropertiesListObject[]否oaid-属性列表
├─propertiesNameoaidString否属性名称
├─propertiesValue001String否属性值

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
 "padCodes": [
  "AC21020010001"
 ],
 "modemPersistPropertiesList": [
   {
    "propertiesName": "IMEI",
    "propertiesValue": "412327621057784"
   }
  ],
 "modemPropertiesList": [
   {
    "propertiesName": "IMEI",
    "propertiesValue": "412327621057784"
   }
  ],
  "systemPersistPropertiesList": [
   {
    "propertiesName": "ro.build.id",
    "propertiesValue": "QQ3A.200805.001"
   }
  ],
  "systemPropertiesList": [
   {
    "propertiesName": "ro.build.id",
    "propertiesValue": "QQ3A.200805.001"
   }
  ],
  "settingPropertiesList": [
   {
    "propertiesName": "ro.build.tags",
    "propertiesValue": "release-keys"
   }
  ],
  "oaidPropertiesList": [
   {
    "propertiesName": "oaid",
    "propertiesValue": "001"
   }
  ]
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570916196,
 "data": [
  {
   "taskId": 36,
   "padCode": "AC22030010001",
   "vmStatus": 1
  }
 ]
}

错误码

错误码错误说明操作建议
110011执行修改属性命令失败请稍后重试
110028实例不存在请检查实例是否正确
110027实例编号集合存在重复项请检查实例是否存在重复的

修改实例安卓改机属性

静态设置安卓改机属性,需要重启实例才能够生效,一般用于修改设备信息

该接口与修改实例属性接口的区别在于生效时机,该接口生效时间为每次开机初始化

设置实例属性后,属性数据会持久化存储,重启或重置实例无需再调用该接口

参考 安卓改机属性列表

使用该接口需要对安卓系统有一定的理解,部分属性可能会影响实例正常启动,如果改机后,导致实例异常,可以通过调用实例重置接口恢复正常

接口地址

/vcpcloud/api/padApi/updatePadAndroidProp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC32010210001String否实例id
restartfalseBoolean否设置完成后自动重启(默认false)
props{}Object是系统属性(此字段为key-value定义)
├─ro.product.vendor.nameOP52D1L1String是属性设置

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject
├─taskId24Long任务id
├─padCodeAC32010210001String实例id
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCode": "AC32010210001",
 "props": {
  "ro.product.vendor.name": "OP52D1L1"
 },
 "restart": false
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313781338,
        "data": {
        "taskId": 760459884,
            "padCode": "AC32010160134",
            "vmStatus": 0,
            "taskStatus": 1
    },
    "traceId": "ewab8l4lqu4g"
}

根据国家Code修改SIM卡信息

静态设置安卓改机属性,需要重启实例才能够生效,一般用于修改设备信息

该接口与修改实例安卓改机属性接口具有相同功能.区别在于该接口会随机生成SIM卡信息,并且每次都会重启

设置实例属性后,属性数据会持久化存储,重启或重置实例无需再调用该接口

接口地址

/vcpcloud/api/padApi/updateSIM

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC32010210001String是实例id
countryCodeUSString否国家code
props{}Object否系统属性(此字段为key-value定义)
├─ro.product.vendor.nameOP52D1L1String否属性设置

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756360113813Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject响应数据
├─taskId10002486Long任务ID
├─padCodeACN342712020172800String实例编号
├─vmStatus0Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
    "padCode": "AC32010250001",
        "props": {
        "persist.sys.cloud.phonenum": "1234578998"
    },
    "countryCode": "US"
}

响应示例1

{
    "code": 200,
        "msg": "success",
        "ts": 1756360113813,
        "data": {
        "taskId": 10002486,
            "padCode": "ACN342712020172800",
            "vmStatus": 0,
            "taskStatus": 1
    },
    "traceId": "ewc84g8si0oy"
}

响应示例2

{
   "code": 500,
   "msg": "目前不支持国家编码: XX",
   "ts": 1753521350163,
   "data": null
}

错误码

错误码错误说明操作建议
110065参数请求不合规,请参考接口文档检查参数,参考接口文档
110028实例不存在请检查实例编号是否正确

停止推流

停止指定实例推流,断开实例连接。

接口地址

/vcpcloud/api/padApi/dissolveRoom

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC11010000031String是实例编号
├─AC22020020700String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject[]
├─successListObject[]成功集合
├─├─padCodeAC11010000031String实例编号
├─failListObject[]失败集合
├─├─padCodeAC22020020700String实例编号
├─├─errorCode120005Integer错误码
├─├─errorMsg实例不存在String失败的原因

请求示例

{
    "padCodes": ["AC11010000031","AC22020020700"]
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts":1713773577581,
     "data": {
     "successList": [
              {
                  "padCode": "AC11010000031"
              }
          ],
          "failList": [
      {
                  "padCode": "AC22020020700",
      "errorCode": 120005,
      "errorMsg": "实例不存在"
              }
    ]
     },
    "traceId": "ewab9njt3gn4"

}

错误码

错误码错误说明操作建议
120005实例不存在请检查实例编号是否正确
120004中止推流错误,指令服务异常请稍后重试

智能IP代理检测

检测代理IP是否可用,归属地信息是否正确

接口地址

/vcpcloud/api/padApi/checkIP

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
host127.0.0.1String是代理信息 (ip或host)
port8080Integer是代理端口 (数字类型)
accountxxxxString是代理用户名
passwordxxxxString是代理密码
typeSocks5String是代理协议类型 Socks5、 http、https
countryUSString否国家-强行指定时必填 - 参数请参考:curl -x http://用户名:密码@ip:端口 https://ipinfo.io?token=注册就有的token 当使用了强行指定后,系统会直接使用指定的信息,不会检测代理
ip156.228.84.62String否ip-强行指定时必填
loc39.0438,-77.4874String否经,纬度-强行指定时必填
cityAshburnString否城市-强行指定时必填
regionVirginiaString否地区-强行指定时必填
timezoneAmerica/New_YorkString否时区-强行指定时必填

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─proxyLocationUS-Los AngelesString归属地
├─publicIp62.112.132.92String出口IP
├─proxyWorkingtrueBoolean检测成功-true 检测失败-false

请求示例

{
    "host": "62.112.132.92",
    "port": 45001,
    "account": "xxxxxxxxxx",
    "password": "xxxxxxxx",
    "type": "Socks5"
    // "country": "US",
    // "ip": "156.228.84.62",
    // "loc": "39.0438,-77.4874", 
    // "city": "Ashburn", 
    // "region": "Virginia",
    // "timezone": "America/New_York"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "proxyLocation": "US-Los Angeles",
        "publicIp": "62.112.132.92",
        "proxyWorking": true
    },
    "ts": 1737601218580
}

设置智能IP

给云机设备设置智能IP,云机内的出口ip,SIM卡信息,gps坐标,时区等信息自动变更到代理的归属国家(设置完设备会重启,重启完毕后1分钟内生效, 同时设备状态变更为119-初始化中, 任务成功、失败、超时后会变更到100-正常状态 任务超时时间为5分钟 )

(设置的智能IP信息必须先经过检测接口的检测)直接设置会出现国家对应不上

接口地址

/vcpcloud/api/padApi/smartIp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010182String是实例编号
host127.0.0.1String是代理信息 (ip或host)
port8080Integer是代理端口 (数字类型)
accountxxxxString是代理用户名
passwordxxxxString是代理密码
typeSocks5String是代理协议类型 Socks5、 http、https
modevpnString是设置代理的模式 vpn / proxy

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
dataTASK-278784482960609280String任务编号
msgsuccessString响应消息
ts1721739857317Long时间戳

请求示例

{
    "padCodes": [
        "AC32010160334"
    ],
    "host": "62.112.132.92",
    "port": 45001,
    "account": "xxxxxx",
    "password": "xxxxxxx",
    "type": "Socks5",
    "mode": "vpn"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": "TASK-278784482960609280",
    "ts": 1737604726812
}

取消智能IP

取消智能IP,还原云机内的出口ip,SIM卡信息,gps坐标,时区等信息(设置完设备会重启,重启完毕后1分钟内生效, 同时设备状态变更为119-初始化中, 任务成功、失败、超时后会变更到100-正常状态 任务超时时间为5分钟 )

接口地址

/vcpcloud/api/padApi/notSmartIp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010182String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
dataTASK-278784482960609280String任务编号
msgsuccessString响应消息
ts1721739857317Long时间戳

请求示例

{
    "padCodes": [
        "AC32010160334"
    ]
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": "TASK-278784482960609280",
    "ts": 1737604726812
}

设备任务执行结果查询

使用任务编号查询任务的执行结果(智能IP使用)

接口地址

/vcpcloud/api/padApi/getTaskStatus

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdTASK-278784482960609280String是任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
dataObject[]任务结果
├─padCodeAC32010150162String实例编号
├─taskStatusSuccessfullyString任务状态:Executing-执行中 Successfully-已成功 Failed-已失败 Timedout-已超时
├─taskType10010Integer任务类型:10010-设置智能IP 10011-取消智能IP
msgsuccessString响应消息
ts1721739857317Long时间戳

请求示例

{
    "taskId": "TASK-278784482960609280"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "padCode": "AC32010150162",
            "taskStatus": "Successfully",
            "taskType": 10010
        }
    ],
    "ts": 1738999472135
}

获取指定云机列表中所有安装的应用信息

接口地址

/vcpcloud/api/padApi/getListInstalledApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeListString[]是
├─AC22020020793String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─appNameVMOSCloudStringAPP名称
├─packageNamecom.geniuscloud.overseasStringAPP包名

请求示例

{
    "padCodeList": ["AC32010601132"]
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "appName": "VMOSCloud",
            "packageName": "com.geniuscloud.overseas"
        },
        {
            "appName": "快手极速版",
            "packageName": "com.kuaishou.nebula"
        }
    ],
    "ts": 1746694111364
}

文件通过链接直接上传接口

从文件管理中心推送文件到云手机实例(异步任务) 如果能通过md5值或者文件ID找到对应的文件,会直接通过OSS的路径下发给实例下载 如果OSS没有对应的文件,会直接将URL下发给实例下载,并且将该URL内容上传到OSS 如果选择安装应用,会检验包名是否有值,如果没值,会抛出异常.(安装应用默认会授权所有权限,通过isAuthorization字段可以选择不授权) 请求方式

接口地址

/vcpcloud/api/padApi/uploadFileV3

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─padCodeAC32010250011String否实例编号
autoInstall1Integer否是否需要⾃动安装 1需要、0不需要。不填默认不需要。仅对apk类型的⽂件⽣效
fileUniqueId1e5d3bf00576ee8f3d094908c0456722String否系文件id唯一标识
customizeFilePath/Documents/String否⾃定义路径。非必传,需以/开头。(示例:"/DCIM/", "/Documents/", "/Download/", "/Movies/", "/Music/", "/Pictures/")
fileNamethreadsString否文件名称
packageNamecom.zhiliaoapp.musicallyString否文件包名
urlhttps://file.vmoscloud.com/appMarket/2/apk/fe1f75df23e6fe3fd3b31c0f7f60c0af.apkString否文件安装路径
md51e5d3bf00576ee8f3d094908c0456722String否系文件唯一标识
isAuthorizationfalseBoolean否是否授权(默认全授权)
iconPathhttps://file.vmoscloud.com/appMarket/2/apk/fe1f75df23e6fe3fd3b31c0f7f60c0af.pngString否安装时的图标展示

响应参数

参数名示例值参数类型参数描述
code200userRomPageInteger状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─padCodeAC22010020062String实例编号
├─taskId1Integer任务ID
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
    "padCodes": [
        "AC32010250022"
    ],
    "customizeFilePath": "/DCIM/",
    "md5": "d97fb05b3a07d8werw2341f10212sdfs3sdfs24",
    "url": "https://file.vmoscloud.com/appMarket/2/apk/fe1f75df23e6fe3fd3b31c0f7f60c0af.apk",
    "autoInstall": 1,
    "packageName": "com.zhiliaoapp.musically",
    "fileName": "market",
    "isAuthorization": false
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1737431505379,
    "data": [
        {
            "taskId": 13469,
            "padCode": "AC32010250022",
            "vmStatus": 0
        }
    ]
}

错误码

错误码错误说明操作建议
110065参数请求不合规,请参考接口文档检查参数,参考接口文档
120005实例不存在请检查实例编号是否正确

修改实例时区

接口地址

/vcpcloud/api/padApi/updateTimeZone

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
timeZoneAsia/ShanghaiString是UTC标准时间
padCodesArray是实例列表

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId24Long任务ID
├─padCodeAC22030010001String房间号
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC32010140003"
 ],
 "timeZone": "Asia/Shanghai"
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313802157,
        "data": [
        {
            "taskId": 760460229,
            "padCode": "ACP250417QAGGQ3S",
            "vmStatus": 0,
            "taskStatus": 1
        }
    ],
        "traceId": "ewab9p712ww0"
}

修改实例语言

接口地址

/vcpcloud/api/padApi/updateLanguage

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
languagezhString是语言
countryCNString否国家
padCodesArray是实例列表

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId24Long任务ID
├─padCodeAC22030010001String房间号
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)
├─ taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC32010140026"
 ],
 "language": "zh",
 "country": ""
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570663080, 
 "traceId": "ewab9p712ww0",
 "data": [
  {
   "taskId": 24,
   "padCode": "AC32010140026",
   "vmStatus": 1, 
      "taskStatus": 1

  }
 ]
}

设置实例经纬度

接口地址

/vcpcloud/api/padApi/gpsInjectInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
longitude116.397455Float是经度
latitude39.909187Float是纬度
altitude8Float否海拔 (需要更新到最新镜像)
speed8Float否速度,m/s (20251024之后的镜像)
bearing0Float否速度方向,° (20251024之后的镜像)
horizontalAccuracyMeters0.1Float否水平精度 (20251024之后的镜像)
padCodesArray是实例列表

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
traceIdewc84g8si0oyString链路追踪ID
msgsuccessString响应消息
ts1756021167163Long时间戳
dataBoolean

请求示例

{
 "padCodes": [
  "AC32010030001"
 ],
 "longitude": 116.397455,
 "latitude": 39.909187,
 "altitude": 8
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570663080,
 "traceId": "ewab9p712ww0",
 "data": true
}

查询实例代理信息

(待上线)接口地址

/vcpcloud/open/network/proxy/info

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesArray是实例列表
├─padCodeAC32010250011String否实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId24Long任务ID
├─padCodeAC22030010001String房间号
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)
├─ taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
  "padCodes": [
    "AC32010140012"
  ]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756348835040,
        "data": [
        {
            "taskId": 14294,
            "padCode": "ACP250820SBM4NEU",
            "vmStatus": 0,
            "taskStatus": 1
        }
    ],
        "traceId": "ewbrcry0frb4"
}

一键新机 ⭐

注意:一键新机会清除系统所有数据。请谨慎使用!

一键新机功能,将当前实例数据全部清空,并重新设置安卓属性

  • 虚拟机直接设置安卓属性,然后清空所有数据
  • 云真机直接清空所有数据(等同于重置),并且添加SIM信息,如果有传入模板id,会替换adi模板.如果没有传入模板,并且replacementRealAdiFlag为true.会随机挑选一个模板Id
  • 注意:如果不传国家信息,或者传入的国家信息服务找不到,会默认设置上新加坡的SIM信息
  • 如果传入的国家不支持,会返回错误500,提示:目前不支持国家编码XX

接口地址

/vcpcloud/api/padApi/replacePad

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes[]Array是实例id列表
countryCodeSGString否国家编码(具体查看:https://chahuo.com/country-code-lookup.html)
realPhoneTemplateId65Long否模板id参考 分页获取真机模板
androidProp{"persist.sys.cloud.wifi.mac": "D2:48:83:70:66:0B"}Object否参考 安卓改机属性列表
replacementRealAdiFlagfalseBoolean否真机是否随机adi模板(false 不随机 true 随机)
excludeRealPhoneTemplateIds[101,102]Long[]否随机ADI模板时需排除的模板ID列表
certificate参考手机根证书String否手机根证书
wipeDatatrueBoolean否是否清除用户数据,默认true(CBS2.4.4以上版本支持)
wipeSpecificData["/fonts","/media"]String[]否wipeData为false该参数生效;需要清除哪些数据
enableCpuCoreConfigtrueBoolean否是否启用CPU大小核配置,本功能基于 Android cpuset 机制,为云手机物理机上的多个容器提供静态错峰的 CPU 资源分配方案。通过精细化划分大小核(Little/Big Cores)资源,显著提升单容器的性能稳定性与用户体验。

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId12818Long任务ID
├─padCodeAC22030010124String实例编号
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
  "padCodes": ["AC32010250031"],
  "countryCode": "SG",
  "realPhoneTemplateId": 210,
  "androidProp": {
    "persist.sys.cloud.battery.level": "67",
    "persist.sys.cloud.gps.lat": "1.3657",
    "persist.sys.cloud.gps.lon": "103.6464",
    "persist.sys.cloud.imsinum": "525050095718767"
  },
  "replacementRealAdiFlag": true,
  "excludeRealPhoneTemplateIds": [101, 102],
  "certificate": "手机根证书",
  "wipeData": false,
  "wipeSpecificData": ["/fonts", "/media"]
}

响应示例1

{
  "code": 200,
  "msg": "success",
  "ts": 1732270378320,
  "data": {
    "taskId": 8405,
    "padCode": "AC32010250031",
    "vmStatus": 2,
    "taskStatus": 1
  },
  "traceId": "ewab8qjqbaio"
}

响应示例2

{
   "code": 500,
   "msg": "目前不支持国家编码: xx",
   "ts": 1753521350163,
   "data": null,
    "traceId": "ewab8qjqbaio"

}

查询一键新机支持国家列表

接口地址

/vcpcloud/api/padApi/country

请求方式

GET

请求数据类型

application/json

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject[]
├─codeADString国家编码
├─nameAndorraString国家名称(英文)

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1730192434383,
  "traceId": "ewab8qjqbaio",
  "data": [{
    "code": "AD",
    "name": "Andorra"
  }]
}

换机

接口地址

/vcpcloud/api/padApi/replacement

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC22030010001String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─equipmentId358504Long设备编号
├─padCodeAC32011030092String实例编号

请求示例

{ 
    "padCode": "AC32010030001"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "padCode": "AC32011030092",
        "equipmentId": 358504
    },
    "ts": 1741078432830
}

获取实例实时预览图片

获取指定的实例,当前时间下的屏幕截图。 调用此接口,会给实例返回一个url和到期时间,在有效期内,通过访问这个url,可以获取实时的云机屏幕截图。 可以批量传多个实例编号,批量获取预览图url。

接口地址

/vcpcloud/api/padApi/getLongGenerateUrl

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes["AC22030010001"]Array是实例列表
formatpng / jpgString否图片格式,枚举值:png、jpg,默认png, png格式不支持压缩
height800String否缩放高度(像素,不传则保持原始比例) 不填默认使用云机分辨率
width1280String否缩放宽度(像素,不传则保持原始比例) 不填默认使用云机分辨率
quality60Integer否图片质量(百分比:0~100,不传则为50%) 经测试低于60会图片模糊

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─padCodeAC32011030092String实例编号
├─urlhttp://xxx.pngString访问地址
├─expireAt1756024767163LongURL到期时间(毫秒时间戳)
├─successtrueBoolean是否成功生成URL
├─reason实例状态异常String失败原因(成功时为空)

请求示例

{
    "padCodes": [
        "AC11010000031",
        "AC11010000032"
    ],
    "format": "png"
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1756021167163,
    "data": [
        {
            "padCode": "AC11010000031",
            "url": "http://xxx.png",
            "expireAt": 1756024767163,
            "success": true,
            "reason": ""
        },
        {
            "padCode": "AC11010000032",
            "url": "",
            "expireAt": null,
            "success": false,
            "reason": "实例状态异常"
        }
    ]
}

更新通讯录

fileUniqueId和info必填一个

接口地址

/vcpcloud/api/padApi/updateContacts

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes[]Array是实例id列表
fileUniqueIdcfca25a2c62b00e065b417491b0cf07ffcString否通讯录文件ID
operateType-1Interger否-1 新增联系人 0 删除联系人 1 覆盖联系人 ,默认为-1
infoObject[]否通讯录信息
├─firstNametomString否姓名
├─phone13111111111String否手机号
├─emailtom@gmail.comString否邮箱

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId12818Long任务ID
├─padCodeAC22030010124String实例编号
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)

请求示例

{
  "fileUniqueId": "cfca25a2c62b00e065b417491b0cf07ffc",
  "info": [{
    "firstName": "tom",
    "phone": "13111111111",
    "email": "xxxxx@gmail.com"
  }],
  "padCodes": [
    "AC32010180326"
  ]
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1756373645105,
  "data": [
    {
      "taskId": 392077,
      "padCode": "ATP250822LBOD8V7",
      "vmStatus": 0,
      "taskStatus": 1
    }
  ],
  "traceId": "ewcs8ow5u328"
}

实例设置代理

接口地址

/vcpcloud/api/padApi/setProxy

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
account2222String否账号
password2222String否密码
ip47.76.241.5String否IP
port2222Integer否端口
enabletrueBoolean是启用
padCodesArray是实例列表
proxyTypevpnString否支持参数:proxy、vpn
proxyNamesocks5String否支持参数:socks5、http-relay(包含http、https)
bypassPackageListArray否包名 设置该包名不走代理
bypassIpListArray否ip 设置该ip不走代理
bypassDomainListArray否域名 设置该域名不走代理
sUoTtrueBoolean否是否开启udp连接 默认为false

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject
├─taskId24Long任务ID
├─padCodeAC22030010001String房间号
├─vmStatus实例状态Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC32010140023"
 ],
 "account": "2222",
 "password": "2222",
 "ip": "47.76.241.5",
 "port": 2222,
 "enable": true,
    "bypassPackageList":[],
    "bypassIpList":[],
    "bypassDomainList":[],
    "sUoT":true
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313787216,
        "data": [
        {
            "taskId": 22323879,
            "padCode": "ACN250828ED53YMG",
            "vmStatus": 0,
            "taskStatus": 1
        }
    ],
        "traceId": "ewab8whwonb4"
}

实时查询已安装的应用列表

接口地址

/vcpcloud/api/padApi/listInstalledApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesAC32010250001String[]是实例编号
appNameString否应用名称

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewc84g8si0oyString链路追踪ID
ts1756021167163Long时间戳
dataObject
├─padCodeAC32010250001String实例编号
├─appsObject[]应用集合
├─├─appName测试appString应用名称
├─├─packageNamecom.xxx.xxxString包名
├─├─versionCode150600String版本号
├─├─versionName15.6.0String版本名称
├─├─appState0Integer0 已完成 1安装中 2下载中

请求示例

{
 "padCodes": ["AC32010250001"],
 "appName": ""
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313784076,
        "data": [
        {
            "padCode": "ACP250417KYBOAXK",
            "apps": [
                {
                    "appName": "WeChat",
                    "packageName": "com.tencent.mm",
                    "versionCode": "2900",
                    "versionName": "8.0.62",
                    "appState": 0
                }
            ]
        }
    ],
        "traceId": "ewab8qh6vwg1"
}

设置应用保活

目前只支持安卓13、14、15

接口地址

/vcpcloud/api/padApi/setKeepAliveApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesAC32010250001String[]否实例编号
applyAllInstancesfalseBoolean是是否应用所有实例模式
appInfosObject[]否
├─serverNamecom.example/com.example.service.TaskServiceString是com.xxx.xxx(包名)/com.xxx.xxx.service.DomeService (需要启动的服务完整路径)

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
datanull

请求示例

{
 "padCodes": [
  "AC002",
  "AC001"
 ],
 "appInfos": [{
   "serverName": "com.example/com.example.service.TaskService"
  }
 ],
 "applyAllInstances": false
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1736326542985,
        "data": [{
        "taskId": 10074,
        "padCode": "AC32010250011",
        "errorMsg": null
    }]
}

上传用户镜像

接口地址

/vcpcloud/api/padApi/addUserRom

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
nameCloudROM-13String是ROM名称
updateLog更新String是更新日志
androidVersion13String是安卓版本
versionv1.0.0String是版本
downloadUrlhttps://file.vmoscloud.com/userFile/userRom/d281d848eff49adee2dda2475235b80b2.tarString是地址
packageSize236978175String是大小(单位:Byte)

响应参数

字段名示例值类型说明
code200Integer状态码
msgsuccessString响应消息
ts1736326542985Long时间戳
dataimg-2505287582886572String镜像id

请求示例

{
    "name": "CloudROM-13-11",
    "updateLog": "更新日志",
    "androidVersion": "13",
    "version": "v1.0.0",
    "downloadUrl": "https://file.vmoscloud.com/userFile/userRom/d281d848eff49adee2dda2475235b80b2.tar", 
    "packageSize": 236978175,
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": "img-2505287582886572",
    "ts": 1748425758327
}

设置应用隐藏

(待上线) 下发隐藏包名列表到指定实例,允许包名列表为空(为空则清空隐藏列表并下发空列表)。需要注意:当应用未安装时,设置不会生效,需在安装后进行重启才可生效。

接口地址

vcpcloud/api/padApi/setHideAppList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesAC32010250001String[]是实例编号(最多500个)
appInfosObject[]是隐藏应用列表,空数组表示清空(0-500个)
├─packageNamecom.tencent.mmString否应用包名,留空或空数组表示清空

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
datanull

请求示例

{
 "padCodes": [
  "AC002",
  "AC001"
 ],
 "appInfos": [{
   "packageName": "com.tencent.mm"
  }]
}

清空隐藏列表示例

{
 "padCodes": [
  "AC002",
  "AC001"
 ],
 "appInfos": []
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1736326542985,
    "data": null
}

修改真机ADI模板

修改实例云真机ADI模版, 传入云真机模版ID

必要条件:

  1. 实例创建时,需要创建为云真机类型
  2. 实例创建时的安卓版本,需要和目标的ADI安卓版本一致

接口地址

/vcpcloud/api/padApi/replaceRealAdiTemplate

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010001String是实例编号
wipeDatafalseBoolean是是否清除数据
realPhoneTemplateId186Long是云真机模板id

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": ["AC32010250011"],
 "wipeData": true,
 "realPhoneTemplateId": 186
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1736326542985,
 "data": [{
  "taskId": 10074,
  "padCode": "AC32010250011",
  "errorMsg": null,
   "taskStatus": 1
 }]
}

错误码

错误码错误说明操作建议
110028实例不存在联系管理员
110064当前实例中有不满足升级真机条件,请检查实例检查实例是否是真机
110099ADI模板不存在,请检查参数检查ADI模板信息

异步执行ADB命令

在一个或多个云手机实例中异步执行命令

接口地址

/vcpcloud/api/padApi/asyncCmd

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22020020793String是实例编号
scriptContentcd /root;lsString是ADB命令,多条命令使用分号隔开

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewc84g8si0oyString链路追踪ID
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC22020020793String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
    "padCodes": [
        "AC22020020793"
    ],
    "scriptContent": "cd /root;ls"
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570297639,
  "traceId": "ewab8whwonb4",
  "data": [
  {
   "taskId": 14,
   "padCode": "AC22030010001",
   "vmStatus": 1
  },
  {
   "taskId": 15,
   "padCode": "AC22030010002",
   "vmStatus": 0
  }
 ]
}

错误码

错误码错误说明操作建议
110003执行ADB命令失败联系管理员
110012命令执行超时请稍后重试

开关Root权限

在一个或多个云手机实例中开关root权限。 开个单个应用root,需要指定包名,否则会抛出异常.(云真机产品,在调用此接口时,不建议设置全局root权限,会有被风控检测到的可能。)

接口地址

/vcpcloud/api/padApi/switchRoot

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22020020793String是实例编号
globalRootfalseBoolean否是否开启全局root权限,默认不开启
packageNamecom.exampleString否应用包名(非全局root必传)多个包名通过,连接
rootStatusroot开启状态Integer是root状态,0:关闭 1:开启

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC22020020793String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
  "padCodes": [
    "AC32010250002"
  ],
  "globalRoot": false,
  "packageName": "com.android.ftpeasys",
  "rootStatus": 0
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570297639,
 "data": [
  {
   "taskId": 14,
   "padCode": "AC32010250002",
   "vmStatus": 1
  }
 ]
}

错误码

错误码错误说明操作建议
110003执行ADB命令失败联系管理员
110089开启单个root包名不能为空开启单个应用root时,包名不能为空

本地截图

实例截图。

接口URL

/vcpcloud/api/padApi/screenshot

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010231String是实例编号
rotation0Integer是截图画面横竖屏旋:0:截图方向不做处理,默认;1:截图画面旋转为竖屏时:a:手机竖屏的截图,不做处理。b:手机横屏的截图,截图顺时针旋转90度。
broadcastfalseBoolean否事件是否广播(默认false)
definitionfalseInteger否清晰度 取值范围0-100
resolutionHeightfalseInteger否分辨率 - 高 大于1
resolutionWidthfalseInteger否分辨率 - 宽 大于1

响应参数

参数名示例值参数类型是否必填参数描述
code200Integer是状态码
msgsuccessString是响应消息
ts1756021167163Long是时间戳
dataObject[]
├─taskId1Integer否任务ID
├─padCodeAC21020010231String否实例编号
├─vmStatus1Integer是实例在线状态(0:离线;1:在线)

请求示例

{
 "padCodes": [
  "AC21020010231"
 ],
 "rotation": 0,
 "broadcast": false,
    "definition": 50,
    "resolutionHeight": 1920,
    "resolutionWidth": 1080
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1717570337023,
 "data": [
  {
   "taskId": 16,
   "padCode": "AC22030010001",
   "vmStatus": 1
  },
  {
   "taskId": 17,
   "padCode": "AC22030010002",
   "vmStatus": 0
  }
 ]
}

错误码

错误码错误说明操作建议
110001截图失败请重试
110004执行重启命令失败稍后再次重启
110028实例不存在请检查实例是否存在

生成预览图

指定的实例获取预览图

接口地址

/vcpcloud/api/padApi/generatePreview

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC11010000031String是实例编号
rotation0Integer是截图画面横竖屏旋:0:截图方向不做处理,默认;1:截图画面旋转为竖屏时:a:手机竖屏的截图,不做处理。b:手机横屏的截图,截图顺时针旋转90度。
broadcastfalseBoolean否事件是否广播(默认false)

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─padCodeAC11010000031String实例编号
├─urlhttp://xxx.armcloud.pngString访问地址
├─expireAt1756024767163LongURL到期时间(毫秒时间戳)
├─successtrueBoolean是否成功生成URL
├─reason实例状态异常String失败原因(成功时为空)

请求示例

{
    "padCodes": [
        "AC11010000031",
        "AC11010000032"
    ], 
    "format": "png"
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756021167163,
        "data": [
        {
            "padCode": "AC11010000031",
            "url": "http://xxx.armcloud.png",
            "expireAt": 1756024767163,
            "success": true,
            "reason": ""
        },
        {
            "padCode": "AC11010000032",
            "url": "",
            "expireAt": null,
            "success": false,
            "reason": "实例状态异常"
        }
    ]
}

升级镜像

批量实例镜像升级

接口地址

/vcpcloud/api/padApi/upgradeImage

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010182String是实例编号
imageIdmg-24061124017String是镜像ID
wipeDatafalseBoolean是是否清除实例数据(data分区), true清除,false不清除
enableCpuCoreConfigtrueBoolean否是否启用CPU大小核配置,本功能基于 Android cpuset 机制,为云手机物理机上的多个容器提供静态错峰的 CPU 资源分配方案。通过精细化划分大小核(Little/Big Cores)资源,显著提升单容器的性能稳定性与用户体验。

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject[]
├─padCodeAC22030010182String实例编号
├─taskId1Integer任务ID
├─errorMsg“”String错误信息

请求示例

{
    "padCodes": [
        "AC22030010182"
    ],
    "wipeData": false,
    "imageId": "mg-24061124017"
}

响应示例

{
 "code": 200,
  "traceId": "ewab8whwonb4",
  "msg": "success",
 "ts": 1718594881432,
 "data": [
  {
   "taskId": 63,
   "padCode": "AC22030010182",
   "errorMsg": null
  }
 ]
}

错误码

错误码错误说明操作建议
110041镜像不存在镜像id传参有误
110037执行升级镜像指令失败实例状态有误,联系管理员
110038执行升级镜像命令失败实例状态有误,联系管理员

升级真机镜像

批量实例真机镜像升级

接口地址

/vcpcloud/api/padApi/virtualRealSwitch

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010182String是实例编号
imageIdmg-24061124017String是镜像ID
wipeDatafalseBoolean是是否清除实例数据(data分区), true清除,false不清除
realPhoneTemplateId178Integer否真机模板ID upgradeImageConvertType=real时必填
upgradeImageConvertTypevirtualString是转换镜像类型 virtual:虚拟机 real:云真机
screenLayoutId14Integer否屏幕布局ID upgradeImageConvertType=virtual时必填
certificate参考手机根证书String否自定义手机根证书
deviceAndroidProps{"persist.sys.cloud.wifi.mac": "D2:48:83:70:66:0B"}Object否安卓属性配置,参考 安卓改机属性列表(注意:CBS版本2.4.4以下不支持 )
enableCpuCoreConfigtrueBoolean否是否启用CPU大小核配置,本功能基于 Android cpuset 机制,为云手机物理机上的多个容器提供静态错峰的 CPU 资源分配方案。通过精细化划分大小核(Little/Big Cores)资源,显著提升单容器的性能稳定性与用户体验。

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject[]
├─padCodeAC22030010182String实例编号
├─taskId1Integer任务ID
├─errorMsg“”String错误信息

请求示例

{
    "padCodes": [
        "AC32010210023"
    ],
        "imageId": "img-24112653977",
        "wipeData": true,
        "realPhoneTemplateId": 178,
        "upgradeImageConvertType": "virtual",
        "screenLayoutId": 14
}

响应示例

{
 "code": 200,
 "msg": "success",
 "ts": 1718594881432,
 "traceId": "ewab8whwonb4",
    "data": [
  {
   "taskId": 63,
   "padCode": "AC22030010182",
   "errorMsg": null
  }
 ]
}

错误码

错误码错误说明操作建议
110041镜像不存在镜像id传参有误
110037执行升级镜像指令失败实例状态有误,联系管理员
110038执行升级镜像命令失败实例状态有误,联系管理员
110064当前实例中有不满足升级真机条件,请检查实例当前实例中有不满足升级真机条件,请检查实例

分页获取真机模板

分页获取真机模板

接口地址

/vcpcloud/api/padApi/templateList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
pageIndex1Integer否页码 默认1
pageSize10Integer否每页显示数量 默认10 取值范围为1-100
androidImageVersion14String否安卓镜像版本

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewc84g8si0oyString链路追踪ID
dataObject[]响应数据列表
├─id178Long账号ID
├─brandgoogleString品牌
├─modelPixel 7 Pro(12G)String型号
├─fingerprintMd5f5da7b97678ac19309f0cf0203e072d7String安卓md5(ro.build.fingerprint)
├─fingerprintgoogle/cheetah/cheetah:13/TQ3A.230901.001/10750268:user/release-keysString安卓ro.build.fingerprint
├─resourceSpecificationCodem2-3String规格编号
├─screenLayoutCoderealdevice_1440x3120x560String屏幕布局编码
├─adiTemplateDownloadUrlhttps://example.com/file.zipStringadi模板文件下载路径
├─adiTemplatePwd123456Stringadi模板文件密码
├─propertyJson{"test": "testa"}JSON实例属性
├─androidImageVersion13Integer安卓镜像版本
├─deleteFlag0Integer是否删除(1:已删除;0:未删除)
├─createByadminString创建人
├─createTime2024-08-28 12:00:00Timestamp创建时间
├─updateByadminString修改人
├─updateTime2024-08-28 12:30:00Timestamp修改时间
├─deviceNamePixel ProString机型名称(别名/展示用)
├─isOfficial1Integer是否正式版(0:测试版 1:正式版)
├─status1Integer是否启用(0:禁用 1:启用)
├─adiTemplateVersionv1.0.2Stringadi模板版本号
├─modelCodecheetahString机型标识
├─isPublic1Integer模板使用类型(1=公共 0=私有)
├─aospVersion13.0.1Stringaosp版本
├─testCasesDownloadUrlhttps://example.com/cases.zipString测试用例文件下载路径

请求示例

{
    "pageIndex": 1,
    "pageSize": 10
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313820061,
        "data": [
        {
            "id": 202,
            "createTime": "2025-03-12T02:29:43.000+00:00",
            "createBy": "",
            "updateTime": "2025-04-29T09:44:28.000+00:00",
            "updateBy": "",
            "brand": "HONOR(FIX)",
            "model": "ELZ-AN10(8G)",
            "fingerprint": "HONOR/ELZ-AN10/HNELZ:14/HONORELZ-AN10/8.0.0.185CHNC00E185R4P6:user/release-keys",
            "fingerprintMd5": "9bf2de4b6aa70466a6f76f66539c4613",
            "resourceSpecificationCode": "m2-4",
            "screenLayoutCode": "realdevice_1344x2772x476",
            "adiTemplateDownloadUrl": "https://oss-hk.armcloud.net/adi/35fdc068d6fdc32a691554989008160b_fix2.zip",
            "adiTemplatePwd": "XMDoxJgoKIZKoWbWlnmY",
            "propertyJSON": "{}",
            "androidImageVersion": 14,
            "deleteFlag": false,
            "deviceName": "ELZ-AN10(8G)",
            "isOfficial": 1,
            "status": 1,
            "adiTemplateVersion": null,
            "modelCode": null,
            "isPublic": 1,
            "testCasesDownloadUrl": null,
            "aospVersion": "android14"
        }
    ],
        "traceId": "ewabantnnwn4"
}

批量获取实例机型信息

(待上线) 根据实例编号批量获取对应的实例的机型信息。

接口地址

/vcpcloud/api/padApi/modelInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010182String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewbssur1jbwgString链路追踪ID
ts1756021167163Long时间戳
dataObject[]
├─padCodeAC22030010182String实例编号
├─imei524803173613682StringIMEI
├─serialno01NM5ON34M4OString序列号
├─wifimac04:3a:6c:e5:e9:8d:62:d6:4aStringWi-Fi的mac地址
├─androididaa6bcedf1426546cStringAndroid实例唯一标识
├─modelMi 10 ProString型号
├─brandXiaomiString品牌
├─manufacturerXiaomiString厂商
├─isRoot1String是否是ROOT权限
├─width720Integer云手机的宽 最大不超过1080
├─height1280Integer云手机的高 最大不超过1920
├─memoryLimit1024Integer内存限额
├─bluetoothaddr3A:1F:4B:9C:2D:8EString蓝牙地址
├─phonenum1112341234String手机号码
├─romVersionandroid13String安卓版本
├─dataSize2367381504Integer内存大小(b)
├─dataSizeAvailable365830144Integer剩余可用(b)
├─dataSizeUsed10242001551360已使用(b)
├─romVersionandroid14Stringrom版本

请求示例

{
    "padCodes": [
        "AC22030010182"
    ]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1752845766596,
        "data": [
        {
            "padCode": "ACN250718J6ZLUYS",
            "imei": "237150320344334",
            "serialno": null,
            "wifimac": "44:5a:56:fb:6a:ec",
            "androidid": "ecb978a3cafff13",
            "model": "SM-A057F",
            "brand": "samsung",
            "manufacturer": "samsung",
            "isRoot": null,
            "width": 1080,
            "height": 2400,
            "memoryLimit": null,
            "bluetoothaddr": null,
            "phonenum": null,
            "dataSize": null,
            "dataSizeAvailable": null,
            "dataSizeUsed": null,
            "romVersion": "android14"
        }
    ],
        "traceId": "esb357am18n4"
}

设置实例带宽

(待上线) 根据实例编号设置实例带宽。

接口地址

/vcpcloud/api/padApi/setSpeed

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22030010124String是实例编号
upBandwidth10.00float是上行带宽 Mbps (0:不限制;-1:限制上网)
downBandwidth10.00float是下行带宽 Mbps (0:不限制;-1:限制上网)

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
traceIdewbssur1jbwgString链路追踪ID
dataObject[]
├─taskId679Integer任务ID
├─padCodeAC32010140011String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
 "padCodes": [
  "AC32010140011"
 ],
 "upBandwidth": 10.00,
 "downBandwidth": 10.00
}

响应示例

{
 "code": 200,
 "msg": "success",
 "traceId": "ewab8qjqbaio",
 "ts": 1721640654237,
 "data": [
  {
   "taskId": 679,
   "padCode": "AC32010140011",
   "vmStatus": 1,
   "taskStatus": 1
  }
 ]
}

开启关闭ADB

根据实例编号打开或关闭实例adb

接口地址

/vcpcloud/api/padApi/openOnlineAdb

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例列表(传入实例数量1-200个)
├─AC32010250032String是实例编号
openStatus1Integer是开启关闭ADB状态(1开启 0或者不传默认关闭)

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1721739857317Long时间戳
dataObject[]
├─taskId16147Integer任务id
├─padCodeAC32010250032String实例编号
├─taskStatus3Integer任务状态(-1全失败,-2部分失败,-3取消,-4超时,-5异常,1,等待执行,2执行中,3完成)
├─taskResultsuccessString任务结果

请求示例

{   
    "padCodes":[
        "AC32010250032"
    ],
    "openStatus": 1
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1736920929306,
    "data": [
        {
        "taskId": 16147,
        "padCode": "AC32010250032",
        "taskStatus": 3,
        "taskResult": "success"
        }
    ]
}

获取ADB连接信息

根据实例编号获取adb连接信息 响应数据(key,adb)不全情况时,请调用开启关闭ADB开启adb。

接口地址

/vcpcloud/api/padApi/adb

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC32010250032String是实例编号
enabletrueBoolean是ADB 状态 true:开启 false:关闭

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewbssur1jbwgString链路追踪ID
ts1736922808949Long时间戳
dataObject[]
├─padCodeAC32010250032String实例编号
├─commandssh -oHostKeyAlgorithms=+ssh-rsa 10.255.3.2_001_1736922765389@156.59.80.166 -p 1824 -L 8572:adb-proxy:53728 -NfStringSSH 连接指令
├─expireTime2025-01-16 14:32:00Stringadb 链接有效期
├─enabletrueBooleanADB 状态 true:开启 false:关闭
├─key3CXr3FJZ6gbnGuJctDOpP9M6X6Rl786xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==String连接密钥
├─adbadb connect localhost:8577Stringadb连接信息

请求示例

{   
    "padCode": "AC32010250032",
    "enable": true
}

响应示例

{
    "code": 200,
    "msg": "success",
    "traceId": "ewab8qjqbaio",
    "ts": 1736922808949,
    "data": {
        "padCode": "AC32010250032",
        "command": "ssh -oHostKeyAlgorithms=+ssh-rsa 10.255.3.2_001_1736922765389@156.59.80.166 -p 1824 -L 8572:adb-proxy:53728 -Nf",
        "expireTime": "2025-01-16 14:32:00",
        "enable": true,
        "key": "3CXr3FJZ6gbnGuJctDOpP9M6X6Rl786xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
        "adb": "adb connect localhost:8577"
    }
}

批量获取ADB连接信息

(待上线) 根据实例编号列表批量获取或关闭adb连接信息。执行开启操作时若成功返回的连接信息不全,请先调用开启关闭ADB接口重新开启ADB后再重试。本接口单次最多支持10个实例。

接口地址

/vcpcloud/api/padApi/batch/adb

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes["AC32010250032","AC32010250033"]String[]是实例编号列表,数量上限10个
enabletrueBoolean是是否开启ADB,true为开启并返回连接信息,false为关闭ADB

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewbssur1jbwgString链路追踪ID
ts1736922808949Long时间戳
dataObject
├─successListObject[]批量执行成功的结果列表
│ ├─padCodeAC32010250032String实例编号
│ ├─commandssh -oHostKeyAlgorithms=+ssh-rsa 10.255.3.2_001_1736922765389@156.59.80.166 -p 1824 -L 8572:adb-proxy:53728 -NfStringSSH连接指令
│ ├─expireTime2025-01-16 14:32:00Stringadb链接有效期
│ ├─enabletrueBooleanADB状态 true:开启 false:关闭
│ ├─key3CXr3FJZ6gbnGuJctDOpP9M6X6Rl786xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==String连接密钥
│ ├─adbadb connect localhost:8577Stringadb连接信息
├─failedListObject[]批量执行失败的结果列表
│ ├─padCodeAC32010250034String实例编号
│ ├─errorMsg实例未运行String失败原因
│ ├─errorCodePAD_NOT_RUNNINGString错误码

请求示例

{
    "padCodes": [
        "AC32010250032",
        "AC32010250033"
    ],
    "enable": true
}

响应示例

{
    "code": 200,
    "msg": "success",
    "traceId": "ewbssur1jbwg",
    "ts": 1736922808949,
    "data": {
        "successList": [
            {
                "padCode": "AC32010250032",
                "command": "ssh -oHostKeyAlgorithms=+ssh-rsa 10.255.3.2_001_1736922765389@156.59.80.166 -p 1824 -L 8572:adb-proxy:53728 -Nf",
                "expireTime": "2025-01-16 14:32:00",
                "enable": true,
                "key": "3CXr3FJZ6gbnGuJctDOpP9M6X6Rl786xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
                "adb": "adb connect localhost:8577"
            }
        ],
        "failedList": [
            {
                "padCode": "AC32010250034",
                "errorMsg": "实例未运行",
                "errorCode": "PAD_NOT_RUNNING"
            }
        ]
    }
}

云机转移

将指定云手机实例转移到另一个账户(通过接收方账户邮箱)。

接口地址

/vcpcloud/api/padApi/confirmTransfer

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes["ACXXXXXXXXX"]String[]是要转移的实例编号列表
makeOverMobilePhone"XXXX.gmail.com"String是接收转移设备的账户邮箱

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1731055053049Long时间戳
datatrueBoolean转移是否成功(true/false)

请求示例

{
  "padCodes": [
    "ACXXXXXXXXX"
  ],
  "makeOverMobilePhone": "XXXX.gmail.com"
}

响应示例

{
  "msg": "success",
  "code": 200,
  "data": true,
  "ts": 1731055053049
}

模拟触控

通过传入xy坐标,模拟在实例中的触控事件(按下、抬起、触摸中)

异常检查:如果2s内有重复请求,报错提示内容:请勿频繁操作

接口地址

/vcpcloud/api/padApi/simulateTouch

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
padCodes2200String[]需要触发点击的实例编码
width120Integer容器宽度
height120Integer容器高度
pointCount1Integer多点触控(多个手指点击云机屏幕效果),默认1,范围1-10,传其他数字均使用默认值
positions[{"actionType":0,"x":100,"y":100,"nextPositionWaitTime":20}]Object[]点击坐标组
├─ actionType1Integer操作类型(0:按下;1:抬起;2:触摸中)
├─ x100float点击的x坐标
├─ y100float点击的y坐标
├─ nextPositionWaitTime100Integer多组坐标时,触发下一组点击坐标的等待间隔时间ms毫秒值
├─ swipe-1float滚动距离 -1 下划 1 上划
├─ touchTypegestureSwipeStringgestureSwipe划动事件 gesture触控事件 keystroke按键事件(默认是按下抬起)
├─ keyCode1Integer用于标识用户按下或释放的具体按键
├─ pressure0.5float触点压力
├─ size0.5float触点占屏幕面积比例

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
traceIdewbssur1jbwgString链路追踪ID
dataObject[]
├─padCodeAC32032String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1Integer任务状态(-1:任务已存在,请勿重复提交;1:任务已添加)

请求示例

{
  "padCodes": [
    "实例编号"
  ],
  "width": 1080,
  "height": 1920,
  "pointCount":1,
  "positions": [
    {
      "actionType": 0,
      "x": 100,
      "y": 100,
      "nextPositionWaitTime": 20,
      "swipe":-1, 
      "touchType":"gestureSwipe",
      "keyCode":1,
        "pressure":0.5,
        "size":0.5
    },
    {
      "actionType": 2,
      "x": 110,
      "y": 110,
      "nextPositionWaitTime": 22
    },
    {
      "actionType": 2,
      "x": 120,
      "y": 120,
      "nextPositionWaitTime": 23
    },
    {
      "actionType": 1,
      "x": 120,
      "y": 120
    }
  ]
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1743676563784,
  "traceId": "ewab8qjqbaio",
    "data": [
    {
      "taskId": 100059,
      "padCode": "ACP00001",
      "vmStatus": 0,
      "taskStatus": 1

    },
    {
      "taskId": 100060,
      "padCode": "ACP00001",
      "vmStatus": 0,            
      "taskStatus": 1

    }
  ]
}

实例操作任务详情

查询指定实例操作任务的执行结果详细信息。

接口地址

/vcpcloud/api/padApi/padTaskDetail

请求方式

POST

请求数据类型

application/json

请求Query参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger[]是
├─taskId1Integer是任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
traceIdewbssur1jbwgString链路追踪ID
dataObject []子任务列表详情
├─ taskId1Integer子任务ID
├─ padCodeVP22020020793String实例标识
├─ taskStatus2String TODO类型使用错误任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成;9:排队中)
├─ endTime1713429401000Long子任务结束时间戳
├─ taskContent“”String任务内容
├─ taskResult“”String任务结果
├─ errorMsg“”String错误信息

请求示例

{
 "taskIds":[1,2]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1756313781081,
        "data": [
        {
            "taskId": 22323794,
            "padCode": "ACN250828DYJE95Z",
            "taskStatus": 2,
            "endTime": null,
            "taskContent": null,
            "taskResult": null,
            "errorMsg": null
        }
    ],
        "traceId": "ewab8kpxb7k0"
}

获取实例执行脚本结果

通过执行脚本任务ID来获取实例执行脚本结果。

接口地址

/vcpcloud/api/padApi/executeScriptInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger []是数组长度为1-100
├─1Integer否任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewc84g8si0oyString链路追踪ID
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC22020020793String实例编号
├─taskStatus3Integer任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
├─endTime1756021166163Long任务执行结束时间
├─taskContentSuccessString任务内容
├─taskResultSuccessString任务结果
├─errorMsg实例不存在String失败的原因

请求示例

{
 "taskIds": [1]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1752214432301,
        "data": [
        {
            "taskId": 49884,
            "padCode": "ATP250707FNSVRMC",
            "taskStatus": 3,
            "endTime": 1752214271000,
            "taskContent": null,
            "taskResult": null,
            "errorMsg": "调用Adb命令成功"
        }
    ],
        "traceId": "erl0i57h6v40"
}

获取实例截图结果

(待上线) 通过截图任务 ID 来获取实例的截图结果。

接口URL

/vcpcloud/api/padApi/screenshotInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger []是
├─1Integer否任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewbssur1jbwgString链路追踪ID
ts1756021167163Long时间戳
data-Object[]任务列表详情
├─ taskId1Integer任务ID
├─ taskStatus3Integer任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
├─ padCodeAC22020020793String实例编号
├─ taskContentSuccessString任务内容
├─ taskResultSuccessString任务结果
├─ endTime1756121167163String任务执行结束时间

请求示例

{
 "taskIds": [1]
}

响应示例

{
 "code": 200,
 "msg": "success",
  "traceId": "ewab8qjqbaio",
  "ts":1713773577581,
 "data":[
    {
    "taskId": 1,
    "taskStatus": 3,
    "padCode": "AC22020020793",
    "taskContent": "Success",
    "taskResult": "Success",
    "endTime": 1756121167163
    }
   ]
}

实例重启重置执行结果

(待上线) 通过任务ID来获取实例重启重置执行结果。

接口地址

/vcpcloud/api/padApi/padExecuteTaskInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger []是
├─1Integer是任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
traceIdewbssur1jbwgString链路追踪ID
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─taskStatus3Integer任务状态:(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
├─ endTime1756021166163Long任务执行结束时间
├─ taskContent“”String任务内容
├─ taskResultSuccessString任务结果

请求示例

{
    "taskIds": [1]
}

响应示例

{
    "code": 200,
    "msg": "success",  
    "traceId": "ewab8qjqbaio",
    "ts": 1756021167163
    "data":[
        {
            "taskId": 1,
            "padCode": "AC22030022911",
            "taskStatus": 3,
            "endTime": 1756021166163,
            "taskContent": null,
            "taskResult": "Success"
        }
    ]
}

实例列表信息

根据查询条件分页获取实例列表信息。

接口地址

/vcpcloud/api/padApi/infos

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
page1Integer是页码
rows10Integer是条数
padTyperealString否实例类型(virtual:虚拟机;real:真机)
padCodesString[]否
├─AC22010020062String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer
msgsuccessString
ts1713773577581Long
dataObject
├─page1Integer当前页
├─rows10Integer每页的数量
├─size1Integer当前页的数量
├─total1Integer总记录数
├─totalPage1Integer总页数
├─pageDataobject[]列表
├─├─padCodeVP21020010391String实例编号
├─├─padGradeq1-2String实例开数(q1-6六开,q1-2二开)
├─├─padStatus10String实例状态 (10-运行中 11-重启中 12-重置中 13-升级中 14-异常 15-未就绪)
├─├─deviceIp192.168.0.0String云机ip
├─├─padIp192.168.0.0String实例ip
├─├─appsString[]安装的应用列表
├─├─├─armcloud001String安装的应用

请求示例

{
	"page": 1,
	"rows": 10,
	"padCodes": [
		"AC21020010391"
	]
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts":1713773577581,
	"data": {
		"page": 1,
		"rows": 1,
		"size": 1,
		"total": 1,
		"totalPage": 1,
		"pageData": [
			{
				{
				"padCode": "AC21020010391",
				"padGrade": "q2-4",
				"padStatus": 10,
				"idcCode": "8e61ad284bc105b877611e6fef7bdd17",
				"deviceIp": "172.31.2.34",
				"padIp": "10.255.1.19",
				"apps": [
					"armcloud001"
				]
			}
		]
	}
}

导入通话记录

此接口允许将通话记录数据导入至云手机中。接口在导入过程中,会自动检测云手机通讯录中已保存的联系人,并将这些联系人对应的名称显示在通话记录中,便于用户快速识别联系人。

接口地址

/vcpcloud/api/padApi/addPhoneRecord

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesACP2505060777String[]是需要编辑通话记录的实例编码
callRecords[{"number":"18009781201","inputType":1,"duration":30,"timeString":"2025-05-06 14:00:09"}]Object[]是通话记录
├─ number13900000000String是电话号码
├─ inputType1int是通话类型(1:拨出;2:接听;3:未接)
├─ duration60int是通话时长;单位是秒,未接电话是0秒
├─ timeString2025-05-08 12:30:00String否通话时长

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
dataObject[]
├─padCodeAC32032String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态

请求示例

{
  "padCodes": [
     "实例编号"
  ],
  "callRecords": [
    {
      "number": "18009781201",
      "inputType": 1,
      "duration": 30,
      "timeString": "2025-05-06 14:00:09"
    },
    {
      "number": "18009781202",
      "inputType": 2,
      "duration": 60,
      "timeString": "2025-05-07 14:00:09"
    },
    {
      "number": "18009781203",
      "inputType": 3,
      "duration": 0
    }
  ]
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1743676563784,
  "data": [
    {
      "taskId": 100059,
      "padCode": "ACP00001",
      "vmStatus": 0
    },
    {
      "taskId": 100060,
      "padCode": "ACP00001",
      "vmStatus": 0
    }
  ]
}

云机文本信息输入

在云机中预先聚焦好输入框,调用该接口传入指定的文本信息内容后,文本展示在云机指定位置。

接口地址

/vcpcloud/api/padApi/inputText

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesACP2505060777String[]是实例编码
texthello123String是输入文本
响应参数
参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
dataObject[]
├─padCodeAC32032String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1String任务当前状态

请求示例

{
   "padCodes": [
      "ACP250509FECQN33",
      "ACP250509T1VME44",
      "ACP25050917AYX11"
   ], 
   "text": "12345678"
}

响应示例

{
     "msg": "success",
     "code": 200,
     "data": [ 
      {
         "padCode": "ACP250509FECQN33",
         "vmStatus": 0,
         "taskId": 10013014,
         "taskStatus": 1
      },
      {
         "padCode": "ACP250509T1VME44",
         "vmStatus": 0,
         "taskId": 10013015,
         "taskStatus": 1
      },
      {
         "padCode": "ACP25050917AYX11",
         "vmStatus": 0,
         "taskId": 10013016,
         "taskStatus": 1
      }
   ],
   "ts": 1746797852244
}

模拟发送短信

向实例内模拟下发一条短信,支持批量实例。(暂时限定AOSP13、14)

接口地址

/vcpcloud/api/padApi/simulateSendSms

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodes["ACN2505060777"]String[]是实例编码列表,数量1-100个
senderNumber13800000000String是发送方号码,不支持大陆号码。(格式:长度限制16位,允许数字、英文、空格、+-号)
smsContent这是一条测试短信。String是短信内容(长度限制127位)

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
traceIdewb123abcString追踪ID
datatrueBoolean是否调用成功

请求示例

{
  "padCodes": ["ACN2505060777"],
  "senderNumber": "13800000000",
  "smsContent": "这是一条测试短信。"
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1736922808949,
  "traceId": "ewb123abc",
  "data": true
}

重置GAID

调用该接口传入指定实例编号或者实例分组,将重置云机中的 advertising ID(Reset advertising ID)

接口地址

/vcpcloud/api/padApi/resetGAID

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC21020010001String是实例编号
resetGmsTypeGAIDString是重置gms类型, 可选:GAID
oprByzhangsanString否操作人
taskSourceOPEN_PLATFORMString是任务来源,可选:OPEN_PLATFORM

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
   "padCodes": [
      "ACPXXXXXXXXXXXXXXX"
   ],
  "taskSource": "OPEN_PLATFORM",
  "oprBy": "admin",
  "resetGmsType": "GAID"
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1717559681604,
    "data": [
         {
            "taskId": 88,
            "padCode": "AC22030010001",
            "vmStatus": 1
         },
         {
            "taskId": 89,
            "padCode": "AC22030010002",
            "vmStatus": 0
         }
      ]
}

注入音频到实例麦克风

将一个音频文件注入到实例的麦克风,代替麦克风收音的接口 备注:目前仅支持注入pcm格式的音频文件,请处理转好格式后再进行上传

接口地址

/vcpcloud/api/padApi/injectAudioToMic

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesACP2505060777String[]是实例编码
urlhttp://localhost/abcString否音频文件下载地址 (此字段和fileUniqueId 2选1传值)
fileUniqueId8fc73d05371740008ea27a2707496a82String否文件id唯一标识(此字段和url 2选1传值)
enabletrueBoolean是注入开关

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
dataObject[]
├─padCodeAC32032String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1String任务当前状态

请求示例

{
  "padCodes": [
    "ACP250509FECQN33","ACP250509T1VME44","ACP25050917AYX11
  ],
  "url":"http://localhost/abc ",
  "fileUniqueId":"8a6d0df189ef4b0e83858fd9eeb7620c",
  "enable":true
}

响应示例

{
     "msg": "success",
     "code": 200,
     "data": [ 
      {
         "padCode": "ACP250509FECQN33",
         "vmStatus": 0,
         "taskId": 10013014,
         "taskStatus": 1
      },
      {
         "padCode": "ACP250509T1VME44",
         "vmStatus": 0,
         "taskId": 10013015,
         "taskStatus": 1
      },
      {
         "padCode": "ACP25050917AYX11",
         "vmStatus": 0,
         "taskId": 10013016,
         "taskStatus": 1
      }
   ],
   "ts": 1746797852244
}

创建本地实例备份

(待上线) 用于创建本地实例备份接口。

接口地址

/vcpcloud/api/padApi/localPodBackup

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodePAD_001String是实例编号,不能为空,最大64字符
backupNamebacknameinfoString否备份名称,最大128字符
backupPathbackup/dbString否不要/开头,备份数据保存路径,不传则默认保存在根目录 /{备份ID}/ 下,最大256字符
ossConfig{...}Object是对象存储配置,需要支持 S3 协议,不能为空且永久授权
├─ endpointoss-cn-shanghai.aliyuncs.comString是对象存储 endpoint,最大128字符
├─ bucketpad-backupString是对象存储 bucket 名称,最大128字符
├─ accessKeyAKIA123456String是对象存储 accessKey,最大128字符
├─ secretKeyxxxxxxxString是对象存储 secretKey,最大128字符
├─ protocolhttpsString是对象存储访问协议:http 或 https,最大16字符
├─ regioncn-shanghaiString是OSS 地域,最大32字符
├─ securityTokenxxxxxxxxxStringcredentialType=2-是临时凭证token
├─ expiration2025-12-01T21:38:49zStringcredentialType=2-是过期时间
credentialType1Integer否凭证类型:1-永久凭证,2-临时凭证

响应参数

参数名示例值参数类型参数描述
code200Integer状态码(200表示成功)
msgsuccessString接口请求状态信息
ts1758271736814Long时间戳
data{...}Object返回的任务信息对象
├─ taskId59Long任务ID
├─ padCodeACP250919HTTMIBQString实例编号
├─ vmStatus0Integer实例在线状态:0=离线,1=在线
├─ taskStatus1Integer任务状态:-1=任务已存在(请勿重复提交),1=任务已添加
├─ errMsgnullString描述或错误信息
├─ backupNamebackupNameString备份名称
├─ backupIdbkp-ACP250919HTTMIBQ-1758271735910String备份ID
traceIdeyj68nk6dnuoString请求链路追踪ID,用于问题排查

请求示例

{
  "padCode": "ACP25091XXXXXX15",
  "backupName": "backnameinfo",
  "backupPath": "backup/data/",
  "credentialType": 1,
  "ossConfig": {
    "endpoint": "oss-cn-xxxxx.xxxxx.com",
    "bucket": "armcloud-cn",
    "accessKey": "LTAI5txxxxxxxYC",
    "secretKey": "kjgvYxxxxxxxxxxx8URWU",
    "protocol": "httpxxxx",
    "region": "cn-xxxxx"
  }
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1758271736814,
  "data": {
    "taskId": 59,
    "padCode": "ACP25091XXXXXX15",
    "vmStatus": 0,
    "taskStatus": 1,
    "errMsg": null,
    "backupName": "backnameinfo",
    "backupId": "bkp-ACP25091XXXXXX15-1758271735910"
  },
  "traceId": "eyj68nk6dnuo"
}

错误码

错误码错误说明操作建议
220025当前本地实例存在其他正在执行或待执行的任务,请等待任务执行完毕后再试!等待任务执行完成后再尝试
220026仅支持本地实例备份!确认操作实例为本地实例
220029当前实例状态不在运行中确认实例处于运行中
220033当前实例CBS版本过低,不支持备份或者还原联系客户经理升级板卡系统到最新版本后再尝试

创建本地实例还原

(待上线) 用于创建本地实例备份文件还原接口。

接口地址

/vcpcloud/api/padApi/localPodRestore

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
backupIdbkp-ACP250917XSYESH3-1758097064458String是备份Id 最大128字符
padCodeACP250917CLAQJ15String是实例编号,不能为空,最大64字符
ossConfig{...}Object是对象存储配置,需要支持 S3 协议,不能为空且永久授权
├─ endpointoss-cn-shanghai.aliyuncs.comString是对象存储 endpoint,最大128字符
├─ bucketpad-backupString是对象存储 bucket 名称,最大128字符
├─ accessKeyAKIA123456String是对象存储 accessKey,最大128字符
├─ secretKeyxxxxxxxString是对象存储 secretKey,最大128字符
├─ protocolhttpsString是对象存储访问协议:http 或 https,最大16字符
├─ regioncn-shanghaiString是OSS 地域,最大32字符
├─ securityTokenxxxxxxxxxStringcredentialType=2-是临时凭证token
├─ expiration2025-12-01T21:38:49zStringcredentialType=2-是过期时间
credentialType1Integer否凭证类型:1-永久凭证,2-临时凭证

响应参数

参数名示例值参数类型参数描述
code200Integer状态码(200表示成功)
msgsuccessString接口请求状态信息
ts1758271736814Long时间戳
data{...}Object返回的任务信息对象
├─ taskId59Long任务ID
├─ padCodeACP250919HTTMIBQString实例编号
├─ vmStatus0Integer实例在线状态:0=离线,1=在线
├─ taskStatus1Integer任务状态:-1=任务已存在(请勿重复提交),1=任务已添加
├─ errMsgnullString描述或错误信息
traceIdeyj68nk6dnuoString请求链路追踪ID,用于问题排查

请求示例

{
  "padCode": "ACP25091XXXXXJ15",
  "backupId": "bkp-ACP25091XXXXXJ15-1758097064458",
  "credentialType": 1
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1758271736814,
  "data": {
    "taskId": 59,
    "padCode": "ACP25091XXXXXX15",
    "vmStatus": 0,
    "taskStatus": 1,
    "errMsg": null
  },
  "traceId": "eyj68nk6dnuo"
}

错误码

错误码错误说明操作建议
220025当前本地实例存在其他正在执行或待执行的任务,请等待任务执行完毕后再试!等待任务执行完成后再尝试
220027当前本地实例备份文件不存在,请检查文件后再试!检查备份文件是否存在
220030当前实例状态不在运行中或者异常中确认实例处于运行或异常状态
220031备份的文件不属于当前用户确认备份实例归属权限
220032当前备份ID实例信息不存在,无法辨别当前备份文件是否属于当前用户检查备份ID是否正确
220033当前实例CBS版本过低,不支持备份或者还原升级实例CBS版本后再尝试

本地实例备份结果查询

(待上线) 根据实例编号获取本地实例可用备份。

接口地址

/vcpcloud/api/padApi/localPodBackupSelectPage

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
page1Integer否当前页
rows10Integer否每页的数量
padCodesString[]是
├─padCodeACP5C24S9G6xxxxxString是实例编号,最大支持传入100条实例

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject返回的数据对象
├─ page1Integer当前页
├─ rows10Integer每页的数量
├─ size1Integer当前页的数量
├─ total1Integer总记录数
├─ totalPage1Integer总页数
├─ pageDataObject[]列表
├─├─ padCodeACP5C24S9G6xxxxxString实例编号
├─├─ backupIdbkp-xxxxxS4QBMGEW1ZX-1764728535556String备份ID
├─├─ backupNamebackupNameString备份名称
├─├─ backupPathbackup/dbString备份数据保存路径
├─├─ endpointbackupNameString备份名称(endpoint)
├─├─ bucketpad-backupString对象存储 bucket 名称,最大128字符
├─├─ protocolhttpsString对象存储访问协议:http 或 https,最大16字符
├─├─ regioncn-shanghaiStringOSS 地域,最大32字符
traceIdeyj68nk6dnuoString请求链路追踪ID,用于问题排查

请求示例

{
  "padCodes":["ACP5C24S9G6xxxxx"],
  "page":1,
  "rows":10
}

响应示例

{
  "code": 200,
  "msg": "success",
  "ts": 1764819200220,
  "data": {
    "page": 1,
    "rows": 10,
    "size": 1,
    "total": 1,
    "totalPage": 1,
    "pageData": [
      {
        "padCode": "ACP5C24S9G6xxxxx",
        "backupId": "bkp-xxxxxS4QBMGEW1ZX-1764728535556",
        "backupName": "android13-xxxx-虚拟机-img-25112665572-王者荣耀+抖音",
        "backupPath": "backup/data/",
        "endpoint": "oss-cn-xxxxxx.xxxxxxx.com",
        "bucket": "armcloud-xx",
        "protocol": "https",
        "region": "cn-hongkong"
      }
    ]
  },
  "traceId": "f61kq5vu5ts0"
}

清除进程并返回桌面

(待上线) 清除手机系统进程以外的所有进程,并返回桌面

接口地址

/vcpcloud/api/padApi/cleanAppHome

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesATP250814USYXXXXString[]是实例编码

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736922808949Long时间戳
traceIdeuz60azzc7i8String追踪ID
dataObject[]
├─padCodeAC32032String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1String任务当前状态

请求示例

{
    "padCodes": [
        "ATP250814USYXXXX"
    ]
}

响应示例

{
    "msg": "success",
        "traceId": "euz60azzc7i8",
        "code": 200,
        "data": [
        {
            "padCode": "ATP250814USYXXXX",
            "vmStatus": 0,
            "taskId": 68951,
            "taskStatus": 1
        }
    ],
        "ts": 1755172215886
}

无人直播

(待上线) 实例注入视频接口( 注意:目前只有img-25092692759 这个镜像版本可以使用,后续会更新其他哪些版本可以使用 )。支持通过单个视频地址injectUrl或地址列表injectUrls注入,二者至少传入一项且不能同时传入,injectUrls最多支持传入5个地址。

接口地址

/vcpcloud/api/padApi/unmannedLive

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesACN384345141346304String[]是实例编码(1-100个)
injectSwitchtrueBoolean否是否开启注入视频(true:开启 false:取消) 默认是false
injectLoopfalseBoolean否是否循环播放(true:是 false:否) 默认是false
injectUrlhttps://file.vmoscloud.com/userFile/1eea385b2a6ba3942ebf642badf39aa0.mp4String否单个视频注入地址,支持 http/https/rtmp:// 以及本地路径,与injectUrls至少传一项
injectUrls["https://file.vmoscloud.com/userFile/1eea385b2a6ba3942ebf642badf39aa0.mp4","rtmp://example.com/live"]String[]否视频注入地址列表(最多5个),支持 http/https/rtmp:// 以及本地路径,与injectUrl至少传一项

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1759134336311Long时间戳
traceIdezispr1m30n4String追踪ID
dataObject[]
├─padCodeACN384345141346304String实例编号
├─taskId20503Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1String任务当前状态
├─errMsgnullString错误提示

请求示例

{
        "padCodes": ["ACN384345141346304"],
        "injectSwitch": true,
        "injectLoop": false,
        "injectUrl": "https://file.vmoscloud.com/userFile/1eea385b2a6ba3942ebf642badf39aa0.mp4",
        "injectUrls": [
          "https://file.vmoscloud.com/userFile/1eea385b2a6ba3942ebf642badf39aa0.mp4",
          "rtmp://example.com/live/unmanned01"
        ]
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1759134336311,
        "data": [
        {
            "taskId": 20503,
            "padCode": "ACN384345141346304",
            "vmStatus": 0,
            "taskStatus": 1,
            "errMsg": null
        }
    ],
        "traceId": "ezispr1m30n4"
}

图片注入

(待上线) 实例注入图片接口

接口地址

/vcpcloud/api/padApi/injectPicture

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesACN2510166WZUPCJString[]是实例编码(1-100个)
injectSwitchtrueBoolean否是否开启注入图片(true:开启 false:取消) 默认是false
injectLoopfalseBoolean否是否循环播放(true:是 false:否) 默认是false
injectUrlhttps://file.vmoscloud.com/userFile/ac4e112d72f9ed724101f510e774001f.JPGString是图片注入地址,支持 http https rtmp://

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1759134336311Long时间戳
traceIdezispr1m30n4String追踪ID
dataObject[]
├─padCodeACN384345141346304String实例编号
├─taskId20503Long任务id
├─vmStatus0String实例在线状态
├─taskStatus1String任务当前状态
├─errMsgnullString错误提示

请求示例

{
        "padCodes": ["ACN2510166WZUPCJ"],
        "injectSwitch": true,
        "injectLoop": false,
        "injectUrl": "https://file.vmoscloud.com/userFile/ac4e112d72f9ed724101f510e774001f.JPG"
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1759134336311,
        "data": [
        {
            "taskId": 28247,
            "padCode": "ACN2510166WZUPCJ",
            "vmStatus": 0,
            "taskStatus": 1,
            "errMsg": null
        }
    ],
        "traceId": "ezispr1m30n4"
}
{
 "code" : 200,
 "data" : 2,
 "msg" : "success",
 "ts" : 1734502541732
}

用户镜像分页

(待上线)接口地址

/vcpcloud/api/padApi/userRomPage

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
nameCloudROM-13String否ROM名称
androidVersion13String否更新日志
current1int是当前页
size10int是分页大小

响应参数

字段名示例值类型说明
code200Integer状态码
msgsuccessString响应消息
ts1736326542985Long时间戳
dataObject
├─recordsObject[]镜像列表
├─├─id1int记录id
├─├─nameCloudROM-13-01String镜像名称
├─├─androidVersion13String安卓版本
├─├─downloadUrl13String地址
├─├─imageId13String镜像id
├─├─packageSize236978175int大小(单位:Byte)
├─├─versionv1.0.0String版本
├─├─imageFailedRemarkString原因
├─total1int总数
├─size10int每页大小
├─current1int当前页
├─pages1int总页数

请求示例

{
    "name": "cloud", 
    "androidVersion": 13,  
    "current": 1,
    "size": 10 
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "records": [
            {
                "id": 27,
                "name": "CloudROM-13-01",
                "androidVersion": "13",
                "downloadUrl": "https://file.vmoscloud.com/userFile/userRom/d281d848eff49adee2dda2475235b80b2.tar",
                "imageId": "img-250
### 应用管理
#### **应用启动**
根据实例编号和应用包名对实例进行应用启动的操作。

**接口地址**

> /vcpcloud/api/padApi/startApp

**请求方式**

> POST

**请求数据类型**

> application/json


**请求Body参数**

参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述
--- | --- | --- | --- | ---
├─pkgName | xxx.test.com | String | 是 | 包名
├─padCodes |  | String[] | 是 |
├─├─ | AC22010020062 | String | 是 | 实例编号


**响应参数**

参数名 | 示例值 | 参数类型 | 参数描述
--- | --- | --- | ---
code | 200 | Integer |  状态码
msg | success | String | 响应消息
ts | 1756021167163 | Long |  时间戳
data |  | Object[] |
├─taskId | 1 | Integer |  任务ID
├─padCode | AC22010020062 | String |实例编号
├─vmStatus | 1 | Integer |实例在线状态(0:离线;1:在线)

**请求示例**

```javascript
{
	"padCodes": [
		"AC22010020062"
	],
	"pkgName": "xxx.test.com"
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts": 1717570663080,
	"data": [
		{
			"taskId": 24,
			"padCode": "AC22010020062",
			"vmStatus": 1
		}
	]
}

错误码

错误码错误说明操作建议
110008启动应用失败重启云机后再启动应用

应用卸载

根据实例编号和应用包名批量对实例进行应用卸载的操作。

接口地址

/vcpcloud/api/padApi/uninstallApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
apkPackageListString[]是包名集合
├─com.geniuscloud.overseasString是应用包名
padCodeListString[]是
├─AC22010020062String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳

请求示例

{
    "padCodeList": ["AC32010601132"],
    "apkPackageList": ["com.geniuscloud.overseas"]
}

响应示例

{
    "msg:: "success",
    "code": 200,
    "ts": 1746694236404
}

应用停止

根据实例编号和应用包名对实例进行应用停止的操作。

接口地址

/vcpcloud/api/padApi/stopApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
├─pkgNamexxx.test.comString是包名
├─padCodesString[]是
├─├─AC22010020062String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC22010020062String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
	"padCodes": [
		"AC22010020062"
	],
	"pkgName": "xxx.test.com"
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts": 1717570663080,
	"data": [
		{
			"taskId": 24,
			"padCode": "AC22010020062",
			"vmStatus": 1
		}
	]
}

错误码

错误码错误说明操作建议
110010停止应用失败重启云机关闭应用

应用重启

根据实例编号和应用包名对实例进行应用重启的操作。

接口地址

/vcpcloud/api/padApi/restartApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
├─pkgNamexxx.test.comString是包名
├─padCodesString[]是
├─├─AC22010020062String是实例编号

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]
├─taskId1Integer任务ID
├─padCodeAC22010020062String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
	"padCodes": [
		"AC22010020062"
	],
	"pkgName": xxx.test.com
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts": 1717570663080,
	"data": [
		{
			"taskId": 24,
			"padCode": "AC22010020062",
			"vmStatus": 1
		}
	]
}

错误码

错误码错误说明操作建议
110009重启应用失败重启云机后再启动应用

实例安装应用列表查询

查询实例安装应用列表信息。

接口地址

/vcpcloud/api/padApi/listInstalledApp

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22010020062String是实例编号
appNameString否应用名称

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1713773577581Long时间戳
dataObject[]
├─ padCodeAC22010020062String实例编号
├─ appsObject[]应用列表
│ ├─ appNameTapTapString应用名称
│ ├─ packageNamecom.taptap.globalString应用包名
│ ├─ versionName3.49.0-full.100000String应用版本号
│ ├─ versionCode349001000String应用版本代码
│ ├─ appState0Integer0 已完成 1安装中 2下载中

请求示例


{
    "padCodes": ["AC32010780841"],
    "appName": null
}

响应示例

{
    "msg": "success",
        "code": 200,
        "data": [
            {
                "padCode": "AC32010780841",
                "apps": [
                    {
                        "appName": "TapTap",
                        "packageName": "com.taptap.global",
                        "versionName": "3.49.0-full.100000",
                        "versionCode": "349001000",
                        "appState": 0
                    }
                ]
            }
        ], 
        "ts": 1740020993436
}

任务管理

实例操作任务详情

查询指定实例操作任务的执行结果详细信息。

接口地址

/vcpcloud/api/padApi/padTaskDetail

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger[]是
├─taskId1Integer是任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject []子任务列表详情
├─ taskId1Integer子任务ID
├─ padCodeVP22020020793String实例标识
├─ taskStatus2String TODO类型使用错误任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
├─ endTime1713429401000Long子任务结束时间戳
├─ taskContent“”String任务内容
├─ taskResult“”String任务结果
├─ errorMsg“”String错误信息

请求示例

{
	"taskIds":[1,2]
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts": 1716283460673,
	"data": [
		{
			"taskId": 1,
			"padCode": "AC22030022441",
			"taskStatus": 2,
			"endTime": 1713429401000,
			"taskContent": null,
			"taskResult": null
		},
		{
			"taskId": 2,
			"padCode": "AC22030022442",
			"taskStatus": 2,
			"endTime": 1713429401001,
			"taskContent": null,
			"taskResult": null
		}
	]
}

文件任务详情

查询指定文件任务的执行结果详细信息。

接口地址

/vcpcloud/api/padApi/fileTaskDetail

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsInteger[]是
├─taskId1Integer是任务ID

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]任务列表详情
├─ taskId1Integer子任务ID
├─ appId134Long应用id
├─ fileUniqueIde2c07491309858c5cade4bfc44c03724String⽂件唯⼀标识
├─ fileNamexx.apkString文件名称
├─ taskStatus2Integer任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
├─ endTime1713429401000Long子任务结束时间戳

请求示例

{
	"taskIds":[
		1,2
	]
}

响应示例

{
	"code": 200,
	"msg": "success",
	"ts": 1716283460673,
	"data": [
		{
			"taskId": 1,
			"appId": 134,
			"fileUniqueId": "e2c07491309858c5cade4bfc44c03724",
			"fileName": "xx.apk",
			"taskStatus": 2,
			"endTime": 1713429401000
		},
		{
			"taskId": 2,
			"appId": 135,
			"fileUniqueId": "e2c07491309858c5cade4bfc43c03725",
			"fileName": "xx.apk",
			"taskStatus": 2,
			"endTime": 1713429401001
		}
	]
}

自动化管理

做自动化任务时请不要操作云机,去做重启、重置、升级镜像、换机等操作云机的业务,否则会影响自动化任务。

自动化任务列表查询

自动化任务列表查询。

接口地址

/vcpcloud/api/padApi/autoTaskList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsLong[]否任务id数组
taskType1Integer否任务类型:1-登陆 2-编辑资料 3-搜索短视频 4-随机浏览视频 5-发布视频 6-发布图集
page1Integer是页码
rows10Integer是每页记录数

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736327056700Long时间戳
dataObject数据详情
├─ recordsObject[]记录列表
│ ├─ taskId115Integer任务ID
│ ├─ userId14114Integer用户ID
│ ├─ equipmentId106588Integer设备编号
│ ├─ padCodeAC32010180421String实例编号
│ ├─ padNamezzzzzString实例名称
│ ├─ taskType1Integer任务类型:1-登陆 2-编辑资料 3-搜索短视频 4-随机浏览视频 5-发布视频 6-发布图集
│ ├─ taskNametestAddString任务名称
│ ├─ executionStatus0Integer执行状态:-2取消任务 -1 执行失败 0-待执行 1-执行中 2-执行成功
│ ├─ plannedExecutionTime2025-01-09 00:00:00String计划执行时间
│ ├─ executionEndTimenullString执行结束时间
│ ├─ createdTime2025-01-08 14:25:01String创建时间
│ ├─ failureReasonnullString失败原因
├─ total46Integer总记录数
├─ size10Integer每页记录数
├─ current1Integer当前页码
├─ pages5Integer总页数

请求示例

{
    "page": 1,
    "rows": 10
}

响应示例

{
	"msg": "success",
	"code": 200,
	"data": {
		"records": [
			{
				"id": 121,
				"taskId": 121,
				"userId": 14114,
				"equipmentId": 106653,
				"padCode": "AC32010180522",
				"padName": "V04",
				"taskType": 1,
				"taskName": "testAdd",
				"executionStatus": 2,
				"plannedExecutionTime": "2025-01-08 18:02:00",
				"executionEndTime": "2025-01-08 18:08:11",
				"createdTime": "2025-01-08 18:01:03",
				"failureReason": null
			}
		],
		"total": 46,
		"size": 10,
		"current": 1,
		"pages": 5
	},
	"ts": 1736331989341
}

创建自动化任务

创建自动化任务。设备编号一定要传对(云手机列表接口有返回设备编号)。任务主要绑定在设备编号上,如果执行前操作了换机也不会影响设备丢失任务。(异步,会检测云机是否有下载TK应用,未下载会自动下载TK应用后再去执行任务。下载TK和执行任务期间勿手动操作云机),不同任务传参的请求不一致会有示例。

接口地址

/vcpcloud/api/padApi/addAutoTask

请求方式

POST

请求数据类型

application/json

登陆任务请求Body参数示例

参数名示例值参数类型是否必填参数描述
taskNametestAddString是任务名称
remarks测试String否备注
taskType1Integer是任务类型:1-登陆 2-编辑资料 3-搜索短视频 4-随机浏览视频 5-发布视频 6-发布图集 7-视频点赞评论 8-直播加热
listObject[]是任务列表
├─ equipmentId106653Integer是设备编号
├─ padCodeAC32010180522String是实例编号
├─ plannedExecutionTime2025-01-08 17:20:00String是计划执行时间
├─ addInfo参考请求示例JSONObject是任务参数(注:许按不同任务类型对应的格式填,否则任务失败)

请求示例

{
    "taskName": "testAdd",
    "remarks": "测试",
    "taskType": 1,
    "list": [
        {
            "equipmentId": 106653,
            "padCode": "AC32010180522",
            "plannedExecutionTime": "2025-01-08 17:20:00",
            "addInfo": {
                "password": "zhouxi12....",
                "username": "zzx833454@gmail.com"
            }
        }
    ]
}

登陆任务参数(任务类型-taskType:1)

参数名示例值参数类型是否必填参数描述
passwordzzxxxx@gmail.comString是账号
usernamezzxxxx@gmail.comString是密码

编辑资料任务参数(任务类型-taskType:2)

参数名示例值参数类型是否必填参数描述
linkhttps://xxxx.pngString是头像地址 大于 250x250
usernametestString是名称

搜索短视频任务参数(任务类型-taskType:3)

参数名示例值参数类型是否必填参数描述
tag标题String是标签
timeout10Integer是观看时长(秒) 注:最多2小时,否则任务超时失败

随机浏览视频任务参数(任务类型-taskType:4)

参数名示例值参数类型是否必填参数描述
timeout10Integer是观看时长(秒) 注:最多2小时,否则任务超时失败
tag“”String否标签

发布视频任务参数(任务类型-taskType:5)

参数名示例值参数类型是否必填参数描述
linkhttps://xxxxString否视频oss地址
copywritingtestString是文案
productIdnullString否商品id

发布图集任务参数(任务类型-taskType:6)

参数名示例值参数类型是否必填参数描述
links[https://xxxx]array[String]是图片oss地址 最多十张
copywritingtestString是文案
bgmbgmString是背景音乐名称

视频点赞评论任务参数(任务类型-taskType:7)

参数名示例值参数类型是否必填参数描述
timeout10Integer是观看时长(秒) 注:最多2小时,否则任务超时失败
tag“”String否标签
contents["wow"]array[String]否评论内容 注:目前仅支持1个,后续扩展

直播加热任务参数(任务类型-taskType:8)

参数名示例值参数类型是否必填参数描述
timeout10Integer是观看时长(秒) 注:最多2小时,否则任务超时失败
liveRoomId“xlavandulax”String是主播ID
contents"wow"String是评论内容

响应参数

参数名示例值参数类型参数描述
code0Integer状态码:0-成功
msgsuccessString响应消息
ts1736327056700Long时间戳
dataObject {}子任务列表详情
├─ taskIdsLong[]任务ID数组

响应示例

{
	"msg": "success",
	"code": 200,
	"taskIds": [
		116
	],
	"ts": 1736327380399
}

自动化任务重试

自动化任务重试。

接口地址

/vcpcloud/api/padApi/reExecutionAutoTask

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsLong[]是任务ID数组
plannedExecutionTime2025-01-08 17:30:00Date是计划执行时间

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
dataObject {}子任务列表详情
ts1736327056700Long时间戳
├─ taskIdsLong[]新任务ID数组

请求示例

{
    "taskIds": [
        109
    ],
    "plannedExecutionTime": "2025-01-08 17:30:00"
}

响应示例

{
	"msg": "success",
	"code": 200,
	"taskIds": [
		118
	],
	"ts": 1736327771611
}

自动化任务取消

自动化任务取消。

接口地址

/vcpcloud/api/padApi/cancelAutoTask

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
taskIdsLong[]是任务ID数组

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736327056700Long时间戳

请求示例

{
    "taskIds": [
        118
    ]
}

响应示例

{
	"msg": "success",
	"code": 200,
	"ts": 1736327841671
}

云手机管理

新建/续费云手机

新建/续费云手机。(注意购买的商品套餐需在网页端是存在的,否则购买失败)

接口地址

/vcpcloud/api/padApi/createMoneyOrder

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
androidVersionNameAndroid13String是Android 版本:Android10、Android13、Android14
goodId1Integer是商品Id(对应 sku套餐列表的商品ID值-> goodTimes的.id)
goodNum1Integer是商品数量
autoRenewtrueBoolean是是否自动续费(默认开启)true-开启、false-关闭
equipmentId106626,106627String是(新购设备无需填写,续费设备必须填写)续费设备编号 (多台设备以逗号分割)

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]数据列表
├─ id7644Integer数据唯一标识
├─ orderIdVMOS-CLOUD173630666722957907String订单编号
├─ equipmentId106662Integer设备ID
├─ createTime2025-01-08 11:24:31String创建时间
├─ creater14114String创建人
ts1736306672346Long时间戳

请求示例

{
    "androidVersionName": "Android13",
    "goodId": 1,
    "goodNum": 1,
    "autoRenew": true
}

响应示例

{
	"msg": "success",
	"code": 200,
	"data": [
		{
			"id": 7644,
			"orderId": "VMOS-CLOUD173630666722957907",
			"equipmentId": 106662,
			"createTime": "2025-01-08 11:24:31",
			"creater": "14114"
		}
	],
	"ts": 1736306672346
}

云机模拟触控

云机模拟触控接口,结果可以通过 实例操作任务详情 接口查询。

接口地址

/vcpcloud/api/padApi/simulateTouch

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesObject[]是需要触发点击的实例编码
├─ ACP250329MMRFCCTString是设备编号
width1080Integer是触控容器宽度
height1920Integer是触控容器高度
positionsObject[]是触控坐标集合
├─ actionType1Integer是操作类型(0:按下;1:抬起;2:触摸中)
├─ x100float是点击的x坐标
├─ y100float是点击的y坐标
├─ nextPositionWaitTime100Integer是多组坐标时,触发下一组点击坐标的等待间隔时间ms毫秒值

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]数据列表
├─ padCodeACP250329MMRFCCTString实例编号
├─ taskId10004759Long任务id
├─ vmStatus0Integer实例在线状态(0:离线;1:在线)

请求示例

{
    "padCodes": [
        "ACP250329MMRFCCT"
    ],
    "width": 1080,
    "height": 1920,
    "positions": [
        {
            "actionType": 0,
            "x": 100,
            "y": 100,
            "nextPositionWaitTime": 20
        },
        {
            "actionType": 2,
            "x": 110,
            "y": 110,
            "nextPositionWaitTime": 22
        },
        {
            "actionType": 2,
            "x": 120,
            "y": 120,
            "nextPositionWaitTime": 23
        },
        {
            "actionType": 1,
            "x": 120,
            "y": 120
        }
    ]
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1743676563784,
    "data": [
        {
            "taskId": 100059,
            "padCode": "ACP250329MMRFCCT",
            "vmStatus": 0
        },
        {
            "taskId": 100060,
            "padCode": "ACP250329MMRFCCT",
            "vmStatus": 0
        }
    ]
}

安卓镜像版本集合

获取当前设备可以升级的镜像集合

接口地址

/vcpcloud/api/padApi/imageVersionList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeACP250329MMRFCCTString是设备编号

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]数据列表
├─ nowImgIdimg-25033129396String当前设备镜像版本ID
├─ hasNewVersionfalseBoolean是否存在可以升级的镜像版本
├─ imageVersionListObject[]镜像版本列表
├─├─ imageIdimg-25033129396String镜像版本ID
├─├─ version20250401Integer镜像版本
├─├─ versionName20250401String镜像版本名称
├─├─ publishTypereleasedString发布类型:released-稳定、beta-最新
├─├─ imageIllustrateFixed the issue that the Coffee Meet Begal app cannot activate location servicesString镜像更新说明
├─├─ romSdkint14Integer安卓版本Code
├─├─ romSdkNameAndroid 14String安卓版本说明

请求示例

{
    "padCode": "ACP250329MMRFCCT"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
    "nowImgId": "img-25033129396",
    "imageManageList": [
            {
                "imageId": "img-25040148674",
                "version": 20250401,
                "versionName": "20250401",
                "publishType": "released",
                "imageIllustrate": "Fixed the issue that the Coffee Meet Begal app cannot activate location services",
                "romSdkint": 34,
                "romSdkName": "Android 14"
            },
            {
                "imageId": "img-25033136513",
                "version": 20250331,
                "versionName": "20250331",
                "publishType": "released",
                "imageIllustrate": "Expand the tool model to add a blacklist",
                "romSdkint": 34,
                "romSdkName": "Android 14"
            },
            {
                "imageId": "img-25040129277",
                "version": 20250401,
                "versionName": "20250401",
                "publishType": "released",
                "imageIllustrate": "termux supports root",
                "romSdkint": 29,
                "romSdkName": "Android 10"
            },
            {
                "imageId": "img-25040872272",
                "version": 30000013,
                "versionName": "30000013",
                "publishType": "beta",
                "imageIllustrate": "B",
                "romSdkint": 33,
                "romSdkName": "Android 13"
            },
            {
                "imageId": "img-25032893685",
                "version": 20250328,
                "versionName": "20250328",
                "publishType": "released",
                "imageIllustrate": "1.tools add language",
                "romSdkint": 33,
                "romSdkName": "Android 13"
            }
        ],
        "hasNewVersion": false
    },
    "ts": 1744181920213
}

设备预售购买

当库存不足时,可通过该接口预订购买设备(仅适用于租期30天及以上的云手机商品)。一旦库存恢复,系统将优先处理预售订单并自动发货。订单发货后,用户将收到邮件通知,并额外获赠1天使用时长。

接口地址

/vcpcloud/api/padApi/createMoneyProOrder

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
androidVersionNameAndroid13String是Android 版本:Android10、Android13、Android14
goodId1Integer是商品Id(对应 sku套餐列表的商品ID值)
goodNum1Integer是商品数量
autoRenewtrueBoolean是是否自动续费(默认关闭)true-开启、false-关闭

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataVMOS-CLOUD174290228048631464String预售订单编号

请求示例

{
    "androidVersionName": "Android13",
    "goodId": 75,
    "goodNum": 1,
    "autoRenew": true
}

响应示例

{
	"msg": "success",
	"code": 200,
	"data": "VMOS-CLOUD174290228048631464",
	"ts": 1736306672346
}

查询预售订单结果详情

查询预售订单结果详情。可支持通过预售订单号、订单状态(1-待发货 2-已发货 为空默认全部)的方式进行查询

接口地址

/vcpcloud/api/padApi/queryProOrderList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
proBuyStatus2Integer否1-待发货 2-已发货 为空默认全部
orderIdVMOS-CLOUD174290228048631464Integer否预售订单号

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]数据列表
├─ proBuyOrderIdVMOS-CLOUD174290228048631464String订单编号
├─ proBuyStatus2Integer1-待发货 2-已发货
├─ proBuyNumber1Integer购买数量
├─ createTime2025-03-25 19:31:21String创建时间
├─ payTime2025-03-25 19:31:21String支付时间
├─ endTime2025-03-25 19:41:33String发货时间
├─ orderPrice1399Integer订单金额(美分)
├─ goodNameSamsung Galaxy A53String设备名称
ts1736306672346Long时间戳

请求示例

{
    "proBuyStatus": "2",
    "orderId": "VMOS-CLOUD174290228048631464"
}

响应示例

{
    "msg": "success",
        "code": 200,
        "data": [
        {
            "proBuyOrderId": "VMOS-CLOUD174290228048631464",
            "proBuyStatus": 2,
            "proBuyNumber": 1,
            "createTime": "2025-03-25 19:31:21",
            "payTime": "2025-03-25 19:31:21",
            "endTime": "2025-03-25 19:41:33",
            "orderPrice": 499,
            "goodName": "V08"
        },
        {
            "proBuyOrderId": "VMOS-CLOUD174323615535421664",
            "proBuyStatus": 2,
            "proBuyNumber": 1,
            "createTime": "2025-03-29 16:16:22",
            "payTime": "2025-03-29 16:16:22",
            "endTime": "2025-03-29 16:18:03",
            "orderPrice": 1399,
            "goodName": "Samsung Galaxy A53"
        }
    ],
        "ts": 1743239203460
}

云手机列表

云手机列表。

接口地址

/vcpcloud/api/padApi/userPadList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodenullString否实例编号
equipmentIdsInteger[]否设备编号数组

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1736235894274Long时间戳
dataObject[]数据列表
├─ padCodeAC32010180421String云机编号 (ACN开头的均为计时设备)
├─ deviceIp172.30.5.43String云机物理机IP
├─ padIp10.254.21.225String云机I虚拟P
├─ cvmStatus100Integer云机状态 100-正常 101-截图中 102-重启中 103-重置中 104-异常
├─ screenshotLinkhttps://XXXXXX.pngString云机截图链接
├─ equipmentId106626Integer设备编号
├─ userId14114Integer用户ID
├─ status1Integer设备状态 1-运行中 2-关机 3-开机中
├─ padNameV08String云机显示名称
├─ bootTime1735643626263Long云机使用时长
├─ cumulativeUseTimenullObject设备累计使用时间
├─ lastBackupTimenullObject上次备份时间
├─ maintainContentnullObject维护内容
├─ goodId1Integer商品ID
├─ goodNamei18n_Android13-V08String商品名称
├─ signExpirationTime2025-01-31 19:13:46String签约云机到期时间
├─ signExpirationTimeTamp1738322026000Long签约云机到期时间戳
├─ supplierType5String供应商类型
├─ androidVersionAvatarhttps://XXXX.pngStringAndroid版本头像
├─ configNameV08String商品型号名称
├─ androidVersionAvatar2https://XXX.pngStringAndroid版本头像2
├─ androidVersionAvatar3https://XXX.pngStringAndroid版本头像3
├─ androidVersion13StringAndroid版本
├─ authorizedUserIdnullObject授权用户ID
├─ authorizedExpirationTimenullObject授权过期时间
├─ authorizedExpirationTimeTampnullObject授权过期时间戳
├─ changeConfig1Integer支持更配 0-否 1-是
├─ createTime2024-12-31 19:13:46String创建时间
├─ proxyIpnullObject代理IP地址
├─ remarkString备注
├─ proxyIdnullObject代理IP信息
├─ ipAddressnullObjectIP归属地
├─ publicIpnullObject出口IP
├─ groupNamenullObject分组名称
├─ groupSortnullObject分组排序

云机状态

状态值参数描述
99加载中 (Loading)
100正常 (Normal)
101获取截图中 (Getting Screenshot)
102重启中 (Rebooting)
103重置中 (Resetting)
104重启失败 (Reboot Failed)
105重置失败 (Reset Failed)
106维护 (Maintenance)
107镜像升级中 (Upgrading Image)
108实例迁移中 (Migrating Instance)
109实例迁移失败 (Migration Failed)
111设备更配中 (Device Configuration)
112反诈封禁 (Anti-Fraud Lockdown)
113升降配 (Config Change)
114超卖中 (Over Selling)
115换区中 (Changing Zone)
116清理内存中 (Cleaning Memory)
119云机初始化中 (Initializing Cloud Machine)
120一键新机初始化中 (One-click New Machine Initialization)
121任务执行中 (Task Execution in Progress)
201备份中 (Backing Up)
202还原中 (Restoring)

请求示例

{
    "padCode": null,
    "equipmentIds": [
        106626
    ]
}

响应示例

{
  "msg": "success",
  "code": 200,
  "ts": 1736235894274,
  "data": [
    {
      "padCode": "AC32010180421",
      "deviceIp": "172.30.5.43",
      "padIp": "10.254.21.225",
      "cvmStatus": 100,
      "screenshotLink": "https://XXXXXX.png",
      "equipmentId": 106626,
      "userId": 14114,
      "status": 1,
      "padName": "V08",
      "bootTime": 1735643626263,
      "cumulativeUseTime": null,
      "lastBackupTime": null,
      "maintainContent": null,
      "goodId": 1,
      "goodName": "i18n_Android13-V08",
      "signExpirationTime": "2025-01-31 19:13:46",
      "signExpirationTimeTamp": 1738322026000,
      "supplierType": "5",
      "androidVersionAvatar": "https://XXXX.png",
      "configName": "V08",
      "androidVersionAvatar2": "https://XXX.png",
      "androidVersionAvatar3": "https://XXX.png",
      "androidVersion": "13",
      "authorizedUserId": null,
      "authorizedExpirationTime": null,
      "authorizedExpirationTimeTamp": null,
      "changeConfig": 1,
      "createTime": "2024-12-31 19:13:46",
      "proxyIp": null,
      "remark": "",
      "proxyId": null,
      "ipAddress": null,
      "publicIp": null,
      "groupName": null,
      "groupSort": null
    }
  ]
}

云手机信息查询

云手机信息查询。

接口地址

/vcpcloud/api/padApi/padInfo

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC32010180421String是实例编号

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject响应数据
├─ explainEnglishString语言-说明
├─ simCountrySGStringSIM卡国家
├─ countrySGString国家
├─ padCodeAC32010180421String实例编号
├─ padTypeV08String设备机型
├─ bluetoothAddress3A:1F:4B:9C:2D:8EString蓝牙地址
├─ initializationData{"explain":"English","country":"SG","simJson":{"simCountry":"SG","operatorShortname":"M1","imei":"979706209497838","imsi":"525036719631842","phonenum":"6510633153","operatorNumeric":"52503"},"latitude":"1.3398","timeZone":"Asia/Singapore","language":"en","longitude":"103.6967"}String设备信息集合
├─ latitude1.3398String纬度
├─ ipAddressHong KongStringIP地址
├─ timeZoneAsia/SingaporeString时区
├─ publicIp192.169.96.14String出口IP
├─ phoneNumber+6510633153String虚拟号码
├─ androidVersionAndroid13StringAndroid版本
├─ wlanMac4c:7f:11:2f:a6:ccStringWLAN MAC地址
├─ padNameV08StringPad名称
├─ simIsoM1StringSIM卡ISO
├─ longitude103.6967String经度
├─ operatorNumeric52503Integer运营商编号
├─ padImei525036719631842StringIMEI
ts1736239152927Long时间戳

请求示例

{
    "padCode": null
}

响应示例

{
	"msg": "success",
	"code": 200,
	"data": {
		"explain": "English",
		"simCountry": "SG",
		"country": "SG",
		"padCode": "AC32010180421",
		"padType": "V08",
		"bluetoothAddress": "3A:1F:4B:9C:2D:8E",
		"initializationData": "{\"explain\":\"English\",\"country\":\"SG\",\"simJson\":{\"simCountry\":\"SG\",\"operatorShortname\":\"M1\",\"imei\":\"979706209497838\",\"imsi\":\"525036719631842\",\"phonenum\":\"6510633153\",\"operatorNumeric\":\"52503\"},\"latitude\":\"1.3398\",\"timeZone\":\"Asia/Singapore\",\"language\":\"en\",\"longitude\":\"103.6967\"}",
		"latitude": "1.3398",
		"ipAddress": "Hong Kong",
		"timeZone": "Asia/Singapore",
		"publicIp": "192.169.96.14",
		"phoneNumber": "+6510633153",
		"androidVersion": "Android13",
		"wlanMac": "4c:7f:11:2f:a6:cc",
		"padName": "V08",
		"simIso": "M1",
		"longitude": "103.6967",
		"operatorNumeric": 52503,
		"padImei": "525036719631842"
	},
	"ts": 1736239152927
}

创建计时设备订单

创建计时设备订单,购买计时设备

接口地址

/vcpcloud/api/padApi/createByTimingOrder

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
goodId1Integer是商品Id(对应 sku套餐列表的商品ID值-> timingGoodTimes.id
goodNum1Integer是商品数量

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataString[]购买的计时设备实例
├─ padCodeACN250424VU2F6LBString实例编号

请求示例

{
    "goodId": 1,
    "goodNum": 1
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        "ACN250424VU2F6LB"
    ],
    "ts": 1745562924759
}

计时设备开机

计时设备开机, 支持开机为新机、按照指定备份资源包进行开机

接口地址

/vcpcloud/api/padApi/timingPadOn

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例编号集合
├─ padCodeACN250424VU2F6LBString是实例编号
defCode1Integer否是否开机为新机 0-否 1-是 默认为0 优先级高
netStorageResUnitCodeZSC250423CVEY7CP-ACN2504235BZK2XWString否指定开机的备份资源包ID 优先级低

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
datafalseBoolean当天是否存在扣费满1美金的设备,如果存在,该设备将不再扣费

请求示例

{
    "padCodes": [
        "ACN250424VU2F6LB"
    ],
    "defCode": 0,
    "netStorageResUnitCode": "ZSC250423CVEY7CP-ACN2504235BZK2XW"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": false,
    "ts": 1745568308881
}

计时设备关机

计时设备关机,支持备份当前实例,备份包支持自定义备注名称

接口地址

/vcpcloud/api/padApi/timingPadOff

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例编号集合
├─ padCodeACN250424VU2F6LBString是实例编号
isBackUp1Integer否是否备份 0-否 1-是 默认备份
remark备份包说明String否给当前需要备份的资源包添加说明

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

{
    "padCodes": [
        "ACN250424VU2F6LB"
    ],
    "isBackUp": 1,
    "remark": "备份包说明"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

计时设备销毁

计时设备销毁,计时设备销毁并不会删除备份的资源包

接口地址

/vcpcloud/api/padApi/timingPadDel

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是实例编号集合
├─ padCodeACN250424VU2F6LBString是实例编号

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

{
    "padCodes": [
        "ACN250424VU2F6LB"
    ]
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

sku套餐列表

sku套餐列表。

接口地址

/vcpcloud/api/padApi/getCloudGoodList

请求方式

GET

请求数据类型

application/json

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject响应数据
├─ androidVersionNameAndroid13StringAndroid 版本名称
├─ cloudGoodsInfoObjectsku套餐信息
│ ├─ configsList商品型号信息
│ │ ├─ configNameSamsung s23 ultraString商品型号名称
│ │ ├─ sellOutFlagfalseBoolean包月设备是否售罄
│ │ ├─ timingSellOutFlagfalseBoolean计时设备是否售罄
│ │ ├─ configBlurb顶尖科技,媲美真机至尊体验!String商品型号描述
│ │ ├─ defaultSelectionfalseBoolean是否默认选中包月设备
│ │ ├─ defaultTimeSelectionfalseBoolean是否默认选中计时设备
│ │ ├─ reorder0Integer排序
│ │ ├─ goodTimesList包月商品价格卡
│ │ │ ├─ oldGoodPrice100Integer原价
│ │ │ ├─ showContent1天String商品时长名称
│ │ │ ├─ whetherFirstPurchasetrueBoolean是否为首次购买
│ │ │ ├─ reorder1Integer排序
│ │ │ ├─ goodPrice100Integer商品价格
│ │ │ ├─ equipmentNumber1Integer商品发货设备数量
│ │ │ ├─ goodTime1440Integer商品时长(分钟)
│ │ │ ├─ autoRenewtrueBoolean是否支持自动续订
│ │ │ ├─ recommendContent首购特惠String推荐内容
│ │ │ ├─ id27Integer商品 ID
│ │ ├─ timingGoodTimesList计时商品价格卡
│ │ │ ├─ oldGoodPrice100Integer原价
│ │ │ ├─ showContent1天String商品时长名称
│ │ │ ├─ whetherFirstPurchasetrueBoolean是否为首次购买
│ │ │ ├─ reorder1Integer排序
│ │ │ ├─ goodPrice100Integer商品价格
│ │ │ ├─ equipmentNumber1Integer商品发货设备数量
│ │ │ ├─ goodTime1440Integer商品时长(分钟)
│ │ │ ├─ autoRenewtrueBoolean是否支持自动续订
│ │ │ ├─ recommendContent首购特惠String推荐内容
│ │ │ ├─ id1Integer商品 ID
ts1737440589859Long时间戳

响应示例

{
    "msg": "success",
        "code": 200,
        "data": [
        {
            "androidVersionName": "Android13",
            "cloudGoodsInfo": {
                "configs": [
                    {
                        "configName": "Samsung s23 ultra",
                        "sellOutFlag": false,
                        "configBlurb": "顶尖科技,媲美真机至尊体验!",
                        "defaultSelection": false,
                        "reorder": 0,
                        "goodTimes": [
                            {
                                "oldGoodPrice": 100,
                                "showContent": "1天",
                                "whetherFirstPurchase": true,
                                "reorder": 1,
                                "goodPrice": 100,
                                "equipmentNumber": 1,
                                "goodTime": 1440,
                                "autoRenew": true,
                                "recommendContent": "首购特惠",
                                "id": 27
                            }
                        ],
                        "timingGoodTimes": [
                            {
                                "oldGoodPrice": 15,
                                "goodTime": 15,
                                "defaultSelection": false,
                                "showContent": "15 minutes",
                                "whetherFirstPurchase": false,
                                "chargeType": 2,
                                "currentPrice": 9,
                                "recommendContent": "40% off",
                                "reorder": 1,
                                "id": 1,
                                "goodPrice": 9,
                                "equipmentNumber": 1
                            }
                        ]
                    }
                ],
                "goodId": 1
            }
        }
    ],
        "ts": 1737440589859
}

显示或隐藏应用进程

接口地址

/vcpcloud/api/padApi/toggleProcessHide

请求方式

POST

请求数据类型

application/json

请求BODY参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22010020062String是实例编号
showfalseBoolean是隐藏进程: true-隐藏 false-恢复
packageNamecom.facebook.katanaString是应用包名

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码

请求示例

{
    "padCodes": [
        "AC32010601132"
    ],
    "show": false,
    "packageName": "com.facebook.katana"
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1736326542985
}

导入通话记录

此接口允许将通话记录数据导入至云手机中。接口在导入过程中,会自动检测云手机通讯录中已保存的联系人,并将这些联系人对应的名称显示在通话记录中,便于用户快速识别联系人。

接口地址

/vcpcloud/api/padApi/addPhoneRecord

请求方式

POST

请求数据类型

application/json

请求BODY参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC32010601132String是实例编号
callRecordsObject[]是
├─number13900000000String是电话号码
├─inputType1Integer是通话类型(1:拨出;2:接听;3:未接)
├─duration62Integer是通话时长;单位是秒,未接电话是0秒
├─timeString2025-05-08 12:30:00String是通话时长

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─padCodeAC32010601132String实例编号
├─taskId10004759Long任务id
├─vmStatus0String实例在线状态

请求示例

{
    "padCodes": [
        "AC32010601132"
    ],
    "callRecords": [
        {
            "number": "18009781201",
            "inputType": 1,
            "duration": 30,
            "timeString": "2025-05-06 14:00:09"
        },
        {
            "number": "18009781202",
            "inputType": 2,
            "duration": 60,
            "timeString": "2025-05-07 14:00:09"
        },
        {
            "number": "18009781203",
            "inputType": 3,
            "duration": 0
        }
    ]
}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts": 1743676563784,
    "data": [
        {
            "taskId": 100059,
            "padCode": "AC32010601132",
            "vmStatus": 0
        }
    ]
}

指定输入框文本输入

在云机中预先聚焦好输入框,调用完接口后,文本信息展示在云机指定位置。需要预先在云机中定位到输入位置,否则无法生效

接口地址

/vcpcloud/api/padApi/inputText

请求方式

POST

请求数据类型

application/json

请求BODY参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC32010601132String是实例编号
textHello WorldString是输入文本

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─padCodeAC32010601132String实例编号
├─taskId10004759Long任务id

请求示例

{
    "padCodes": [
        "AC32010601132"
    ],
    "text": "Hello World"
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1743676563784,
        "data": [
        {
            "taskId": 100059,
            "padCode": "AC32010601132"
        }
    ]
}

云空间

查询用户的文件列表

接口地址

/vcpcloud/api/padApi/selectFiles

请求方式

POST

请求数据类型

application/json

请求Body参数

无

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject[]返回体
├─appName快手极速版String文件名称
├─downloadUrlhttps://file.vmoscloud.com/userFile/fd31c45b5a7c3e6249c7d1b1dca6ff77.apkString文件下载链接
├─packageNamecom.kuaishou.nebulaStringAPK包名,只有ap文件才有
├─fileId479472Integet云空间文件编号

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "appName": "快手极速版",
            "downloadUrl": "https://file.vmoscloud.com/userFile/fd31c45b5a7c3e6249c7d1b1dca6ff77.apk",
            "packageName": "com.kuaishou.nebula",
            "fileId": 479472
        }
    ],
    "ts": 1746711010676
}

删除云空间文件

接口地址

/vcpcloud/api/padApi/deleteOssFiles

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
filesInteger[]是云空间文件唯一编号集合
├─479452String是云空间文件唯一编号
urlsString[]否云空间文件url地址集合
├─479452String否Cloud space file download link

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳

请求示例

{
    "files": [479452]
}

响应示例

{
    "msg:: "success",
    "code": 200,
    "ts": 1746694236404
}

上传文件到云空间

上传文件到云空间并获取下载链接

接口地址

/vcpcloud/api/padApi/uploadFile

请求方式

POST

请求数据类型

multipart/form-data

body 注意是 form 不是 json

请求 form-data 参数

参数名示例值参数类型是否必填参数描述
fileFourSeasonsPhilly.webpFile是需要上传的文件

响应参数

参数名示例值参数类型参数描述
code200Integer状态码
msgsuccessString响应消息
ts1756021167163Long时间戳
dataObject返回体
├─downloadUrlhttps://file.vmoscloud.com/userFile/83bb260163f78e6928c1fe5acda.webpString文件下载链接

请求示例

curl --request POST \
  --url /vcpcloud/api/padApi/uploadFile \
  --header 'accept-language: zh' \
  --header 'content-type: multipart/form-data' \
  --form 'file=@C:\FourSeasonsPhilly.webp'

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "downloadUrl": "https://file.vmoscloud.com/userFile/83bb260163f78e6928c1fe5acda.webp"
    },
    "ts": 1746704760360
}

购买云空间扩容

购买云空间扩容

接口地址

/vcpcloud/api/padApi/buyStorageGoods

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
storageId1Integer是云空间扩容商品唯一ID
autoRenewOrder0Integer是是否自动续费 0-否 1-是

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

{
    "storageId": 1,
    "autoRenewOrder": 0
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

存储资源包列表

关机备份后的存储资源包列表

接口地址

/vcpcloud/api/padApi/vcTimingBackupList

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]资源包集合信息
├─ backupIdZSC250425LIOJY2V-ACN250424VU2F6LBString备份资源包编号
├─ padCodeACN250424VU2F6LBString备份包所属设备
├─ beginTime2025-04-25 16:28:48String备份时间
├─ remarkTime:20250425162833String备份说明 ,备份时有传入remar就会使用自定义的,否则默认就是备份时间
├─ padNameV06String自定义的设备名称,用来快速区分和查找资源包

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "backupId": "ZSC250425LIOJY2V-ACN250424VU2F6LB",
            "padCode": "ACN250424VU2F6LB",
            "beginTime": "2025-04-25 16:28:48",
            "remark": "Time:20250425162833",
            "padName": "V06"
        }
    ],
    "ts": 1745570858994
}

云空间商品列表

云空间商品列表

接口地址

/vcpcloud/api/padApi/getVcStorageGoods

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]资源包集合信息
├─ oldPrice169Long商品原价
├─ payPrice169Long折扣后售卖价格
├─ subscriptTips85折String折扣说明
├─ useTime43200Long有效分钟数
├─ storageCapacity107374182400Long对应云空间大小
├─ storageId1Integer云空间商品唯一ID
├─ storageName100GB/月String云空间商品说明

响应示例

{
    "msg": "success",
        "code": 200,
        "data": [
            {
                "oldPrice": 199,
                "payPrice": 169,
                "subscriptTips": "85折",
                "useTime": 43200,
                "reorder": 1,
                "storageCapacity": 107374182400,
                "selected": true,
                "storageId": 1,
                "storageName": "100GB/月"
            }
        ],
        "ts": 1745572789763
}

聚合续费云空间商品

聚合续费云空间商品

接口地址

/vcpcloud/api/padApi/renewsStorageGoods

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
autoRenewOrder0Integer是是否自动续费 0-否 1-是

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

{
    "autoRenewOrder": 0
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

删除备份资源包数据

删除备份资源包数据

接口地址

/vcpcloud/api/padApi/deleteUploadFiles

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
String[]是要删除的资源包ID集合
├─ZSC250425LIOJY2V-ACN250424VU2F6LBString是要删除的资源包ID

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

[
    "ZSC250425LIOJY2V-ACN250424VU2F6LB"
]

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

云空间自动续费聚合商品开关

云空间自动续费聚合商品开关

接口地址

/vcpcloud/api/padApi/updateRenewStorageStatus

请求方式

GET

请求数据类型

application/json

请求Query参数

参数名示例值参数类型是否必填参数描述
renewStorageStatusfalseString是是否自动续费 false-否 true-是

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745569714501Long执行时间戳

请求示例

/vcpcloud/api/padApi/updateRenewStorageStatus?renewStorageStatus=false

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745569714501
}

云空间续费详情查询

云空间续费详情查询

接口地址

/vcpcloud/api/padApi/selectAutoRenew

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject[]续费信息
├─ renewStorageStatus0Integer是否开启自动续费 0-否 1-是
├─ storageSize214748364800Long续费云空间的总大小
├─ storageAmount338Long续费所需金额(美分)
├─ signExpirationTime2025-05-10 19:22:35String有效时间

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "renewStorageStatus": 0,
        "storageSize": 214748364800,
        "storageAmount": 338,
        "signExpirationTime": "2025-05-10 19:22:35"
    },
    "ts": 1745573906608
}

云空间存储剩余容量

云空间存储剩余容量

接口地址

/vcpcloud/api/padApi/getRenewStorageInfo

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject资源包集合信息
├─ accountBalance100Long钱包余额 (美分)
├─ storageCapacityLimit112742891520Long用可用空间大小 1GB = 1024 x 1024 x 1024 Byte
├─ storageUsedAvail17325201433Long已使用空间大小
├─ otherObject附件空间详情
├─├─ signExpirationTime2025-05-10 19:22:35String附加空间到期时间
├─├─ storageAmount169Long附加空间续费所需金额(美分)
├─├─ otherStorageSize107374182400Long附加空间大小

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "accountBalance": 100,
        "storageCapacityLimit": 112742891520,
        "storageUsedAvail": 17325201433,
        "other": {
            "signExpirationTime": "2025-05-10 19:22:35",
            "storageAmount": 169,
            "otherStorageSize": 107374182400
        }
    },
    "ts": 1745571643583
}

静态住宅服务

获取静态住宅商品列表

接口地址

/vcpcloud/api/padApi/proxyGoodList

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─proxyGoodName5 daysString商品名称
├─proxyGoodId1Integer商品唯一编号
├─proxyGoodPrice200Integer商品价格(美分)
├─proxyGoodType2Integer代理商品类型:0-通用 1-socket5 2-http 3-https
├─proxyGoodTime7200Integer商品时长(分钟)

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "proxyGoodName": "5 days",
            "proxyGoodId": 4,
            "proxyGoodTime": 7200,
            "proxyGoodType": 2,
            "proxyGoodPrice": 200
        }
    ],
    "ts": 1747734076860
}

获取静态住宅商品支持的国家城市信息

接口地址

/vcpcloud/api/padApi/getProxyRegion

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]
├─countrycnString支持的国家code
├─countryZhChinaString支持的国家说明
├─countryId15Integer国家唯一编号

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "country": "cn",
            "countryZh": "China",
            "countryId": 15
        },
    ],
    "ts": 1747734076860
}

静态住宅商品购买

接口地址

/vcpcloud/api/padApi/createProxyOrder

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
proxyGoodId4Integer对应静态住宅商品的唯一ID
regioncnString静态住宅的地区-country
num1Integer购买数量
countrycnString静态住宅的国家-country
proxyAddressChinaString静态住宅的地址-countryZh
autoRenewtrueBoolean开启自动续费 false-关闭 true-开启

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "proxyGoodId": 4,
    "region": "cn",
    "num": 1,
    "country": "cn",
    "proxyAddress": "China",
    "autoRenew": true
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

静态住宅代理订单明细

接口地址

/vcpcloud/api/padApi/selectProxyOrderList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
page1Integer第几页
rows10Integer每页展示多少条

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject
├─total1Integer条数
├─size10Integer每页展示数
├─pages1Integer总页数
├─recordsObject[]订单信息
├─├─buyNumber1String购买数量
├─├─goodNameNew Purchase5-day agency productString商品名称
├─├─createTime1747734544000Long创建时间
├─├─orderIdVMOS-CLOUD174773454378660285String订单ID
├─├─payPrice200String支付金额
├─├─orderStatusvpnString订单状态 0-待支付 1-已支付
├─├─orderPricecnString订单金额
├─├─goodPriceSichuanString商品单价
├─├─goodNumSichuanString商品数量

请求示例

{
    "page": 1,
    "rows": 10
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "current": 1,
        "total": 30,
        "pages": 3,
        "size": 10,
        "records": [
            {
                "buyNumber": 1,
                "goodName": "New Purchase5-day agency product",
                "createTime": 1747734544000,
                "orderId": "VMOS-CLOUD174773454378660285",
                "payPrice": 200,
                "orderStatus": 1,
                "orderPrice": 200,
                "goodPrice": 200,
                "goodNum": 1
            }
        ]
    },
    "ts": 1747734706973
}

静态住宅代理续费

接口地址

/vcpcloud/api/padApi/createRenewProxyOrder

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
proxyGoodId4Integer对应静态住宅商品的唯一ID
proxyIps154.81.41.161,154.81.41.162String续费的IP,多个以,分割
autoRenewtrueBoolean开启自动续费 false-关闭 true-开启

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "proxyGoodId": 4,
    "proxyIps": "154.81.41.161,154.81.41.162",
    "autoRenew": true
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

查询静态住宅代理列表

接口地址

/vcpcloud/api/padApi/queryProxyList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
current1Integer第几页
size10Integer每页展示多少条

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject
├─total1Integer条数
├─size10Integer每页展示数
├─pages1Integer总页数
├─recordsObject[]订单信息
├─├─proxyStatus1Integer代理状态:0-检测中 1-正常 -1检测失败 2-待检测
├─├─proxyGoodId4String商品ID
├─├─proxyName154.81.40.200Long代理名称
├─├─proxyUseNumber0String挂载云机数
├─├─proxyType1String代理类型:1-Socks5 2-http 3-https
├─├─proxyHost154.81.40.200String订单状态 0-待支付 1-已支付
├─├─proxyPort63007String代理端口(奇数-socks5 偶数-http)63007 (63008)
├─├─passwordxxxxxxString代理密码
├─├─proxyCountryCNString代理所属国家
├─├─expectedExpireTime1748166543String到期时时间戳
├─├─expireTime1748166543String到期时时间戳 (同上,使用 expireTime 即可)
├─├─accountxxxxxxString用户名
├─├─proxyId86930String代理唯一ID (挂载云机使用)

请求示例

{
    "current": 1,
    "size": 10
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "current": 1,
        "total": 30,
        "pages": 3,
        "size": 10,
        "records": [
            {
                "proxyStatus": 2,
                "proxyGoodId": 4,
                "proxyName": "154.81.40.200",
                "proxyUseNumber": 0,
                "proxyType": 1,
                "proxyHost": "154.81.40.200",
                "proxyPort": 63007,
                "password": "xxxxxx",
                "proxyCountry": "CN",
                "expireTime": 1748166543,
                "expectedExpireTime": 1748166543,
                "account": "xxxxxxx",
                "proxyId": 86930
            },
        ]
    },
    "ts": 1747734706973
}

动态代理服务

查询动态代理商品列表

接口地址

/vcpcloud/api/padApi/getDynamicGoodService

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─goodName2GBString商品名称
├─goodId1Integer商品唯一编号
├─goodPrice1String商品价格
├─protocolDescriptionGithubString支持的协议信息
├─totalTrafficObject[]流量包大小

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "goodName": "2GB",
            "goodId": 1,
            "goodPrice": 1000,
            "protocolDescription": "HTTP(S)/SOCKS5",
            "totalTraffic": 2048
        }
    ],
    "ts": 1740643153803
}

查询动态代理地区列表

接口地址

/vcpcloud/api/padApi/getDynamicProxyRegion

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─CountryName阿拉伯联合酋长国String国家名称
├─CountryCodeAEString国家Code
├─StateObject[]地区列表
├─├─cityObject[]城市列表
├─├─├─MusaffahcityString城市名称
├─├─nameAbudhabiString地区名称

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "CountryName": "阿拉伯联合酋长国",
            "CountryCode": "AE",
            "State": [
                {
                    "city": [
                        "Musaffahcity",
                        "Abudhabi"
                    ],
                    "name": "Abudhabi"
                },
            ],
        }
    ],
    "ts": 1740643153803
}

获取动态代理当前余量

接口地址

/vcpcloud/api/padApi/queryCurrentTrafficBalance

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─accumulatedTraffic2048String总流量
├─remainingTraffic1024Object[]剩余流量
├─useTraffic1024Object[]已使用流量

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "accumulatedTraffic": 2048,
        "remainingTraffic": 1024,
        "useTraffic": 1024
    },
    "ts": 1740659529379
}

查询支持的服务器地区

接口地址

/vcpcloud/api/padApi/getDynamicProxyHost

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─nameAmerica Region (South America & North America)String大洲名称
├─valuexxxxxxx:1234String大洲服务器地址

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "name": "America Region (South America & North America)",
            "value": "xxxxxxx:1234"
        }
    ],
        "ts": 1740660551742
}

购买动态代理流量包

接口地址

/vcpcloud/api/padApi/buyDynamicProxy

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
goodId1Integer对应动态流量包的唯一ID
goodNum1Integer购买数量
autoRenewOrder1Integer开启自动续费 0-关闭 1-开启 剩余流量低于50MB时,触发自动续费

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "goodId": 1,
    "goodNum": 1,
    "autoRenewOrder": 0
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

创建动态代理

接口地址

/vcpcloud/api/padApi/createProxy

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
city""String城市 不选要传""
countryCodeAEString国家Code
goodNum1Integer购买数量
proxyHostxxxxx:7778String大洲网址
proxyTypesocks5String代理类型 socks5 / http / https
proxyUseTypeproxyString挂载方式 proxy / vpm
stateAbudhabiString地区 不选要传""
time1String自动更换ip频率 (分钟) 可选 5、10、15、30、45、60、90

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject返回体
├─id82750Integer代理ID
├─proxyHostString动态代理

请求示例

{
    "proxyHost": "xxxxx:7778",
    "countryCode": "CN",
    "state": "Sichuan",
    "city": "Sichuan",
    "time": 5,
    "proxyType": "socks5",
    "proxyUseType": "vpn"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "id": 82750,
            "proxyHost": "E44S5YaWP660_custom_zone_HK_st_Kowloon_city_sid_27165697_time_10"
        }
    ],
    "ts": 1760068573317
}

查询动态代理列表(支持分页)

接口地址

/vcpcloud/api/padApi/getProxys

请求方式

GET

请求数据类型

application/json

请求Query参数

参数名示例值参数类型参数描述
page1Integer当前页
rows10Integer每页条数

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject状态码
├─recordsObject[]动态代理信息
├─├─id1String代理唯一编号
├─├─proxyHostxxxxxxxString大洲服务器域名
├─├─proxyPort1234String大洲服务器端口
├─├─userNameE44S5YaWP660_time_5String动态代理用户名
├─├─password1234String动态代理密码
├─├─proxyTypesocks5String动态代理协议类型
├─├─proxyUseTypevpnString动态代理挂载方式
├─├─countryCodecnString国家Code
├─├─stateSichuanString地区
├─├─citySichuanString城市
├─├─time5Integer刷新频率
├─total1Integer代理条数
├─size10Integer每页展示数
├─pages1Integer总页数

响应示例

{
    "msg": "success",
        "code": 200,
        "data": {
        "records": [
            {
                "id": 1,
                "proxyHost": "xxxxxx",
                "proxyPort": 7778,
                "userName": "E44S5YaW",
                "password": "1111",
                "proxyType": "socks5",
                "proxyUseType": "vpn",
                "countryCode": "cn",
                "state": "Sichuan",
                "city": "Sichuan",
                "time": 5
            }
        ],
        "total": 2,
        "size": 10,
        "current": 1,
        "pages": 1
    },
    "ts": 1740725704758
}

查询动态代理订单列表(支持分页)

接口地址

/vcpcloud/api/padApi/getDynamicProxyOrders

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
page1Integer当前页
rows10Integer每页条数
completeStartTime2025-02-27 23:20:36String支付开始时间
completeEndTime2025-02-28 23:20:36String支付结束时间

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject状态码
├─recordsObject[]动态代理信息
├─├─orderIdVMOS-CLOUD174066963648092563String平台唯一ID
├─├─orderPrice1000Integer订单金额分
├─├─payPrice1000Integer支付金额分
├─├─createTime2025-02-27T23:20:36.000+0800String创建时间
├─├─completeTime2025-02-27T23:20:36.000+0800String支付时间
├─├─orderStatus1Integer订单状态 0-待支付 1-已支付
├─├─goodId1Integer商品唯一ID
├─├─goodNum1Integer购买数量
├─├─goodName2GBString商品名称
├─├─goodPrice1000Integer商品单价
├─├─goodSize2048Integer商品流量包带下
├─├─sumSize2048Integer订单总流量包大小
├─├─orderOtherInfo购买 2GB 流量包,购买数量:1String订单说明
├─├─autoRenewOrder1Integer是否开启续费 1-开启 0-不开 (全局生效)
├─total1Integer代理条数
├─size10Integer每页展示数
├─pages1Integer总页数

请求示例

{
   "page": 1,
   "rows": 10,
   "completeStartTime": "2025-02-27 23:20:36",
   "completeEndTime": "2025-02-28 23:20:36"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
    "records": [
            {
                "orderId": "VMOS-CLOUD174066963648092563",
                "orderPrice": 1000,
                "payPrice": 1000,
                "createTime": "2025-02-27T23:20:36.000+0800",
                "completeTime": "2025-02-27T23:20:36.000+0800",
                "orderStatus": 1,
                "goodId": 1,
                "goodNum": 1,
                "goodName": "2GB",
                "goodPrice": 1000,
                "goodSize": 2048,
                "sumSize": 2048,
                "orderOtherInfo": "购买 2GB 流量包,购买数量:1",
                "autoRenewOrder": 0
            }
        ],
        "total": 2,
        "size": 10,
        "current": 1,
        "pages": 1
    },
    "ts": 1740726141853
}

创建动态代理

接口地址

/vcpcloud/api/padApi/createProxy

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
city""String城市 不选要传""
countryCodeAEString国家Code
goodNum1Integer购买数量
proxyHostxxxxx:7778String大洲网址
proxyTypesocks5String代理类型 socks5 / http / https
proxyUseTypeproxyString挂载方式 proxy / vpm
stateAbudhabiString地区 不选要传""
time1String自动更换ip频率 (分钟) 可选 5、10、15、30、45、60、90

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "proxyHost": "xxxxx:7778",
    "countryCode": "CN",
    "state": "Sichuan",
    "city": "Sichuan",
    "time": 5,
    "proxyType": "socks5",
    "proxyUseType": "vpn"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

云机配置动态代理

接口地址

/vcpcloud/api/padApi/batchPadConfigProxy

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
padCodesString[]云机集合
├─AC32010921223String云机编号
setProxyFlagtrueBoolean是否设备代理到云机
proxyIds[ 82750 ]Array动态代理唯一ID

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
data1cb0ba24-cdc2-47d3-909d-d7ea2ab10576String批次ID

请求示例

{
    "padCodes": [
        "AC32010921223"
    ],
    "setProxyFlag": true,
    "proxyIds":  [
        82750
    ]
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860,
    "data": "1cb0ba24-cdc2-47d3-909d-d7ea2ab10576"
}

查询批量云机设置代理任务

接口地址

/vcpcloud/api/padApi/selectBatchPadProxyTask

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
taskId1cb0ba24-cdc2-47d3-909d-d7ea2ab10576Integer批次ID,挂载代理是异步操作,因此需要等待5s或者循环查询

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
data[]Array批次ID
├─padCodeACP250317BH33TR6String设备号
├─taskId994365372Long任务ID,通过云机任务查询结果

请求示例

{
    "taskId": "1cb0ba24-cdc2-47d3-909d-d7ea2ab10576"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "padCode": "ACP250317BH33TR6",
            "taskId": 994365372
        }
    ],
    "ts": 1760102034102
}

查询动态代理自动续费信息

接口地址

/vcpcloud/api/padApi/getDynamicProxyAutomaticRenewal

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─good_size2048Integer续费的流量包大小
├─auto_renew_order1Integer是否开启自动续费 0-关闭 1-开启
├─order_price199Integer自动续费需扣除的金额
├─good_nameTraffic packageString自动续费商品名称
├─good_number1Integer自动续费商品数量

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "good_size": 2048,
            "auto_renew_order": 1,
            "order_price": 199,
            "good_name": "Traffic package",
            "good_number": 1
        }
    ],
    "ts": 1745308893191
}

设置动态代理自动续费开关

接口地址

/vcpcloud/api/padApi/setAutoRenewSwitch

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
autoRenewOrder0Integer自动续费开关 0-关 1-开

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "autoRenewOrder": 0
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

删除动态代理

接口地址

/vcpcloud/api/padApi/delProxyByIds

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
idsInteger[]要删除的动态代理ID集合
├─1Integer动态代理唯一ID

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "ids": [
        1
    ]
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

邮箱接码服务

购买邮箱并获取相关服务的验证码

获取邮箱服务列表

接口地址

/vcpcloud/api/padApi/getEmailServiceList

请求方式

GET

请求数据类型

application/json

请求Query参数

无

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─price0.01Float价格
├─stockNum300Integer剩余库存
├─serviceId1String服务列表编号
├─serviceNameGithubString服务名称
├─itemsObject[]子服务列表
├─├─serviceItemId1Integer子服务唯一ID (购买时使用的ID)
├─├─serviceItemNameGithub RegisterString子服务名称

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "price": 0.01,
            "stockNum": 300,
            "serviceId": 1,
            "serviceName": "Github",
            "items": [
                {
                    "serviceItemId": 1,
                    "serviceItemName": "Github Register"
                }
            ]
        }
    ],
    "ts": 1745825162018
}

获取邮箱类型及剩余库存

接口地址

/vcpcloud/api/padApi/getEmailTypeList

请求方式

GET

请求数据类型

application/json

请求Query参数

参数名示例值参数类型参数描述
serviceId1Integer对应 serviceItemId 字段

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳
dataObject[]状态码
├─price0.01Float价格
├─nameOutlookString类型名称
├─stockNum630Integer剩余库存
├─id1Integer邮箱类型编号

请求示例

{
    "serviceId": "1"
}

响应示例

{
    "msg": "success",
    "code": 200,
    "data": [
        {
            "price": 0.01,
            "name": "Outlook",
            "stockNum": 300,
            "id": 1
        }
    ],
    "ts": 1745823575860
}

创建购买邮箱订单

接口地址

/vcpcloud/api/padApi/getEmailTypeList

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
serviceId1Integer对应 serviceItemId 字段
emailTypeId1Integer对应 /getEmailTypeList 返回的 ID 字段
goodNum1Integer购买数量

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1736922808949Integer时间戳

请求示例

{
    "serviceId": 1,
    "emailTypeId": 1,
    "goodNum": 1
}

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745823575860
}

查询购买的邮箱列表

当通过刷新接口无法获取到验证码时,可以通过:https://api.vmoscloud.com/vcpcloud/api/padApi/code?orderId= + outOrderId(外部订单号)进行查询结果

接口地址

/vcpcloud/api/padApi/getEmailOrder

请求方式

GET

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
page1Integer必填,分页参数,当前页
size10Integer必填,分页参数,每页条数
serviceId1Integer非必填,对应 serviceItemId 字段
emailyzxovmqString非必填,邮箱模糊查询
status0Integer非必填,邮箱状态 0-未使用 1-接收中 2-已使用 3-已失效

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745835489149Long时间戳(毫秒)
dataObject数据对象
├─ current1Integer当前页码
├─ total1Integer总记录数
├─ pages1Integer总页数
├─ size10Integer每页大小
├─ recordsObject[]数据记录列表
├─├─ id1Long主键 ID
├─├─ userId10667Long用户 ID
├─├─ emailyzxovmqi828@outlook.comString邮箱地址
├─├─ emailStatus0Integer邮箱状态(0-未使用)
├─├─ emailTypeId1Integer邮箱类型 ID
├─├─ emailTypeNameOutlookString邮箱类型名称
├─├─ emailServiceId2Integer邮箱服务商 ID
├─├─ emailServiceNameAppleString邮箱服务商名称
├─├─ emailCode767170String邮箱验证码
├─├─ useSize1Integer使用次数
├─├─ orderIdVMOS-CLOUD174583355706782096String系统订单号
├─├─ outOrderId1916791090664861697String外部订单号

请求示例

/vcpcloud/api/vcEmailService/getEmailOrder?page=1&size=10&serviceId=2&email=yzxovmq&status=0

响应示例

{
    "msg": "success",
    "code": 200,
    "data": {
        "current": 1,
        "total": 1,
        "pages": 1,
        "size": 10,
        "records": [
            {
                "emailServiceName": "Tiktok",
                "emailTypeName": "Gmail",
                "useSize": 2,
                "orderId": "VMOS-CLOUD174592947484442767",
                "updateTime": 1747135883000,
                "goodPrice": 0.03,
                "userId": 10667,
                "emailTypeId": 3,
                "emailCode": "767170",
                "emailStatus": 3,
                "createTime": 1745929475000,
                "emailServiceId": 3,
                "outOrderId": "1917193290790019073",
                "id": 468,
                "email": "jessicaadams316490@gmail.com"
            }
        ]
    },
    "ts": 1745835489149
}

刷新获取邮箱验证码

此接口是刷新验证码列表结果,需要配合【查询购买的邮箱列表】接口一起使用

接口地址

/vcpcloud/api/padApi/getEmailCode

请求方式

GET

请求数据类型

application/json

请求Body参数

参数名示例值参数类型参数描述
orderId1917193290790019073String必填,对应 outOrderId 字段

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
ts1745835489149Long时间戳(毫秒)

请求示例

/vcpcloud/api/vcEmailService/getEmailCode?orderId=1917193290790019073

响应示例

{
    "msg": "success",
    "code": 200,
    "ts": 1745835489149
}

修改真机ADI模板

修改实例云真机ADI模版, 传入云真机模版ID

必要条件:

实例创建时,需要创建为云真机类型 实例创建时的规格,需要和目标的ADI模版规格一致 实例创建时的安卓版本,需要和目标的ADI安卓版本一致

接口地址

/vcpcloud/api/padApi/replaceRealAdiTemplate

请求方式

POST

请求数据类型

application/json

请求BODY参数

参数名示例值参数类型是否必填参数描述
padCodesString[]是
├─AC22010020062String是实例编号
wipeDatafalseBoolean是是否清除数据
realPhoneTemplateId186Long是云真机模板id

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject响应数据
├─taskId1Integer任务ID
├─padCodeAC21020010001String实例编号
├─vmStatus1Integer实例在线状态(0:离线;1:在线)

请求示例

{
    "padCodes": ["AC32010250011"],
    "wipeData": true,
    "realPhoneTemplateId": 186
}

响应示例

{
    "code": 200,
        "msg": "success",
        "ts": 1736326542985,
        "data": [{
        "taskId": 10074,
        "padCode": "AC32010250011",
        "errorMsg": null
    }]
}

SDK Token签发

签发临时 STS Token,用于对接入云手机服务的用户进行鉴权。

获取SDK临时token

接口地址

/vcpcloud/api/padApi/stsToken

请求方式

GET

请求数据类型

application/json

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject数据列表
├─ token18df5803-48ce-4b53-9457-6a15feb1dacaStringsdk通信token

响应示例

{
    "code": 200,
    "msg": "success",
    "ts":1713773577581,
    "data": {
        
        "token": "18df5803-48ce-4b53-9457-6a15feb1daca"
    }
}

SDK-Token签发(根据padCode)

签发临时 STS Token,用于对接入云手机服务的用户进行鉴权(该token只能用于请求的padCode)。

根据padCode获取SDK临时token

接口地址

/vcpcloud/api/padApi/stsTokenByPadCode

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
padCodeAC32010230001String是实例编号

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject数据列表
├─ token18df5803-48ce-4b53-9457-6a15feb1dacaStringsdk通信token

请求示例

{"padCode":"AC32010230001"}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts":1713773577581,
    "data": {
        "token": "18df5803-48ce-4b53-9457-6a15feb1daca"
    }
}

清除SDK授权Token

接口地址

/vcpcloud/api/padApi/clearStsToken

请求方式

POST

请求数据类型

application/json

请求Body参数

参数名示例值参数类型是否必填参数描述
token123String是

响应参数

参数名示例值参数类型参数描述
msgsuccessString响应消息
code200Integer状态码
dataObject数据列表
请求示例
{"token":1234}

响应示例

{
    "code": 200,
    "msg": "success",
    "ts":1713773577581,
    "data": null
}

回调相关

配置说明

需要客户在WEB端配置回调地址,配置地址成功则默认开启接收回调信息

异步执行ADB命令回调

使用场景

客户调用异步执行ADB命令,会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1002任务业务类型
taskIdInteger1任务id
padCodeStringAC22030022001实例标识
taskStatusInteger3任务状态(-1:全失败;-2:部分失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
endTimeLong1756021166163任务执行结束时间
taskResultStringSuccess任务结果
taskContentString任务内容
cmdStringcd /root;ls执行的命令
cmdResultString/ws执行的命令返回

示例

{
    "cmd": "cd /root;ls",
    "cmdResult": "/system/bin/sh: <stdin>[1]: cd: /root: No such file or directory",
    "endTime": 1734942133000,
    "padCode": "AC22030022001",
    "taskContent": null,
    "taskId": 10614,
    "taskResult": "/system/bin/sh: <stdin>[1]: cd: /root: No such file or directory",
    "taskStatus": 3
}

实例文件上传回调

使用场景

客户调用实例文件上传api,会通过该回调接口通知客户。

字段类型示例说明
taskBusinessTypeInteger1009任务业务类型
taskIdInteger1任务ID
resultbooleantrue执行结果:true-成功,false-失败
errorCodeString错误码
padCodeStringAC22030022001实例编号
fileIdStringcf08f7b685ab3a7b6a793b30de1b33ae34文件id

示例

{
    "errorCode": null,
    "fileId": "cfec132ab3c4e1aff5515c4467d9bbe460",
    "padCode": "AC22030022001",
    "result": true,
    "taskBusinessType": 1009,
    "taskId": 10659,
    "taskResult": "Success", 
    "taskStatus": 3
}

应用安装回调

使用场景

客户调用应用安装,应用的安装情况会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1003任务业务类型
taskIdInteger1任务ID
appsObject[]应用信息
├─ appIdInteger10001应用ID
├─ appNameStringdemo应用名称
├─ pkgNameStringcom.xxx.demo包名
├─ padCodeStringAC22030022001实例编号
├─ resultbooleantrue安装结果的标识。true:成功,false:失败
├─ failMsgString此应用已加入黑名单,禁止安装失败信息

示例

{
    "endTime": 1734939747000,
    "padCode": "AC22030022001",
    "taskBusinessType": 1003,
    "taskContent": "",
    "taskId": 10613,
    "taskResult": "Success",
    "taskStatus": 3
}

应用卸载回调

使用场景

客户调用应用卸载,应用卸载的情况会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1004任务业务类型
taskIdInteger1任务ID
appsObject应用信息
├─ appIdInteger10001应用ID
├─ appNameStringdemo应用名称
├─ pkgNameStringcom.xxx.demo包名
├─ padCodeStringAC22030022001实例编号
├─ resultbooleantrue安装结果的标识。true:成功,false:失败

示例

{
    "endTime": 1734940052000,
    "padCode": "AC22030022001",
    "taskBusinessType": 1004,
    "taskContent": "",
    "taskId": null,
    "taskResult": "Success",
    "taskStatus": 3
}

应用启动回调

使用场景

客户调用应用启动,应用启动的情况会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1007任务业务类型
taskIdInteger1任务ID
taskStatusInteger3任务状态(-1:全失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
padCodeStringAC22030022001实例标识
pkgNameStringxxx.test.com包名

示例

{
    "taskBusinessType": 1007,
    "packageName": "com.quark.browser",
    "padCode": "AC22030022001",
    "taskId": 10618,
    "taskStatus": 3
}

应用停止回调

使用场景

客户调用应用停止,应用停止的情况会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1005任务业务类型
taskIdInteger1任务ID
taskStatusInteger3任务状态(-1:全失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
padCodeStringAC22030022001实例标识
pkgNameStringxxx.test.com包名

示例

{
    "taskBusinessType": 1005,
    "packageName": "com.quark.browser",
    "padCode": "AC22030022001",
    "taskId": 10618,
    "taskStatus": 3
}

应用重启回调

使用场景

客户调用应用重启,应用重启的情况会通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger1006任务业务类型
taskIdInteger1任务ID
taskStatusInteger3任务状态(-1:全失败;-3:取消;-4:超时;1:待执行;2:执行中;3:完成)
padCodeStringAC22030022001实例标识
pkgNameStringxxx.test.com包名

示例

{
    "taskBusinessType": 1006,
    "packageName": "com.quark.browser",
    "padCode": "AC22030022001",
    "taskId": 10618,
    "taskStatus": 3
}

用户镜像上传回调

使用场景

用户镜像上传,结果通过该回调接口通知给客户。

字段类型示例说明
taskBusinessTypeInteger4001任务业务类型
imageIdStringimg-2505244083302766镜像id
taskStatusInteger3任务状态(-1:失败;3:完成)

示例

{
    "imageId": "img-2505244083302766",
    "taskBusinessType": 4001,
    "taskStatus": 3
}

一键新机回调

使用场景: 一键新机任务执行完成后,系统通过此接口通知客户。

字段类型示例说明
taskBusinessTypeInteger1124任务业务类型
padCodeString212254实例编号
taskStatusInteger3任务状态(-1:全失败; -3:取消; -4:超时; 1:待执行; 2:执行中; 3:完成)
taskIdInteger1任务ID
taskContentString-任务内容
endTimeLong1756021166163结束时间(毫秒时间戳)
taskResultStringSuccess任务结果描述

实例升级镜像任务回调

使用场景: 实例升级镜像任务状态变更时发送通知。

字段类型示例说明
taskBusinessTypeInteger1012任务业务类型
padCodeString212254实例编号
taskStatusInteger3任务状态(同上)
taskIdInteger1任务ID
taskContentString-任务内容
endTimeLong1756021166163结束时间
taskResultStringSuccess任务结果

实例状态回调

使用场景: 实例本身的运行状态或连接状态发生变更时通知客户。

字段类型示例说明
taskBusinessTypeInteger999任务业务类型
padCodeString212254实例标识
padStatusInteger10实例状态: -1:已删除; 10:运行中; 11:重启中; 12:重置中; 13:升级中; 14:异常; 15:未就绪; 16:备份中; 17:还原中; 18:关机; 19:关机中; 20:开机中; 21:关机失败; 22:开机失败
padConnectStatusInteger1实例连接状态: 1:在线; 0:离线

实例重启/重置任务回调

使用场景: 针对实例重启(1000)或重置(1001)操作的结果通知。

字段类型示例说明
taskBusinessTypeInteger1000/10011000为重启,1001为重置
padCodeString212254实例编号
taskStatusInteger3任务状态(-1:失败; 1:待执行; 2:执行中; 3:完成)
taskIdInteger1任务ID
endTimeLong1756021166163结束时间
taskResultStringSuccess任务结果
Prev
使用指南
Next
错误码