一、获取云手机环境列表
基本信息
POST /api/cloudphone/page
接口描述:查询已添加的云手机环境信息。用户仅能查询自己有权限的云手机环境。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
bindIp | boolean |
否 | 按照云手机是否已绑定代理查询 true:已绑定;false:未绑定 |
keyword | string | 否 | 关键词。可通过代理信息、分组名称、标签名称、环境名称进行查询 |
pageNo | integer(int64) | 否 | 当前页。默认1 |
pageSize | integer(int64) | 否 | 每页条数。默认10 |
sort | array | 否 | 动态排序字段。目前云手机支持:云手机环境名称-envName、创建时间-createDate字段排序 |
ids | string | 否 | 云手机ID:根据云手机ID搜索 |
分类
参数名称 | 类型 | 必传 | 说明 |
sortDirection | string | NO | 排序方向。 asc:升序;desc:倒序 |
sortFiled | array | NO | 排序字段 云手机环境名称:envName 创建时间:createDate |
请求示例
{
"bindIp": true,
"keyword": "",
"ids": "1603178******6883",
"pageNo": 1,
"pageSize": 10,
"sort": [
{
"sortDirection": "",
"sortFiled": ""
}
]
}
返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"data": {
"current": 0,
"dataList": [
{
"abnormalStatus": 0, // 异常状态:0-无异常 1-未激活 2-欠费 3-超售 4-停用
"adbInfo": { // adb信息
"adbIp": "", // adb ip
"adbPassword": "", // adb 连接密码
"adbPort": "", // adb port
"remark": "", // 获取失败备注信息
"success": 0 // 是否成功获取 1=是 0=否
},
"billingType": 0, // 计费方式:0-免费 1-按需 2-包月
"createDate": "", // 创建时间
"createMember": 0, // 创建用户
"createMemberName": "", // 创建用户
"enableAdb": true, // 是否开启adb
"envName": "", // 云手机名称
"envRemark": "", // 环境备注
"envStatus": 0, // 环境状态:0-新建 1-创建失败 2-关机 3-开机中 4-开机 5-重置中
"expireTime": 0, // 过期时间
"groupId": 0, // 分组Id
"groupInfo": [ // 分组信息
{
"id": 0, // 标签标识
"tagIcon": "", // 标签图标
"tagName": "", // 标签名称
"tagSource": "", // 标签来源:ENV环境,PROXY代理
"tagType": "" // 标签类型:TAG标签,GROUP分组
}
],
"id": 0, // 云手机Id
"lastConnectDate": "", // 最后连接时间
"lastConnectMemberId": 0, //最后一次连接人ID
"lastConnectMemberName": "", // 最后一次连接人名称
"lastStartDate": "", // 最后开机时间
"lastStartMemberId": 0, // 最后开机人ID
"lastStartMemberName": "", // 最后开机人名称
"proxy": { // 代理信息
"country": "", // 国家
"countryCode": "", // 国家编码
"createDate": "", // 创建时间
"delFlag": 0, // 1-已删除 2-未删除
"expiryTime": 0, // 过期时间
"exportIp": "", // 出口Ip
"groupId": 0, // 分组Id
"id": 0, // 主键
"providerCode": "", // 供应商区域
"proxyAreaCode": "", // 平台代理区域
"proxyCatagoryType": 0, // 代理分类:0-站群 1-云平台 2-自有IP 3-vps 4-虚拟机
"proxyCheckStatus": 0, // 检测状态:0-待检测 1-检测成功 2-检测失败 3-未知错误
"proxyInfo": "", // 代理信息
"proxyIp": "", // 代理Ip
"proxyName": "", // 代理名称
"proxyPort": 0, // 出口端口
"proxyRegionCode": "", // 平台代理国家
"proxyStatus": 0, // 0-正常 1-待分配 2-升级中 3-已过期
"proxySub": { // 代理订阅
"activeRecordId": 0, // 激活中的订阅记录
"businessId": "", // 代理Id
"createMember": 0, // 创建成员
"endTime": 0, // 结束时间
"id": 0, // 订阅Id
"nextBillingTime": 0, // 下次扣款时间
"startTime": 0, // 有效期
"subPayMethod": "", // subPayMethod
"subStatus": 0, // 订阅状态:0-待订阅 1-已订阅 2-已取消
"subType": 0, // 订阅类型:1-代理 2-套餐
"teamId": 0 // 团队Id
},
"proxyType": 0, // 代理类型:0-http 1-https 2-socks5 4-Oxylabs 5-Proxys.io 6-GeoSurf 9-Oxylabsauto 10-Trogan 11-Shadowsocks 12-vmess
"proxyTypeCode": "", // 平台代理类型编码
"regionKey": "", // 云平台Key
"releaseTime": "", // 释放时间:如果删除则为删除时间,过期则为过期时间
"uniqueId": 0 // 排序Id
},
"proxyStatus": 0, // 代理状态:0-未检测 1-检测中 2-检测失败 3-检测成功
"supportAdb": true, // 是否支持adb
"tagIds": [], // 标签Ids
"tagInfo": [ // 标签信息
{
"id": 0, // 主键
"tagIcon": "",
"tagName": "",
"tagSource": "",
"tagType": ""
}
],
"updateDate": "", // 修改时间
"updateMember": 0 // 修改用户
}
],
"pages": 0,
"total": 0
},
"requestId": "", // 操作请求ID
}
2. 创建云手机环境
基本信息
POST api/cloudphone/create
接口描述:创建新的云手机环境,支持批量创建。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
quantity | integer(int32) | 是 | 创建手机数量 数值范围:[1-10] |
skuId | number | 是 | 云手机机型 10002 Android 12 10004 Android 15 10005 Android 14 10013 Android 13 机型参数说明详见附录 |
altitude | number | 否 | 海拔 例如:100 |
automaticGeo | boolean |
| 是否自动匹配地理位置 true:是;false:否 默认:true |
automaticLanguage | boolean | 否 | 是否自动匹配语言 true:是;false:否 默认:true |
automaticLocation | boolean | 否 | 是否自动匹配位置(时区、国家) true:是;false:否 默认:true |
country | string | 否 | 国家,例如:us 具体国家码详见附录 |
envRemark | string | 否 | 环境备注 长度限制1500字符 |
groupId | string | 否 | 指定云手机环境的分组 (分组授权模式下,若您无“全部环境”权限,此字段则需要必填) |
language | string | 否 | 语言,例如:en-US 具体语言详见附录 |
latitude | number | 否 | 纬度,例如:22.309182 |
longitude | number | 否 | 经度,例如:114.176817 |
proxyId | integer(int64) | 否 | 代理ID 默认0,限制最小值0 |
timezone | string | 否 | 时区,例如:America/New_York 具体时区详见附件 |
请求示例
{
"altitude": 0,
"automaticGeo": true,
"automaticLanguage": true,
"automaticLocation": true,
"country": "",
"envRemark": "",
"groupId": "",
"language": "",
"latitude": 0,
"longitude": 0,
"proxyId": 0,
"quantity": 0,
"skuId": 10002,
"timezone": ""
}返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"data": [] // 云手机IDlile
"requestId": "", // 操作请求ID
}
3. 开启云手机
基本信息
POST /api/cloudphone/powerOn
接口描述:开启云手机环境。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | YES | 需要开启的云手机ID |
请求示例
{
"id": 0
}返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"requestId": "", // 操作请求ID
}
4. 关闭云手机
基本信息
POST /api/cloudphone/powerOff
接口描述:关闭云手机环境。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 需要关闭的云手机ID |
请求示例
{
"id": 0
}返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"requestId": "", // 操作请求ID
}
5. 修改云手机环境
基本信息
POST /api/cloudphone/edit/batch
接口描述:修改云手机环境信息,可批量修改云手机绑定的代理等信息。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
id | array | 是 | 云手机ID,例如:[1558968155668507,1558968635916317] |
altitude | number | 否 | 海拔,例如:100 |
automaticGeo | boolean | 否 | 是否自动匹配地理位置 true:是;false:否 |
automaticLanguage | boolean | 否 | 是否自动匹配语言 true:是;false:否 |
automaticLocation | boolean | 否 | 是否自动匹配位置(时区、国家) true:是;false:否 |
country | string | 否 | 国家,例如:us 具体国家码详见附录 |
envRemark | string | 否 | 环境备注, 长度限制1500字符,支持换行 |
groupId | string | 否 | 指定云手机环境的分组 (分组授权模式下,若您无“全部环境”权限,此字段则需要必填 |
language | string | 否 | 语言,例如:en-US 具体语言详见附录 |
latitude | number | 否 |
|
longitude | number | 否 | 经度,例如:114.176817 |
proxyId | integer(int64) | 否 | 代理ID 限制最小值0 |
timezone | string | 否 | 时区,例如:America/New_York 具体时区详见附件 |
请求示例
{
"altitude": 0,
"automaticGeo": true,
"automaticLanguage": true,
"automaticLocation": true,
"country": "",
"id": [],
"language": "",
"latitude": 0,
"longitude": 0,
"proxyId": 0,
"timezone": ""
}
返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"requestId": "", // 操作请求ID
}
6. 删除云手机环境
基本信息
POST /api/cloudphone/delete/batch
接口描述:批量删除云手机环境。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
ids | array | 是 | 需要删除的云手机ID |
请求示例
{
"ids": []
}返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"data": {} // 操作返回数据
"requestId": "", // 操作请求ID
}
7. 更新云手机ADB状态
基本信息
POST /api/cloudphone/updateAdb
接口描述:批量开启/关闭云手机环境的ADB状态。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
enableAdb | boolean | 是 | 是否启用adb true:开启;false:关闭 |
ids | array | 是 | 需要开启/关闭ADB的云手机ID 示例:[1571806316503059] |
请求示例
{
"enableAdb": true,
"ids": []
}返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"requestId": "", // 操作请求ID
}
8 一键新机
基本信息
POST /api/cloudphone/newMachine
接口描述:执行云手机一键新机操作。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
brand | string | 是 | 品牌 |
id | integer(int64) | 是 | 云手机ID |
modelId | integer(int32) | 是 | 机型ID |
请求示例
{
"brand": "",
"id": 0,
"modelId": 0
}返回数据
{
"code": 0, //相应码,0表示成功,>0表示失败
"error": { //响应信息
"info": [
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true, //响应消息,code>8时返回错误信息
"msg": "",
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
9. 上传文件
基本信息
POST /api/cloudphone/uploadFile
Content-Type:multipart/form-data
接口描述:上传文件到云手机。需将MoreLogin应用更新至2.9.0及以上版本。
请求参数
Body 参数, 非必传参数可以不传递,传参格式为JSON
参数名称 | 类型 | 必传 | 说明 |
file | File | 是 | 上传的文件 |
id | integer(int64) | 是 | 云手机 id |
uploadDest | string | 是 | 上传的目录 |
返回数据
{
"code": 0, // 返回结果编码 0:正常 其他编码都是异常
"msg": "", // 错误信息
"requestId": "", // 操作请求ID
}10. 执行shell命令
基本信息
POST /api/cloudphone/exeCommand
Content-Type:application/json
接口描述:云手机执行shell命令
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机 id |
command | string | 是 | 命令,如果是需要执行多行,使用;号隔开 |
请求示例
{
"command": "",
"id": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": "", //响应数据
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误消息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}返回数据11. 获取APP应用列表
基本信息
Get /api/cloudphone/app/page
接口描述:APP应用分页查询
请求参数
参数名称 | 类型 | 必传 | 说明 |
appName | string | 否 | 应用名称,模糊查询 |
pageNum | integer(int64) | 否 | 页数 |
pageSize | integer(int64) | 否 | 每页数量 |
请求示例
{
"appName": "",
"pageNum": 0,
"pageSize": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": { //响应数据
"current": 0,
"dataList": [
{
"appIcon": "", //APP图标
"appName": "", //APP名称
"appVersionList": [ //APP版本
{
"id": "", //APP版本ID
"installStatus": 0, //应用安装状态:0-正在安装,1-安装成功,2-安装失败,其他-未安装
"packageName": "", //包名
"versionCode": "", //APP 版本号
"versionName": "" //APP版本名
}
],
"categoryValue": 0, //分类ID
"id": "", //APPid
"packageName": "", //包名
"sortNo": 0 //排序号
}
],
"pages": 0,
"total": 0
},
"error": {
"info": [ //错误明细,生产环境不返回
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
12. 已安装应用列表查询
基本信息
Post /api/cloudphone/app/installedList
接口描述:获取已经安装的应用列表查询
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机ID |
响应状态
状态码 | 说明 | schema |
200 | OK | ResponseData«List«CloudPhoneInstalledAppRes»» |
201 | Created |
|
401 | Unauthorized |
|
403 | Forbidden |
|
404 | Not Found |
|
请求示例
{
"id": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": [ //响应数据
{
"appIcon": "", //APP图标
"appName": "", //APP名称
"packageName": "", //包名
"versionCode": 0, //应用版本号
"versionName": "" //应用名称
}
],
"error": {
"info": [
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" // 错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}13. 安装指定APP
基本信息
Post /api/cloudphone/app/install
接口描述:安装指定APP应用
请求参数
参数名称 | 类型 | 必传 | 说明 |
appVersionId | string | 否 | APP版本ID |
id | integer(int64) | 是 | 云手机ID |
packageName | string | 是 | 包名 |
versionCode | integer(int64) | 否 | 应用版本号 |
请求示例
{
"appVersionId": "",
"id": 0,
"packageName": "",
"versionCode": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": true, //响应数据
"error": {
"info": [
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" // 错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
14. 查询品牌机型
基本信息
Post /api/cloudphone/brand/models
接口描述:查询云手机的品牌机型
请求参数
参数名称 | 类型 | 必传 | 说明 |
skuId | integer(int64) | 是 | 商品ID |
请求示例
{
"skuId": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": [ //响应数据
{
"brand": "", //品牌
"brandAlias": "", //品牌别名
"id": 0, //机型ID
"model": "" //机型
}
],
"error": {
"info": [ //错误信息
{
"code": "", //错类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "",//响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}15. 启动APP
基本信息
Post /api/cloudphone/app/start
接口描述:启动云手机的APP
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机ID |
packageName | string | 是 | 包名 |
请求示例
{
"id": 0,
"packageName": ""
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": true, //响应数据
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
16. 重启APP
基本信息
Post /api/cloudphone/app/restart
接口描述:重新启动云手机的APP
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机ID |
packageName | string | 是 | 包名 |
请求示例
{
"id": 0,
"packageName": ""
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": true, //响应数据
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}17. 停止APP
基本信息
Post /api/cloudphone/app/stop
接口描述:结束云手机的APP进程
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机ID |
packageName | string | 是 | 包名 |
请求示例
{
"id": 0,
"packageName": ""
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": true, //响应数据
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误消息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}18. 卸载APP
基本信息
Post /api/cloudphone/app/uninstall
接口描述:卸载云手机APP
请求参数
参数名称 | 类型 | 必传 | 说明 |
id | integer(int64) | 是 | 云手机ID |
packageName | string | 是 | 包名 |
请求示例
{
"id": 0,
"packageName": ""
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"data": true, //响应数据
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误消息
"nested": {}, //错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
19. 设置keyBox
基本信息
Post /api/cloudphone/setKeyBox
请求参数
参数名称 | 类型 | 必传 | 说明 |
filePath | string | 是 | 文件路径:/sdcard/Download/xxx.xml |
id | integer(int64) | 是 | 云手机ID |
请求示例
{
"filePath": "",
"id": 0
}返回数据
{
"code": 0, //响应码,0表示成功,>0表示失败
"error": {
"info": [ //错误信息
{
"code": "", //错误类型
"msg": "", //错误信息
"nested": {}, //嵌套的错误明细
"subject": "" //错误对象
}
],
"type": "" //错误类型,SERVER:服务端错误,NEP:空指针错误,DB:数据库错误,CLIENT:客户端错误
},
"ignorePrintStack": true,
"msg": "", //响应消息,code>0时返回错误信息
"stackTrace": "",
"status": "",
"success": true,
"time": ""
}
需要更多帮助?请联系我们:
