OPEN API参考
[toc]
说明
open-api接口文档
域名
header参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appKey | 应用账户名 | String | 是 |
URL必填参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
time | 时间戳 | timestamp | 是 | 客户端获取时间戳 |
sign | 签名 | String | 是 | md5加密 |
签名逻辑
盐值
盐值(salt)为用户的appSecretKey,从控制台获取
请求示例
描述
1、参与签名的数据为url的所有value,以及RequestBody中的所有value,sign不参与签名
2、根据示例中的key进行排序,然后对values进行相加,最后加上salt(盐值(salt)为用户的appSecretKey,放在字符串的最后)
3、对拼接后的字符串进行md5加密
备注:POST请求的body参数与header不参与签名
demo代码示例
签名逻辑
package com.baidu.bac.acs.api.util;
import com.baidu.bac.acs.common.util.encryption.EncryptAndDecryptUtils;
import com.baidu.bac.acs.common.util.encryption.MD5Utils;
import org.springframework.util.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Demo {
public static final String SIGN = "sign";
/**
* 签名
*
* @param paramMap
* @param salt
* @return
*/
public static String createSign(Map<String, Object> paramMap, String salt) {
if (CollectionUtils.isEmpty(paramMap)) {
return EncryptAndDecryptUtils.md5Encrypt(salt);
}
// 对key进行排序
List<String> sortedKeys = paramMap.entrySet().stream()
.filter(e -> !SIGN.endsWith(e.getKey()))
.map(e -> e.getKey())
.collect(Collectors.toList());
Collections.sort(sortedKeys);
// 拼接valueString
StringBuffer sb = new StringBuffer("");
for (String key : sortedKeys) {
Object val = paramMap.get(key);
if (val == null) {
continue;
}
sb.append(val);
}
// 拼接盐值
sb.append(salt);
// 加密
return md5Encrypt(sb.toString());
}
/**
* MD5 加密
*
* @param value 待加密字符
* @return
*/
public static String md5Encrypt(String value) {
String result = null;
if (value != null && !"".equals(value.trim())) {
result = MD5Utils.encrypt(value, MD5Utils.MD5_KEY);
}
return result;
}
}
md5
package com.baidu.bac.acs.common.util.encryption;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
public final static String MD5_KEY = "MD5";
public final static String SHA_KEY = "SHA1";
public static String encrypt(String value, String key) {
try {
// 拿到一个MD5转换器(如果想要SHA1参数换成”SHA1”)
MessageDigest messageDigest = MessageDigest.getInstance(key);
// 输入的字符串转换成字节数组
byte[] inputByteArray = value.getBytes();
// inputByteArray是输入字符串转换得到的字节数组
messageDigest.update(inputByteArray);
// 转换并返回结果,也是字节数组,包含16个元素
byte[] resultByteArray = messageDigest.digest();
// 字符数组转换成字符串返回
return byteArrayToHex(resultByteArray);
} catch (NoSuchAlgorithmException e) {
return null;
}
}
private static String byteArrayToHex(byte[] byteArray) {
// 首先初始化一个字符数组,用来存放每个16进制字符
char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'A', 'B', 'C', 'D', 'E', 'F'};
// new一个字符数组,这个就是用来组成结果字符串的(解释一下:一个byte是八位二进制,也就是2位十六进制字符(2的8次方等于16的2次方))
char[] resultCharArray = new char[byteArray.length * 2];
// 遍历字节数组,通过位运算(位运算效率高),转换成字符放到字符数组中去
int index = 0;
for (byte b : byteArray) {
resultCharArray[index++] = hexDigits[b >>> 4 & 0xf];
resultCharArray[index++] = hexDigits[b & 0xf];
}
// 字符数组组合成字符串返回
return new String(resultCharArray);
}
}
接口设计
获取sdk token信息
描述
获取sdk token信息
请求路径
GET /api/armcmapi/openapi/v1/app/account/token/info
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
userId | 用户ID | String | 是 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
acsToken | token | String |
返回示例
{
"status": 0,
"message": "成功",
"data": {
"acsToken": "xxxxxxxx"
}
}
总览
实例状态数量统计
描述
获取用户信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/state/statistics
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
idcAddress | 城市名称 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
total | 总量 | Long | |
running | 运行中数量 | Long | |
leisure | 空闲中数量 | Long | |
expired | 已过期数量 | Long | |
expiredSoon | 即将过期数量 | Long |
返回示例
{
"status": 0,
"message": "成功",
"data": {
"total": 2,
"running": 2,
"leisure": 0,
"expired": 0,
"expiredSoon": 0
}
}
实例城市数量统计
描述
实例城市数量统计
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/city/statistics
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
idcAddress | 城市名称 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
idcAddress | 城市名称 | String | |
count | 数量 | Integer |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"idcAddress": "上研",
"count": 2
}
]
}
实例付费类型数量统计
描述
实例付费类型数量统计
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/payType/statistics
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
idcAddress | 城市名称 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
payType | 付费类型 | Integer | 0:测试 1:预付费 |
count | 数量 | Integer |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"payType": "1",
"count": 2
}
]
}
实例操作
获取实例列表
描述
查询所有实例详细信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
tagKey | 标签 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 实例ID | int | |
padCode | 实例编号 | String | |
groupId | 分组ID | int | |
padIp | 设备ip | String | |
padType | 预付类型 | int | 0:Android试玩 1:云手机 2:web试玩 |
installCount | app安装数量 | int | |
enableStatus | 启用状态 | int | 0:人工禁用 1:启用 2:解绑禁用 3:更换禁用 4:体验解绑禁用 |
operationStatus | 运营状态 | int | 0:正常 1:运营 |
onlineStatus | 在线状态 | int | 0:离线 1:在线 |
bindStatus | 绑定状态 | int | 0:非绑定 1:绑定 |
controlStatus | 控制状态 | int | 0:离线 1:在线 2:受控中 |
errorStatus | 故障状态 | int | 0:正常 1:故障 |
motorRoom | 机房名称 | String | |
maintainStatus | 维护状态 | int | 0:正常 1:维护 |
virtualStatus | 虚拟状态 | int | 0:在线 1:离线 |
authorityStatus | 授权状态 | int | 0:授权 1:未授权 |
authorityLevel | 实例等级 | int | 0:普通 1:vip |
idcCode | 机房编号 | String | |
idcAddress | 机房地址 | String |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"id": 9,
"padCode": "VM010121250084",
"groupId": 100001,
"padIp": "10.121.250.84",
"payType": 1,
"installCount": 4,
"enableStatus": 1,
"operationStatus": 0,
"onlineStatus": 1,
"bindStatus": 0,
"controlStatus": 1,
"errorStatus": 0,
"motorRoom": "研发测试机房",
"idcCode": "INNER-EPLAY-01",
"padType": 0,
"expireTime": 36000000,
"idcAddress": "上研",
"maintainStatus": 0,
"virtualStatus": 0,
"authorityStatus": 0,
"authorityLevel": 0,
"freeSpace": 0
},
{
"id": 10,
"padCode": "VM010121250078",
"groupId": 100001,
"padIp": "10.121.250.78",
"payType": 1,
"installCount": 3,
"enableStatus": 1,
"operationStatus": 0,
"onlineStatus": 1,
"bindStatus": 0,
"controlStatus": 1,
"errorStatus": 0,
"motorRoom": "研发测试机房",
"idcCode": "INNER-EPLAY-01",
"padType": 0,
"expireTime": 36000000,
"idcAddress": "上研",
"maintainStatus": 0,
"virtualStatus": 0,
"authorityStatus": 0,
"authorityLevel": 0,
"freeSpace": 0
}
],
"total": 2,
"pageNo": 1,
"pageSize": 10
}
根据应用id获取实例列表
描述
根据应用id获取实例列表信息,所获取的设备都安装了该应用
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/list/by/appid
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 实例编号 | String | 否 | 多个实例以逗号隔开 |
enableStatus | 启用状态 | int | 否 | 0:人工禁用 1:启用 2:解绑禁用 3:更换禁用 4:体验解绑禁用 |
operationStatus | 运营状态 | int | 否 | 0:正常 1:运营 |
onlineStatus | 在线状态 | int | 否 | 0:离线 1:在线 |
bindStatus | 绑定状态 | int | 否 | 0:非绑定 1:绑定 |
controlStatus | 控制状态 | int | 否 | 0:离线 1:在线 2:受控中 |
errorStatus | 故障状态 | int | 否 | 0:正常 1:故障 |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 实例ID | int | |
padCode | 实例编号 | String | |
groupId | 分组ID | int | |
padIp | 设备ip | String | |
padType | 预付类型 | int | 0:Android试玩 1:云手机 2:web试玩 |
installCount | app安装数量 | int | |
enableStatus | 启用状态 | int | 0:人工禁用 1:启用 2:解绑禁用 3:更换禁用 4:体验解绑禁用 |
operationStatus | 运营状态 | int | 0:正常 1:运营 |
onlineStatus | 在线状态 | int | 0:离线 1:在线 |
bindStatus | 绑定状态 | int | 0:非绑定 1:绑定 |
controlStatus | 控制状态 | int | 0:离线 1:在线 2:受控中 |
errorStatus | 故障状态 | int | 0:正常 1:故障 |
motorRoom | 机房名称 | String | |
maintainStatus | 维护状态 | int | 0:正常 1:维护 |
virtualStatus | 虚拟状态 | int | 0:在线 1:离线 |
authorityStatus | 授权状态 | int | 0:授权 1:未授权 |
authorityLevel | 实例等级 | int | 0:普通 1:vip |
idcCode | 机房编号 | String | |
idcAddress | 机房地址 | String | |
sessionId | 直连sessinId | String |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"id": 9,
"padCode": "VM010121250084",
"groupId": 100001,
"padIp": "10.121.250.84",
"payType": 1,
"installCount": 4,
"enableStatus": 1,
"operationStatus": 0,
"onlineStatus": 1,
"bindStatus": 0,
"controlStatus": 1,
"errorStatus": 0,
"motorRoom": "研发测试机房",
"idcCode": "INNER-EPLAY-01",
"padType": 0,
"expireTime": 36000000,
"idcAddress": "上研",
"maintainStatus": 0,
"virtualStatus": 0,
"authorityStatus": 0,
"authorityLevel": 0,
"freeSpace": 0
},
{
"id": 10,
"padCode": "VM010121250078",
"groupId": 100001,
"padIp": "10.121.250.78",
"payType": 1,
"installCount": 3,
"enableStatus": 1,
"operationStatus": 0,
"onlineStatus": 1,
"bindStatus": 0,
"controlStatus": 1,
"errorStatus": 0,
"motorRoom": "研发测试机房",
"idcCode": "INNER-EPLAY-01",
"padType": 0,
"expireTime": 36000000,
"idcAddress": "上研",
"maintainStatus": 0,
"virtualStatus": 0,
"authorityStatus": 0,
"authorityLevel": 0,
"freeSpace": 0
}
],
"total": 2,
"pageNo": 1,
"pageSize": 10
}
下载实例列表
描述
下载实例列表信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/list/export
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
tagKey | 标签 | String | 否 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
下载文件名称
实例列表XXXXXXXXXXX.xls
申请直连实例
描述
申请直连实例
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/device/connect/apply
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCode | 实例编号 | String | 否 | |
onlineTime | 有效时间 | Long | 否 | 单位秒,默认一个小时(3600s) |
appId | 应用id | Integer | 否 | 应用id不为空表示应用直连,否则为云手机直连 |
padType | 云手机类型 | String | 否 | 可以从passList获取的pass实例列表中获取到实例类型,0试玩 1云手机,一般都是试玩 |
tagKey | 标签 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
padCode | 实例编号 | String | |
groupId | 分组ID | Integer | |
deviceToken | 直连相关信息 | Object |
返回示例
{
"status": 0,
"message": "成功",
"data": {
"padCode": "VM010121250084",
"groupId": 100001,
"deviceToken": {
"webControlList": [
{
"webControlCode": "INNER-WEBSOCKET-CONTROL-01",
"webControlInfoList": [
{
"controlIp": "inner.yun-game.com",
"controlPort": 8919
}
]
}
],
"controlList": [
{
"controlCode": "INNER-USER-CONTROL-01",
"controlInfoList": [
{
"controlIp": "inner.yun-game.com",
"controlPort": 8915
}
]
}
],
"padList": [
{
"controlCode": "INNER-USER-CONTROL-01",
"padCode": "VM010121250084",
"padStatus": "1",
"videoCode": "GZ-TEST-USER-VIDEO-01",
"padType": "0"
}
],
"videoList": [
{
"videoCode": "GZ-TEST-USER-VIDEO-01",
"videoInfoList": [
{
"videoProtocol": "2",
"videoUrl": "rtmp://117.48.196.66:110/live",
"videoContext": "1",
"videoDomain": "live",
"videoPort": 110
},
{
"videoProtocol": "",
"videoUrl": "rtmp://117.48.196.66:1936/live",
"videoContext": "",
"videoDomain": "",
"videoPort": -1
}
]
}
],
"wssWebControlList": [],
"sessionId": "70f7d3451be24f4b8b29fcb68a24abe3",
"userId": 4538
}
}
}
申请断开直连实例
描述
申请断开直连实例
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/device/disconnect/apply
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCode | 实例编号 | String | 是 | |
forceOff | 强制断开 | Integer | 否 | 0:否;1:是 默认0 |
scriptUrl | 清除脚本url | String | 否 | 例子:https://bj.bcebos.com/v1/baidu-yunapp/script/clearNoReboot_v1.sh |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
批量初始化实例
描述
批量初始化实例
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/device/init
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCodes | 实例编号列表 | List |
是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
批量重启实例
描述
批量重启实例
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/device/reboot
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCodes | 实例编号列表 | List |
是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
批量修改实例运营状态
描述
批量修改实例运营状态
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/device/operation/status/update
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCodes | 实例编号列表 | List |
是 | |
operationStatus | 运营状态值 | Integer | 是 | 0:正常;1:运营 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
获取实例可安装列表
描述
获取实例可安装列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/can/install/list
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 实例ID | int | |
padCode | 实例编号 | String | |
installCount | app安装数量 | Integer | |
motorRoom | 机房名称 | String |
返回示例
{
"status": 0,
"data": [{
"padCode": "VM010122008012",
"installCount": 3,
"motorRoom": "苏州机房"
}, {
"padCode": "VM010122008013",
"installCount": 3,
"motorRoom": "苏州机房"
}],
"message": null
}
获取可直连实例列表(普通设备)
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/can/connect/list
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 否 | |
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
limit | 数量限制 | Integer | 否 | 默认未10 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
padCode | 实例编号 | String |
返回示例
{
"status": 0,
"data": [
"VM010122008012",
"VM010122008013"
],
"message": null
}
导出可安装实例列表
描述
导出可安装实例列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/can/install/list/export
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
下载文件名称
可安装实例列表XXXXXXXXXXX.xls
获取实例可卸载列表
描述
获取实例可卸载列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/device/can/uninstall/list
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 实例编号 | String | 否 | 多个实例以逗号隔开 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 实例ID | int | |
padCode | 实例编号 | String | |
installCount | app安装数量 | Integer | |
motorRoom | 机房名称 | String |
返回示例
{
"status": 0,
"data": [{
"padCode": "VM010122008012",
"installCount": 3,
"motorRoom": "苏州机房"
}, {
"padCode": "VM010122008013",
"installCount": 3,
"motorRoom": "苏州机房"
}],
"message": null
}
获取设备实时使用数
描述
根据ID获取设备实时使用数
请求路径
GET /api/armcmapi/openapi/v1/device/current/use/count
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appIds | 应用ID | String | 是 | 多个应用以","分隔 |
tagKey | tagKey | String | 否 | 默认值为 NO_TAG |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appId | 应用ID | Integer | |
count | 设备使用数量 | Integer |
返回示例
{
"status": 0,
"message": "成功",
"data": [{
"appId": 1,
"count": 10
},
{
"appId": 2,
"count": 50
}
]
}
应用部署
应用列表
描述
查询应用列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
name | 应用名称 | String | 否 | 多个实例以逗号隔开 |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用id | Integer | |
status | 应用状态 | Integer | 0:下线 1:在线 |
taskStatus | 任务状态 | Integer | 0:正常; 1:安装中;2:卸载中;3:覆盖安装中; |
installCount | 安装数量 | int | |
name | 应用名称 | String | |
packageName | 包名称 | String | |
version | 版本 | String | |
versionCode | 版本号 | String | |
size | 大小 | Double | |
md5 | md5 | String | |
summary | 摘要 | String | |
createTime | 创建时间(上传时间) | timestamp |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"id": 1001411,
"status": 1,
"taskStatus": 0,
"type": 0,
"installCount": 0,
"settingLevel": 1,
"name": "6666",
"packageName": "com.mq.CookieCN.mi",
"version": "1.3.2",
"versionCode": "13",
"versionCodeStatistic": {
"1.3.2": 1
},
"size": 32212255,
"createTime": 1594805014000,
"summary": "",
"md5": "bf76ac722c74ec0151a6e8e52ff9643f",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/ee2da7ea-51da-4f04-9338-fc606d328f84.apk",
"score": null
},
{
"id": 1001407,
"status": 0,
"taskStatus": 0,
"type": 0,
"installCount": 0,
"settingLevel": 1,
"name": "出错应用",
"packageName": "com.estrongs.android.pop",
"version": "4.2.2.8",
"versionCode": "10079",
"versionCodeStatistic": {},
"size": 21474836,
"createTime": 1594726131000,
"summary": "",
"md5": "e3defa86a06cbced5b5e6c079a179240",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/6fa52a5f-c6cc-405e-844d-1229ec5ba5d2.apk",
"score": null
}
],
"total": 20,
"pageNo": 1,
"pageSize": 2
}
根据设备编码获取应用列表
描述
根据设备编码获取应用列表,所获取的应用为已在该设备安装的应用。
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/list/by/padcode
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
padCode | 设备编码 | String | 是 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用id | Integer | |
status | 应用状态 | Integer | 0:下线 1:在线 |
taskStatus | 任务状态 | Integer | 0:正常; 1:安装中;2:卸载中;3:覆盖安装中; |
installCount | 安装数量 | int | |
name | 应用名称 | String | |
packageName | 包名称 | String | |
version | 版本 | String | |
versionCode | 版本号 | String | |
size | 大小 | Double | |
md5 | md5 | String | |
summary | 摘要 | String | |
createTime | 创建时间(上传时间) | timestamp |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"id": 1001411,
"status": 1,
"taskStatus": 0,
"type": 0,
"installCount": 0,
"settingLevel": 1,
"name": "6666",
"packageName": "com.mq.CookieCN.mi",
"version": "1.3.2",
"versionCode": "13",
"versionCodeStatistic": {
"1.3.2": 1
},
"size": 32212255,
"createTime": 1594805014000,
"summary": "",
"md5": "bf76ac722c74ec0151a6e8e52ff9643f",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/ee2da7ea-51da-4f04-9338-fc606d328f84.apk",
"score": null
},
{
"id": 1001407,
"status": 0,
"taskStatus": 0,
"type": 0,
"installCount": 0,
"settingLevel": 1,
"name": "出错应用",
"packageName": "com.estrongs.android.pop",
"version": "4.2.2.8",
"versionCode": "10079",
"versionCodeStatistic": {},
"size": 21474836,
"createTime": 1594726131000,
"summary": "",
"md5": "e3defa86a06cbced5b5e6c079a179240",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/6fa52a5f-c6cc-405e-844d-1229ec5ba5d2.apk",
"score": null
}
],
"total": 20,
"pageNo": 1,
"pageSize": 2
}
获取公共应用列表
描述
获取公共应用列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/list/communal
请求参数
无
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用id | Integer | |
status | 应用状态 | Integer | 0:下线 1:在线 |
taskStatus | 任务状态 | Integer | 0:正常; 1:安装中;2:卸载中;3:覆盖安装中; |
installCount | 安装数量 | int | |
name | 应用名称 | String | |
packageName | 包名称 | String | |
version | 版本 | String | |
versionCode | 版本号 | String | |
size | 大小 | Double | |
md5 | md5 | String | |
summary | 摘要 | String | |
createTime | 创建时间(上传时间) | timestamp |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"id": 1000062,
"status": 1,
"taskStatus": 0,
"type": 1,
"installCount": 0,
"settingLevel": 0,
"name": "搜狗浏览器",
"packageName": "sogou.mobile.explorer",
"version": "5.27.8",
"versionCode": "180913",
"versionCodeStatistic": null,
"size": 53687091,
"createTime": 1586386906000,
"summary": "",
"md5": "481309e2b8976c4a15c0a03d5f37d8e4",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/85940641-1fdb-4b55-977f-f5b4d3dd2af0.apk",
"score": null
},
{
"id": 1000023,
"status": 1,
"taskStatus": 0,
"type": 1,
"installCount": 0,
"settingLevel": 0,
"name": "爱奇艺",
"packageName": "com.qiyi.video",
"version": "11.2.5",
"versionCode": "800110255",
"versionCodeStatistic": null,
"size": 32212255,
"createTime": 1585891715000,
"summary": "",
"md5": "1386f3b7f3b26a28d89c7710dce1fd35",
"logoUrl": "",
"bannerUrl": "",
"appIconUrl": "",
"downloadUrl": "https://yunapp-download.bj.bcebos.com/0bf1a1ff-f9c2-4db3-92ac-48856a9c1c6a.apk",
"score": null
}
]
}
导出应用列表
描述
查询应用列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/list/export
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
name | 应用名称 | String | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用id | Integer | |
status | 应用状态 | Integer | 0:下线 1:在线 |
taskStatus | 任务状态 | Integer | 0:正常; 1:安装中;2:卸载中;3:覆盖安装中; |
installCount | 安装数量 | int | |
name | 应用名称 | String | |
packageName | 包名称 | String | |
version | 版本 | String | |
versionCode | 版本号 | String | |
size | 大小 | Double | |
md5 | md5 | String | |
summary | 摘要 | String | |
createTime | 创建时间(上传时间) | timestamp |
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
获取上传accessToken(bos)
描述
获取上传accessToken(bos)
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/bos/access/token
请求参数
无
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
accessKeyId | 临时ak | String | |
secretAccessKey | 临时sk | String | |
securityToken | token | String | |
expireTime | 过期时间 | timestamp |
返回示例
{
"status": 0,
"data": {
"accessKeyId": "227fe7ce892e11eaa11c21dfc9828065",
"secretAccessKey": "aaf05b9a50f74e44be9f4a037d09e296",
"securityToken": "ZjkyZmQ2YmQxZTQ3NDcyNjk0ZTg1ZjYyYjlkZjNjODB8AAAAAK8BAACAU9eoSC0O4k6SigDxSqxeqP4wObDM/b0LswGInUsrnM4Si8Z919Ymz/qIC+sEhRCDMS/Ly/S6JPsJXpq8USxNl84wz9aSNWb33stHy3Qgg3VBqAMzLWE3B8jEXQjIfmsYX1QwYp5ZmeTzPGGUoh+PdsIdgSpMfLU6qdtF6mn0XrGMg7TYImrqXiD/D6Oa1Bkp3KNTHNrlc2L6zzhGm+NCe6tGMBxbkEkSvg+xTQpYc6uNyrzaBtAGeLcJPn9X2kSdkzvwYZY1za8edhTSF1V3RsgJVUUE7pT0au8uprKEYl7ujV48S1bOF8w74WWCood7mJJLrFkagHn63NWBAXz118jOYagPkOOihuz5X1A2vQ==",
"expireTime": 1588107382000
},
"message": null
}
上传应用(创建应用)
描述
上传应用(创建应用)
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/create
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
name | 应用名称 | String | 是 | |
fileName | 文件名称 | String | 是 | |
packageName | 应用包名 | String | 是 | |
version | 版本 | String | 是 | |
versionCode | 版本号 | String | 是 | |
logoUrl | logo地址 | String | 否 | |
size | 大小 | Long | 是 | |
md5 | md5 | String | 是 | |
summary | 摘要 | String | 否 | |
desc | 描述 | String | 否 | |
downloadUrl | 下载地址 | String | 是 | |
isSupportMirror | 是否支持镜像 | Integer | 否 | 0:不支持 1:支持 默认不支持 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": {
"id": 1,
"name" "应用名称"
}
}
批量安装应用
描述
批量安装应用
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/install
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 机器编码列表 | List |
否 | 设备编号列表,若设备列表不为空,则忽略安装数量,且设备编号列表和安装数量不能同时为空 |
count | 安装数量 | List |
否 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
批量卸载应用
描述
批量卸载应用
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/uninstall
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 机器编码列表 | List |
否 | 设备编号列表,若设备列表不为空,则忽略安装数量,且设备编号列表和安装数量不能同时为空 |
count | 安装数量 | List |
否 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
覆盖安装应用
描述
覆盖安装应用
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/cover/install
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用ID | Integer | 是 | |
padCodes | 机器编码列表 | List |
是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
删除应用
描述
删除应用
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/delete
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
name | 应用名称 | String | 是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
获取已安装列表
描述
获取已安装列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/installed/device/list
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用名称 | Integer | 是 | |
padCodes | 实例编码 | String | 否 | 多个实例以逗号隔开 |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
padcode | 实例编码 | String | |
installCount | 安装数量 | Integer | |
appNames | 应用名称 | String | |
installCount | 安装数量 | int | |
errorStatus | 错误状态 | Integer | |
motorRoom | 机房名称 | String | |
packageVersion | 版本号 | String |
返回示例
{
"status": 0,
"page": {
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 2,
"totalCount": 9,
"result": [{
"padCode": "VM010122008012",
"installCount": 2,
"appNames": "植物大战僵尸,百度地图",
"errorStatus": 0,
"motorRoom": "苏州机房",
"packageVersion": "10.23.0"
}, {
"padCode": "VM010122008013",
"installCount": 2,
"appNames": "植物大战僵尸,百度地图",
"errorStatus": 0,
"motorRoom": "苏州机房",
"packageVersion": "10.23.0"
}]
},
"message": null
}
批量修改应用状态
描述
批量修改应用状态
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/status/update
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
status | 应用状态 | Integer | 是 | 0:下线;1:上线 |
appIdList | 应用ID列表 | List |
是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
应用配置
应用配置列表
描述
获取应用配置列表信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/setting/list
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用id | Integer | 否 | |
packageName | 包名 | String | 否 | |
appName | 应用名称 | Integer | 否 | |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用配置ID | Integer | |
appId | 应用ID | Integer | |
appName | 应用名称 | String | |
level | 配置级别 | Integer | 0:低;1:中;2:高 |
compactedType | 压码方式 | Integer | 0:硬压; 1:软压 |
codeRate | 码率 | Integer | |
voiceStatus | 声音状态 | Integer | 0:打开; 1:关闭 |
resolution | 分辨率 | Integer | 1:368652; 2:480856; 3:720*1280 |
maxFrameRate | 最大帧率 | Integer | |
minFrameRate | 最小帧率 | Integer | |
maxDropFrame | 最大降帧 | Integer | |
minDropFrame | 最小降帧 | Integer | |
gop | gop | Integer | |
rebootType | 解绑后重启类型 | Integer | 0:重启;1:不重启 |
clearType | 数据清理类型 | Integer | 默认"2" "0":清理并重启设备 "1":不清理、重启设备 "2":不清理、不重启设备 |
clearPath | 清除路径 | String |
返回示例
{
"status": 0,
"message": "成功",
"data": [{
"id": 137,
"appId": 1000003,
"name": "网易新闻",
"level": 0,
"compactedType": 0,
"codeRate": 0,
"voiceStatus": 0,
"resolution": 0,
"maxFrameRate": 100,
"minFrameRate": 100,
"maxDropFrame": 100,
"minDropFrame": null,
"gop": 100,
"rebootType": 0,
"clearType": 0,
"clearPath": "",
"createTime": 1592210344000,
"updateTime": 1592239144000
}],
"total": 1,
"pageNo": 1,
"pageSize": 2
}
根据应用ID获取应用配置列表
描述
根据应用ID获取应用配置列表信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/setting/listByAppId
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用id | Integer | 是 | |
level | 包名 | Integer | 否 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用配置ID | Integer | |
appId | 应用ID | Integer | |
appName | 应用名称 | String | |
level | 配置级别 | Integer | 0:低;1:中;2:高 |
compactedType | 压码方式 | Integer | 0:硬压; 1:软压 |
codeRate | 码率 | Integer | |
voiceStatus | 声音状态 | Integer | 0:打开; 1:关闭 |
resolution | 分辨率 | Integer | 1:368652; 2:480856; 3:720*1280 |
maxFrameRate | 最大帧率 | Integer | |
minFrameRate | 最小帧率 | Integer | |
maxDropFrame | 最大降帧 | Integer | |
minDropFrame | 最小降帧 | Integer | |
gop | gop | Integer | |
rebootType | 解绑后重启类型 | Integer | 0:重启;1:不重启 |
clearType | 数据清理类型 | Integer | 默认"2" "0":清理并重启设备 "1":不清理、重启设备 "2":不清理、不重启设备 |
clearPath | 清除路径 | String |
返回示例
{
"status": 0,
"message": "成功",
"data": [{
"id": 137,
"appId": 1000003,
"name": null,
"level": 0,
"compactedType": 0,
"codeRate": 0,
"voiceStatus": 0,
"resolution": 0,
"maxFrameRate": 100,
"minFrameRate": 100,
"maxDropFrame": 100,
"minDropFrame": 100,
"gop": 100,
"rebootType": 0,
"clearType": 0,
"clearPath": "/User/hahaha",
"createTime": 1592210344000,
"updateTime": 1592270403000
},
{
"id": 138,
"appId": 1000003,
"name": null,
"level": 1,
"compactedType": 0,
"codeRate": 0,
"voiceStatus": 0,
"resolution": 0,
"maxFrameRate": 100,
"minFrameRate": 100,
"maxDropFrame": 100,
"minDropFrame": 100,
"gop": 100,
"rebootType": 0,
"clearType": 0,
"clearPath": "",
"createTime": 1592210344000,
"updateTime": 1592239144000
},
{
"id": 139,
"appId": 1000003,
"name": null,
"level": 2,
"compactedType": 0,
"codeRate": 0,
"voiceStatus": 0,
"resolution": 0,
"maxFrameRate": 100,
"minFrameRate": 100,
"maxDropFrame": 100,
"minDropFrame": 100,
"gop": 100,
"rebootType": 0,
"clearType": 0,
"clearPath": "",
"createTime": 1592210344000,
"updateTime": 1592239144000
}
]
}
应用配置列表
描述
获取应用配置列表信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/task/statistic/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appId | 应用id | Integer | 否 | |
packageName | 包名 | String | 否 | |
appName | 应用名称 | Integer | 否 | |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 应用配置ID | Integer | |
appId | 应用ID | Integer | |
appName | 应用名称 | String | |
level | 配置级别 | Integer | 0:低;1:中;2:高 |
compactedType | 压码方式 | Integer | 0:硬压; 1:软压 |
codeRate | 码率 | Integer | |
voiceStatus | 声音状态 | Integer | 0:打开; 1:关闭 |
resolution | 分辨率 | Integer | 1:368652; 2:480856; 3:720*1280 |
maxFrameRate | 最大帧率 | Integer | |
minFrameRate | 最小帧率 | Integer | |
maxDropFrame | 最大降帧 | Integer | |
minDropFrame | 最小降帧 | Integer | |
gop | gop | Integer | |
rebootType | 解绑后重启类型 | Integer | 0:重启;1:不重启 |
clearType | 数据清理类型 | Integer | 默认"2" "0":清理并重启设备 "1":不清理、重启设备 "2":不清理、不重启设备 |
clearPath | 清除路径 | String |
返回示例
{
"status": 0,
"message": "成功",
"data": [{
"id": 137,
"appId": 1000003,
"name": "网易新闻",
"level": 0,
"compactedType": 0,
"codeRate": 0,
"voiceStatus": 0,
"resolution": 0,
"maxFrameRate": 100,
"minFrameRate": 100,
"maxDropFrame": 100,
"minDropFrame": null,
"gop": 100,
"rebootType": 0,
"clearType": 0,
"clearPath": "",
"createTime": 1592210344000,
"updateTime": 1592239144000
}],
"total": 1,
"pageNo": 1,
"pageSize": 2
}
批量修改应用配置(应用配置维度)
说明
通过应用配置id指定的应用配置参数修改为同一参数
请求路径
POST /api/armcmapi/openapi/v1/app/setting/batch/update
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
ids | 应用配置id | Integer | 是 | 多个以逗号隔开(",") |
compactedType | 压码方式 | Integer | 否 | 0:硬压; 1:软压 |
voiceStatus | 声音状态 | Integer | 否 | 0:打开; 1:关闭 |
resolution | 分辨率 | Integer | 否 | 0:288*512 1:432*768 2:576*1024 3:720*1280 |
maxFrameRate | 最大帧率 | Integer | 否 | |
minFrameRate | 最小帧率 | Integer | 否 | |
maxDropFrame | 最大降帧 | Integer | 否 | |
minDropFrame | 最小降帧 | Integer | 否 | |
clearType | 清除类型 | String | 否 | 0:DEFAULT;1:ALL;2:OTHER; |
clearPathType | 清除目录类型 | String | 否 | 0:清理并重启设备 1:不清理、重启设备 2:不清理、不重启设备', 默认0 |
clearPath | 清除路径 | String | 否 | |
codeRate | 码率 | Integer | 否 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
批量修改应用配置(应用维度)
说明
限制修改同一个应用下的应用配置,可以通过level参数修改应用的默认level;
请求路径
POST /api/armcmapi/openapi/v1/app/setting/batch/updateByList
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
level | 应用id | Integer | 否 | |
list | 应用配置列表 | List | 是 | 以下为列表对象中的字段 |
id | 应用配置id | Integer | 是 | |
compactedType | 压码方式 | Integer | 否 | 0:硬压; 1:软压 |
voiceStatus | 声音状态 | Integer | 否 | 0:打开; 1:关闭 |
resolution | 分辨率 | Integer | 否 | 0:288*512 1:432*768 2:576*1024 3:720*1280 |
maxFrameRate | 最大帧率 | Integer | 否 | |
minFrameRate | 最小帧率 | Integer | 否 | |
maxDropFrame | 最大降帧 | Integer | 否 | |
minDropFrame | 最小降帧 | Integer | 否 | |
clearType | 清除类型 | String | 否 | 0:清理并重启设备 1:不清理、重启设备 2:不清理、不重启设备', 默认0 |
clearType | 清除类型 | String | 否 | 0:DEFAULT;1:ALL;2:OTHER; |
clearPath | 清除路径 | String | 否 | |
codeRate | 码率 | Integer | 否 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
排队策略
获取实时排队人数接口
描述
根据应用id获取实时排队人数
请求路径
GET /api/armcmapi/openapi/v1/queue/current/user/count
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appIds | 应用ID | Integer | 是 | 多个id以","隔开 |
tagKey | tagKey | String | 否 | 默认值为 NO_TAG |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appId | 应用ID | Integer | |
count | 排队人数 | Long |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"appId": 1,
"count": 10
},
{
"appId": 2,
"count": 50
}
]
}
获取退出排队人数
描述
根据开始和结束时间获取退出人数数量
请求路径
GET /api/armcmapi/openapi/v1/queue/quit/user/count
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appIds | 应用ID | Integer | 否 | 多个id以","隔开 |
startTime | 开始时间 | Long | 是 | 时间戳 |
endTime | 结束时间 | Long | 是 | 时间戳 |
tagKey | tagKey | String | 否 | 默认值为 NO_TAG |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appId | 应用ID | Integer | |
count | 退出排队人数 | Long |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"appId": 1,
"count": 10
},
{
"appId": 2,
"count": 50
}
]
}
实时预估等待时长
描述
获取队列中用户预估实时等待时长
请求路径
GET /api/armcmapi/openapi/v1/queue/current/estimted/waiting/time
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appIds | 应用ID | String | 是 | 多个id以","隔开 |
tagKey | tagKey | String | 否 | 默认值为 NO_TAG |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appId | 应用ID | Integer | |
waitingTime | 最后一个用户预估等待时长 | Long | 单位毫秒 |
count | 排队人数 | Long |
返回示例
{
"status": 0,
"message": "成功",
"data": [{
"appId": 1,
"waitingTime": 540000,
"count": 540000
},
{
"appId": 2,
"waitingTime": 540000,
"count": 540000
}
]
}
获取排队权重策略
描述
获取排队权重策略,若应用id为空,查询全部策略(翻页)
请求路径
GET /api/armcmapi/openapi/v1/mirror/queue/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
appIds | 应用ID | String | 否 | 多个id以","隔开 |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appId | 应用ID | Integer | |
weight | 权重 | Integer |
返回示例
{
"status": 0,
"message": "成功",
"data": [
{
"appId": 1,
"weight": 10
},
{
"appId": 2,
"weight": 50
}
],
"total": 2,
"pageNo": 1,
"pageSize": 10
}
运维与监控
获取应用任务统计信息
描述
获取应用任务统计信息
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/task/statistic/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
begin | 开始时间 | timescatmp | 是 | |
end | 结束时间 | timescatmp | 是 | |
status | 状态 | Integer | 否 | 1:等待;2:运行;3:完成;4:终止; |
type | 类型 | Integer | 否 | 1:安装;2:卸载;3:覆盖安装; |
status | 状态 | Integer | 否 | |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
id | 任务id | Integer | |
appName | 应用名称 | Integer | |
type | 任务类型 | Integer | 1:安装;2:卸载;3:覆盖安装; |
status | 任务状态 | Integer | 1:等待;2:运行;3:完成;4:终止; |
waitCount | 等待数量 | Integer | |
runningCount | 运行数量 | Integer | |
completeCount | 完成数量 | Integer | |
stopCount | 终止数量 | Integer | |
errorCount | 错误数量 | Integer | |
timeoutCount | 超时数量 | Integer | |
operator | 操作人 | String | |
createTime | 创建时间 | timescatmp |
返回示例
{
"status": 0,
"page": {
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 2,
"totalCount": 12,
"result": [
{
"id": 250,
"appId": 1000103,
"appName": "test6",
"padCodes": "",
"type": 2,
"status": 1,
"waitCount": 0,
"runningCount": 0,
"completeCount": 0,
"stopCount": 0,
"errorCount": 0,
"timeoutCount": 0,
"occupyCount": 0,
"operator": "",
"createTime": 1586716182000
},
{
"id": 87,
"appId": 1000034,
"appName": "手机百度",
"padCodes": "",
"type": 2,
"status": 3,
"waitCount": 1,
"runningCount": 0,
"completeCount": 1,
"stopCount": 0,
"errorCount": 0,
"timeoutCount": 0,
"occupyCount": 0,
"operator": "",
"createTime": 1586222153000
}
]
},
"message": null
}
终止应用任务
描述
终止应用任
请求头域
除公共头域外,无其它特殊头域。
请求路径
POST /api/armcmapi/openapi/v1/app/task/stop
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
taskId | 任务id | Integer | 是 |
返回参数
无
返回示例
{
"status": 0,
"message": "成功",
"data": null
}
获取应用任务详情列表
描述
获取应用任务详情列表
请求头域
除公共头域外,无其它特殊头域。
请求路径
GET /api/armcmapi/openapi/v1/app/task/statistic/list/page
请求参数
字段 | 名称 | 类型 | 必填 | 备注 |
---|---|---|---|---|
taskId | 任务id | Integer | 是 | |
pageSize | 每页数量限制 | int | 否 | 默认10 |
pageNo | 页码 | int | 否 | 默认1 |
返回参数
字段 | 名称 | 类型 | 备注 |
---|---|---|---|
appName | 应用名称 | String | |
padCode | 实例编号 | String | |
duration | 使用时长 | timestamp | |
status | 状态 | Integer | |
type | 任务类型 | Integer | 1:安装;2:卸载;3:覆盖安装; |
createTime | 任务发起时间 | timestamp |
返回示例
{
"status": 0,
"data": [
{
"padCode": "VM010121250016",
"appId": 1,
"appName": "张庆贺",
"duration": 500000,
"status": 1,
"type": 1,
"createTime": 1641052800000
}
],
"message": null,
"orderBy": "",
"order": "",
"pageNo": 1,
"pageSize": 20,
"totalCount": 1
}