Introduction
This document provides detailed API descriptions, syntax, parameter explanations, and examples, allowing you to manage cloud phone service resources through API calls.
Change Log
2025-02-20
- Added Instance installed application list query interface
2025-02-12
- Updated Create Automated Task API Support adding video like and comment tasks
2025-02-08
- Updated Instance File Upload Callback API
- Updated Set Smart IP API
- Updated Set Smart IP API
- Added Equipment task execution result query API
2025-02-07
- Updated Intelligent IP Proxy Check API
2025-02-06
- Added Switch Root Permission API
- Added Cloud Phone Status Example description
- Optimized Automated Task Type Request Parameter description
2025-01-26
- Added Query Instance Properties API
- Added Batch Query Instance Properties API
- Added Modify Instance Properties API
- Updated Modify Contacts API
- Added Modify Real Machine ADI Template API
2025-01-23
- Added Intelligent IP Proxy Check API
- Added Set Smart IP API
- Added Cancel Intelligent IP API
2025-01-22
- Added GET request to retrieve signature JAVA example demo
2025-01-21
- Added SKU Package List API
- Optimized Create Cloud Phone API to support renewal functionality
2025-01-16
- Added Local Screenshot API
- Added Get SDK Temporary Token by padCode API
- Added Get SDK Temporary Token API
- Added Clear SDK Authorization Token API
- Added Upgrade Image API
- Added Upgrade Real Machine Image API
2025-01-08
- Added Automated Task List Query API
- Added Create Automated Task API
- Added Cancel Automated Task API
- Added Retry Automated Task API
- Added Application Details API
2025-01-07
- Added Create Cloud Phone API
- Added Cloud Phone List API
- Added Cloud Phone Information Query API
- Added Modify Instance Time Zone API
- Added Modify Instance Language API
- Added Modify Instance SIM Card Information API
- Added Set Instance Latitude/Longitude API
- Added Uninstall App API
- Added Start App API
- Added Stop App API
- Added Restart App API
2024-12-17
- Added File Upload API
- Added Instance File Upload API
2024-12-12
- Added Instance Proxy Settings API
- Added One-Click New Device API
2024-12-09
- Added Modify Contacts API
- Added Application Upload API
- Added File Task Details API
- Added Application Installation API
2024-12-09
- Document Release
API Request Instructions
Prerequisites
Obtain the Access Key ID and Secret Access Key (AK/SK) of your account for API request authentication. Please contact the technical contact person to obtain them.
Common Request Parameters
Each API request must include the following four parameters in the Headers for authentication; otherwise, the API request will not work properly.
Parameter Name | Type | Example Value | Description |
---|---|---|---|
x-date | string | 20240301T093700Z | The timestamp of the request, in UTC, accurate to the second |
x-host | string | openapi.armcloud.net | The domain for accessing the API |
authorization | string | HMAC-SHA256 Credential={AccessKey}, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature={Signature} | The signature included in the request |
Content-Type | string | application/json | The MIME type of the resource |
Authorization Signature Mechanism
For each HTTPS protocol request, the identity of the requester is verified based on the signature information in the request. This is achieved through encryption and validation using the AccessKey ID and AccessKey Secret (AK/SK) associated with the user account.
Manual Signature
Note
The signature requires a series of processing steps for the request parameters, including sorting, concatenation, and encryption. This method provides greater flexibility and customization, making it suitable for developers who have a deep understanding of the signature algorithm. However, manual signing requires developers to write additional code to implement the signing process, which may increase development complexity and the potential for errors. Therefore, we still recommend using the SDK to call the API and try to avoid writing signature code by hand. If you need to understand the principles and detailed process of signature calculation, you can refer to the following documentation.
The manual signature mechanism requires the requester to calculate the hash value of the request parameters, which is then encrypted and sent to the server along with the API request. The server will calculate the signature of the received request using the same mechanism and compare it with the signature provided by the requester. If the signature verification fails, the request will be rejected.
Obtain the Access Key ID and Secret Access Key (AK/SK) of your account for API request authentication. Please contact the technical contact person to obtain them.
Constructing the Canonical Request String (CanonicalRequest)
String canonicalStringBuilder=
"host:"+*${host}*+"\n"+
"x-date:"+*${xDate}*+"\n"+
"content-type:"+*${contentType}*+"\n"+
"signedHeaders:"+*${signedHeaders}*+"\n"+
"x-content-sha256:"+*${xContentSha256}*;
Field | Description |
---|---|
host | The service domain of the request. Fixed to: api.vmoscloud.com |
x-date | Refers to the UTC time of the request, which is the value of the X-Date header in the public parameters. It follows the ISO 8601 standard format: YYYYMMDD'T'HHMMSS'Z' , for example: 20201103T104027Z |
content-type | The media type of the request or response body(application/json) |
signedHeaders | Headers involved in signing. They correspond one-to-one with the CanonicalHeaders. The purpose is to specify which headers are involved in the signing calculation, thereby ignoring any extra headers added by a proxy. The headers host and x-date , if present, must be included. Pseudocode example: SignedHeaders=Lowercase(HeaderName0)+';'+Lowercase(HeaderName1)+";"+...+Lowercase(HeaderNameN) Example: SignedHeaders=content-type;host;x-content-sha256;x-date |
x-content-sha256 | hashSHA256(body) Note: the body should be trimmed of spaces before calculating hashSHA256 |
Construct the string to be signed (StringToSign)
The signature string primarily contains metadata about the request and the canonicalized request. It consists of the signature algorithm, request date, credential, and the hash value of the canonicalized request.
To construct the StringToSign, the pseudocode is as follows:
StringToSign=
Algorithm+'\n'+
xDate+'\n'+
CredentialScope+'\n'+
hashSHA256(canonicalStringBuilder.getByte())
Field | Description |
---|---|
Algorithm | Refers to the signature algorithm, currently only HMAC-SHA256 is supported. |
x-date | Refers to the UTC time of the request, which is the value of the X-Date header in the public parameters. It follows the ISO 8601 standard format: YYYYMMDD'T'HHMMSS'Z' , for example: 20201103T104027Z |
CredentialScope | Refers to the credential, formatted as: ${YYYYMMDD}/${service}/request , where ${YYYYMMDD} is the date from X-Date, ${service} is fixed as armcloud-paas, and request is a fixed value. See below for "Calculating CredentialScope" |
CanonicalRequest | Refers to the result of constructing the canonical request string. |
|
Calculating CredentialScope
String credentialScope = shortXDate+"/"+service+"/request";
shortXDate: Short request time (the first 8 digits of x-date, for example: 20201103)
service: Service name (fixed as armcloud-paas)
"/request": Fixed value
Signingkey Example
HMAC Hash Operation Sequence to Generate the Derived Signing Key
byte[]Signingkey=hmacSHA256(hmacSHA256(hmacSHA256(sk.getBytes(),shortXDate),service),”request”);
Field | Description |
---|---|
sk | Customer's secret key |
shortXDate | Short request date |
Service | Service name, temporarily fixed as armcloud-paas |
Signature Example
signature=HexEncode(hmacSHA256(Signingkey,StringToSign))
Signature Generation Utility Class Example (Java)
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import java.security.MessageDigest;
public class PaasSignUtils {
public static final String service = "armcloud-paas";
public static String signature(String contentType, String signedHeaders, String host, String xDate, String sk, byte[] body) throws Exception {
if (body == null) {
body = new byte[0];
}
String xContentSha256 = hashSHA256(body);
String shortXDate = xDate.substring(0, 8);
String canonicalStringBuilder = "host:" + host + "\n" + "x-date:" + xDate + "\n" + "content-type:" + contentType + "\n" + "signedHeaders:" + signedHeaders + "\n" + "x-content-sha256:" + xContentSha256;
String hashcanonicalString = hashSHA256(canonicalStringBuilder.getBytes());
String credentialScope = shortXDate + "/" + service + "/request";
String signString = "HMAC-SHA256" + "\n" + xDate + "\n" + credentialScope + "\n" + hashcanonicalString;
byte[] signKey = genSigningSecretKeyV4(sk, shortXDate, service);
return bytesToHex(hmacSHA256(signKey, signString));
}
public static String hashSHA256(byte[] content) throws Exception {
try {
MessageDigest md = MessageDigest.getInstance("SHA-256");
return bytesToHex(md.digest(content));
} catch (Exception e) {
throw new Exception("Unable to compute hash while signing request: " + e.getMessage(), e);
}
}
public static byte[] hmacSHA256(byte[] key, String content) throws Exception {
try {
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(key, "HmacSHA256"));
return mac.doFinal(content.getBytes());
} catch (Exception e) {
throw new Exception("Unable to calculate a request signature: " + e.getMessage(), e);
}
}
private static byte[] genSigningSecretKeyV4(String secretKey, String date, String service) throws Exception {
byte[] kDate = hmacSHA256((secretKey).getBytes(), date);
byte[] kService = hmacSHA256(kDate, service);
return hmacSHA256(kService, "request");
}
public static String bytesToHex(byte[] bytes) {
if (bytes == null || bytes.length == 0) {
return "";
}
final StringBuilder result = new StringBuilder();
for (byte b : bytes) {
result.append(String.format("%02x", b));
}
return result.toString();
}
}
API Call Demo Example (Java)
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Component;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@Slf4j
@Component
public class ApiRequestUtils {
private static final String API_HOST = "api.vmoscloud.com";
private static final String CONTENT_TYPE = "application/json;charset=UTF-8";
private static final String ACCESS_KEY = "Access Key ID";
private static final String SECRET_ACCESS_KEY = "Secret Access Key";
/**
* Test Call
*/
public static void main(String[] args) {
//POST request
JSONObject params = new JSONObject();
params.put("taskIds", new int[]{4224});
String url = "https://api.vmoscloud.com/vcpcloud/api/padApi/padTaskDetail";
String result = sendPostRequest(url, params);
System.out.println(result);
//GET request
// String url = "https://api.vmoscloud.com/vcpcloud/api/padApi/stsToken";
// String result = sendGetRequest(url, null);
}
public static String sendGetRequest(String url, JSONObject params) {
String xDate = DateToUTC(LocalDateTime.now());
StringBuilder urlWithParams = new StringBuilder(url);
// Constructing URL parameters
if (params != null && !params.isEmpty()) {
urlWithParams.append("?");
params.forEach((key, value) ->
urlWithParams.append(key).append("=").append(value).append("&")
);
// Remove the final "&"
urlWithParams.setLength(urlWithParams.length() - 1);
}
HttpGet httpGet = new HttpGet(urlWithParams.toString());
// Set public header
httpGet.setHeader("content-type", CONTENT_TYPE);
httpGet.setHeader("x-host", API_HOST);
httpGet.setHeader("x-date", xDate);
// Generate Authorization Header
String authorizationHeader = getAuthorizationHeader(xDate, params == null ? null : params.toJSONString(), SECRET_ACCESS_KEY);
httpGet.setHeader("authorization", authorizationHeader);
try (CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = httpClient.execute(httpGet)) {
HttpEntity responseEntity = response.getEntity();
return EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
} catch (Exception e) {
throw new RuntimeException("Request failed", e);
}
}
/**
* Public request methods
*/
public static String sendPostRequest(String url, JSONObject params) {
String xDate = DateToUTC(LocalDateTime.now());
HttpPost httpPost = new HttpPost(url);
// Set public header
httpPost.setHeader("content-type", CONTENT_TYPE);
httpPost.setHeader("x-host", API_HOST);
httpPost.setHeader("x-date", xDate);
// Generate Authorization Header
String authorizationHeader = getAuthorizationHeader(xDate, params.toJSONString(), SECRET_ACCESS_KEY);
httpPost.setHeader("authorization", authorizationHeader);
// Set the request body
StringEntity entity = new StringEntity(params.toJSONString(), StandardCharsets.UTF_8);
httpPost.setEntity(entity);
// Execute Request
try (CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = httpClient.execute(httpPost)) {
HttpEntity responseEntity = response.getEntity();
return EntityUtils.toString(responseEntity, StandardCharsets.UTF_8);
} catch (Exception e) {
throw new RuntimeException("Request failed", e);
}
}
/**
* Use UTC time, accurate to seconds
*
* @param dateTime LocalDateTime
* @return String
*/
public static String DateToUTC(LocalDateTime dateTime) {
// Define date and time format
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuuMMdd'T'HHmmss'Z'");
return dateTime.format(formatter);
}
/**
* Get Signature
*/
private static String getSign(String xDate, String sk, String requestBody) throws Exception {
String body = requestBody == null ? null : JSONObject.parseObject(requestBody, Feature.OrderedField).toJSONString();
return PaasSignUtils.signature(CONTENT_TYPE, "content-type;host;x-content-sha256;x-date", API_HOST, xDate, sk, body == null ? null : body.getBytes(StandardCharsets.UTF_8));
}
/**
* Get the Authorization header
*/
private static String getAuthorizationHeader(String currentTimestamp, String body, String sk) {
try {
String sign = getSign(currentTimestamp, sk, body);
return String.format("HMAC-SHA256 Credential=%s, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=%s", ACCESS_KEY, sign);
} catch (Exception e) {
throw new RuntimeException("Failed to generate signature", e);
}
}
}
Interface call demo example (python)
import binascii
import datetime
import hmac
import hashlib
import json
import traceback
import requests
def get_signature(data, x_date, host, content_type, signed_headers, sk):
# Given JSON data
# TODO Convert JSON data to string (Modify the place, the incoming JSON needs to remove spaces)
json_string = json.dumps(data, separators=(',', ':'), ensure_ascii = False)
print(json_string)
# Calculate the SHA-256 hash value
hash_object = hashlib.sha256(json_string.encode())
x_content_sha256 = hash_object.hexdigest()
# Using f-string to build canonicalStringBuilder
canonical_string_builder = (
f"host:{host}\n"
f"x-date:{x_date}\n"
f"content-type:{content_type}\n"
f"signedHeaders:{signed_headers}\n"
f"x-content-sha256:{x_content_sha256}"
)
# Assume these variables have been assigned values
# short_x_date = datetime.datetime.now().strftime("%Y%m%d") # Short request time, for example: "20240101"
short_x_date = x_date[:8] # Short request time, for example: "20240101"
service = "armcloud-paas" # Service name
# Constructing credentialScope
credential_scope = "{}/{}/request".format(short_x_date, service)
# Assume these variables have been assigned
algorithm = "HMAC-SHA256"
# Calculate the SHA-256 hash of canonicalStringBuilder
hash_sha256 = hashlib.sha256(canonical_string_builder.encode()).hexdigest()
# Constructing StringToSign
string_to_sign = (
algorithm + '\n' +
x_date + '\n' +
credential_scope + '\n' +
hash_sha256
)
# Assume these variables have been assigned values
service = "armcloud-paas" # Service name
# First hmacSHA256
first_hmac = hmac.new(sk.encode(), digestmod=hashlib.sha256)
first_hmac.update(short_x_date.encode())
first_hmac_result = first_hmac.digest()
# Second hmacSHA256
second_hmac = hmac.new(first_hmac_result, digestmod=hashlib.sha256)
second_hmac.update(service.encode())
second_hmac_result = second_hmac.digest()
# The third hmacSHA256
signing_key = hmac.new(second_hmac_result, b'request', digestmod=hashlib.sha256).digest()
# Calculate HMAC-SHA256 using signing_key and string_to_sign
signature_bytes = hmac.new(signing_key, string_to_sign.encode(), hashlib.sha256).digest()
# Convert the result of HMAC-SHA256 to a hexadecimal encoded string
signature = binascii.hexlify(signature_bytes).decode()
return signature
def paas_url_util(url, data, ak, sk):
x_date = datetime.datetime.now().strftime("%Y%m%dT%H%M%SZ")
content_type = "application/json"
signed_headers = f"content-type;host;x-content-sha256;x-date"
ShortDate = x_date[:8]
host = "openapi-hk.armcloud.net"
# Get signature
signature = get_signature(data, x_date, host, content_type, signed_headers, sk)
url = f"http://openapi-hk.armcloud.net{url}"
payload = json.dumps(data)
headers = {
'Content-Type': content_type,
'x-date': x_date,
'x-host': host,
'authorization': f"HMAC-SHA256 Credential={ak}/{ShortDate}/armcloud-paas/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature={signature}"
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()
def vmos_url_util(url, data, AccessKey, sk):
x_date = datetime.datetime.now().strftime("%Y%m%dT%H%M%SZ")
content_type = "application/json;charset=UTF-8"
signed_headers = f"content-type;host;x-content-sha256;x-date"
ShortDate = x_date[:8]
host = "api.vmoscloud.com"
# Get signature
signature = get_signature(data, x_date, host, content_type, signed_headers, sk)
url = f"https://api.vmoscloud.com{url}"
payload = json.dumps(data, ensure_ascii = False)
headers = {
'content-type': "application/json;charset=UTF-8",
'x-date': x_date,
'x-host': "api.vmoscloud.com",
'authorization': f"HMAC-SHA256 Credential={AccessKey}, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature={signature}"
}
response = requests.request("POST", url, headers=headers, data=payload)
return response.json()
#Get instance list information by paging based on query conditions/vcpcloud/api/padApi/infos
pad_infos_url='/vcpcloud/api/padApi/padTaskDetail'
pad_infos_body={"taskIds":[4224]}
#vmos interface call
print(vmos_url_util(pad_infos_url, pad_infos_body, 'Access Key ID','Secret Access Key'))
Data encryption and decryption example
Java AES GCM Decryption
import javax.crypto.Cipher;
import javax.crypto.spec.GCMParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.Base64;
public class AESUtils {
private static final String AES = "AES";
private static final String AES_CIPHER_ALGORITHM = "AES/GCM/NoPadding";
private static final int GCM_TAG_LENGTH = 16;
private static final int GCM_IV_LENGTH = 12;
/**
* Generates a SecretKeySpec from a given string key
*/
private static SecretKeySpec getKeyFromPassword(String password) throws NoSuchAlgorithmException {
MessageDigest sha = MessageDigest.getInstance("SHA-256");
byte[] key = sha.digest(password.getBytes());
return new SecretKeySpec(key, AES);
}
/**
* Generates a new Initialization Vector (IV)
*/
public static byte[] generateIv() {
byte[] iv = new byte[GCM_IV_LENGTH];
new SecureRandom().nextBytes(iv);
return iv;
}
/**
* Encrypts a plain text using AES algorithm and returns both the cipher text and IV
*/
public static String encrypt(String input, String key) {
try {
SecretKeySpec secretKeySpec = getKeyFromPassword(key);
byte[] iv = generateIv();
Cipher cipher = Cipher.getInstance(AES_CIPHER_ALGORITHM);
GCMParameterSpec gcmParameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, iv);
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec, gcmParameterSpec);
byte[] cipherText = cipher.doFinal(input.getBytes());
// Encode IV and cipher text to Base64 and concatenate them with a separator
String ivString = Base64.getEncoder().encodeToString(iv);
String cipherTextString = Base64.getEncoder().encodeToString(cipherText);
return ivString + ":" + cipherTextString;
} catch (Exception e) {
log.error("encrypt error >>>input:{} key:{}", input, key, e);
return null;
}
}
/**
* Decrypts an encrypted text using AES algorithm
*/
public static String decrypt(String encryptedData, String key) {
try {
SecretKeySpec secretKeySpec = getKeyFromPassword(key);
// Split the encrypted data into IV and cipher text
String[] parts = encryptedData.split(":");
String ivString = parts[0];
String cipherTextString = parts[1];
byte[] iv = Base64.getDecoder().decode(ivString);
byte[] cipherText = Base64.getDecoder().decode(cipherTextString);
Cipher cipher = Cipher.getInstance(AES_CIPHER_ALGORITHM);
GCMParameterSpec gcmParameterSpec = new GCMParameterSpec(GCM_TAG_LENGTH * 8, iv);
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, gcmParameterSpec);
byte[] plainText = cipher.doFinal(cipherText);
return new String(plainText);
} catch (Exception e) {
log.error("decrypt error >>>encryptedData:{} key:{}", encryptedData, key, e);
return null;
}
}
/**
* Encodes the input byte array to a Base64 string
*/
public static String encodeToString(byte[] input) {
return Base64.getEncoder().encodeToString(input);
}
// Encodes the input string to a Base64 string
public static String encodeToString(String input) {
return Base64.getEncoder().encodeToString(input.getBytes());
}
/**
* Decodes the input Base64 string to a byte array
*/
public static byte[] decodeToBytes(String input) {
return Base64.getDecoder().decode(input);
}
/**
* Decodes the input Base64 string to a regular string
*/
public static String decodeToString(String input) {
byte[] decodedBytes = Base64.getDecoder().decode(input);
return new String(decodedBytes);
}
/**
* Encodes the input byte array to a Base64 byte array
*/
public static byte[] encodeToBytes(byte[] input) {
return Base64.getEncoder().encode(input);
}
/**
* Decodes the input Base64 byte array to a byte array
*/
public static byte[] decodeToBytes(byte[] input) {
return Base64.getDecoder().decode(input);
}
public static void main(String[] args) throws Exception {
String key = "AC22030010001"; // 任意字符串作为密钥
// Decrypt the cipher text
String decryptedText = decrypt("iMzQUI7SwzSD0kGJ:4FZ1fn1Jdd5Z4j2ehn/F3VSUVWBwLFQZH/HOCjLAI95r", key);
System.out.println("Decrypted text: " + decryptedText);
}
}
API Overview
Instance Management
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/restart | Instance Restart | Restart a specified instance to resolve issues like system unresponsiveness or freezes. |
/vcpcloud/api/padApi/reset | Instance Reset | Reset a specified instance. |
/vcpcloud/api/padApi/padProperties | Query Instance Properties | Query the properties of a specified instance. |
/vcpcloud/api/padApi/batchPadProperties | Batch Query Instance Properties | Batch query the properties of specified instances, including system properties and configuration settings. |
/vcpcloud/api/padApi/updatePadProperties | Modify Instance Properties | Dynamically modify the properties of an instance, including system properties and settings. |
/vcpcloud/api/padApi/dissolveRoom | Stop Stream | Stop streaming on a specified instance. |
/vcpcloud/api/padApi/updatePadAndroidProp | Modify Instance Android Device Properties | Modify the Android modification properties of an instance. |
/vcpcloud/api/padApi/setProxy | Set Proxy for Instance | Set proxy information for a specified instance. |
/vcpcloud/api/padApi/replacePad | One-Click New Device | Replace the instance with a new machine in one click. |
Instance Operations
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/asyncCmd | Execute Async ADB Command | Execute adb commands in one or more cloud phone instances (asynchronous task). |
/vcpcloud/api/padApi/syncCmd | Synchronously Execute ADB Commands | Execute adb commands in one or more cloud phone instances (synchronous task). |
/vcpcloud/api/padApi/generatePreview | Generate Preview Image | Take a screenshot of the current cloud phone screen and get the download link for the screenshot. |
/vcpcloud/api/padApi/adb | Open/Close ADB | Turn on or off the ADB for a specific instance based on the instance ID. |
/vcpcloud/api/padApi/updateContacts | Modify Contacts | Modify the contacts list. |
/vcpcloud/api/padApi/updateTimeZone | Modify Instance Time Zone | Modify the time zone of the instance. |
/vcpcloud/api/padApi/updateLanguage | Modify Instance Language | Modify the language of the instance. |
/vcpcloud/api/padApi/updateSIM | Modify Instance SIM Card Info | Modify the SIM card information of the instance. |
/vcpcloud/api/padApi/gpsInjectInfo | Set Instance Latitude/Longitude | Set the latitude and longitude of the instance. |
/vcpcloud/api/padApi/screenshot | Local Screenshot | Take a local screenshot. |
/vcpcloud/api/padApi/upgradeImage | Upgrade Image | Upgrade the image of the instance. |
/vcpcloud/api/padApi/virtualRealSwitch | Upgrade Physical Machine Image | Upgrade the physical machine image of the instance. |
/vcpcloud/api/padApi/checkIP | Smart IP Proxy Check | Check the smart IP proxy. |
/vcpcloud/api/padApi/smartIp | Set Smart IP | Set the smart IP. |
/vcpcloud/api/padApi/notSmartIp | Cancel Intelligent IP | Cancel the intelligent IP setting. |
/vcpcloud/api/padApi/getTaskStatus | Equipment task execution result query. | Equipment task execution result query. |
/vcpcloud/api/padApi/switchRoot | Switch Root Permission | Switch Root Permission |
Resource Management
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/infos | Instance List Information | Query information about all ordered instances. |
Application Management
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/updateApp | App Upload | Upload application installation files to the Application Management Center (asynchronous task). |
/vcpcloud/api/padApi/installApp | Application Installation | Install and deploy a specified application to the specified cloud instance (asynchronous task). |
/vcpcloud/api/padApi/uninstallApp | Uninstall App | Uninstall App |
/vcpcloud/api/padApi/startApp | Start App | Start App |
/vcpcloud/api/padApi/stopApp | Stop App | Stop App |
/vcpcloud/api/padApi/restartApp | Restart App | Restart App |
/vcpcloud/api/padApi/appDetail | Application Details | Query detailed information about the application. |
/vcpcloud/api/padApi/updateFile | File Upload | Upload files to the File Management Center (asynchronous task). |
/vcpcloud/api/padApi/padUpdateFile | Instance File Upload | Push files from the File Management Center to one or more cloud phone instances (asynchronous task). |
/vcpcloud/api/padApi/listInstalledApp | Instance installed application list query | Query the list of installed applications for an instance |
Task Management
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/padTaskDetail | Instance Operation Task Details | Query detailed execution results of a specified instance operation task. |
/vcpcloud/api/padApi/fileTaskDetail | File Task Details | Query detailed execution results of a specified file task. |
Cloud Phone Management
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/createMoneyOrder | Create Cloud Phone | Create a new cloud phone instance. |
/vcpcloud/api/padApi/userPadList | Cloud Phone List | List of cloud phones. |
/vcpcloud/api/padApi/padInfo | Cloud Phone Information Query | Query the information of a cloud phone instance. |
/vcpcloud/api/padApi/getCloudGoodList | SKU Package List | List of SKU packages. |
/vcpcloud/api/padApi/replaceRealAdiTemplate | Modify Real Machine ADI Template | Modify the ADI template of a physical machine. |
TK Automation
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/autoTaskList | Automated Task List Query | Query the list of automated tasks. |
/vcpcloud/api/padApi/addAutoTask | Create Automation Task | Create a new automated task. |
/vcpcloud/api/padApi/reExecutionAutoTask | Automated Task Retry | Retry an automated task. |
/vcpcloud/api/padApi/cancelAutoTask | Automated Task Cancellationlation | Cancel an automated task. |
SDK Token
API Endpoint | API Name | API Description |
---|---|---|
/vcpcloud/api/padApi/stsToken | Get SDK Temporary Token | Issue a temporary SDK token for user authentication of cloud phone services. |
/vcpcloud/api/padApi/stsTokenByPadCode | Get SDK Temporary Token | Issue a temporary SDK token for user authentication of cloud phone services, based on pad code. |
/vcpcloud/api/padApi/clearStsToken | Clear SDK Authorization Token | Clear the SDK authorization token. |
OpenAPI Interface List
Instance Management
Instance Restart
Perform a restart operation on the specified instance to resolve issues like system unresponsiveness or freezing.
API Endpoint
/vcpcloud/api/padApi/restart
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | ||
├─ | AC21020010001 | String | Yes | Instance ID |
groupIds | Integer[] | No | ||
├─ | 1 | Integer | No | Instance Group ID |
Response Parameters
Parameter Name | Example Value | Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC21020010001 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance online status (0: Offline; 1: Online) |
Request Example
{
"padCodes": ["AC22030022693"],
"groupIds": [1]
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data":[
{
"taskId": 1,
"padCode": "AC21020010001",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
10001 | Restart failed | Contact administrator |
110004 | Failed to execute restart command | Retry restart later |
110028 | Instance does not exist | Check if the instance exists |
Instance Reset
Performs a reset operation on the specified instance to clear applications and files.
API Endpoint
/vcpcloud/api/padApi/reset
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | ||
├─ | AC21020010001 | String | Yes | Instance ID |
groupIds | Integer[] | No | ||
├─ | 1 | Integer | No | Instance Group ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC21020010001 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance Online Status (0: Offline; 1: Online) |
Request Example
{
"padCodes": ["AC21020010001"],
"groupIds": [1]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717559681604,
"data": [
{
"taskId": 88,
"padCode": "AC22030010001",
"vmStatus": 1
},
{
"taskId": 89,
"padCode": "AC22030010002",
"vmStatus": 0
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
10002 | Reset failed | Contact administrator |
110005 | Failed to execute reset command | Retry reset later |
Query Instance Properties
Query the properties of a specified instance, including system property information and settings.
API Endpoint
/vcpcloud/api/padApi/padProperties
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Type | Required | Description |
---|---|---|---|---|
padCode | AC21020010001 | String | Yes | Instance code |
Response Parameters
Parameter Name | Example Value | Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object | ||
├─ padCode | AC21020010001 | String | Instance code |
├─ modemPropertiesList | Object[] | Modem properties list | |
├─ ├─ propertiesName | IMEI | String | Property name |
├─ ├─ propertiesValue | 412327621057784 | String | Property value |
├─ systemPropertiesList | Object[] | System properties list | |
├─ ├─ propertiesName | ro.build.id | String | Property name |
├─ ├─ propertiesValue | QQ3A.200805.001 | String | Property value |
├─ settingPropertiesList | Object[] | Setting properties list | |
├─ ├─ propertiesName | ro.build.tags | String | Property name |
├─ ├─ propertiesValue | release-keys | String | Property value |
├─ oaidPropertiesList | Object[] | Oaid properties list | |
├─ ├─ propertiesName | oaid | String | Property name |
├─ ├─ propertiesValue | 001 | String | Property value |
Request Example
{
"padCode": "AC21020010001"
}
Response Example
{
"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"
}
]
}
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110028 | Instance not found | Please check if the instance is correct |
Batch Query Instance Properties
Batch query the property information of specified instances, including system properties and settings.
API Endpoint
/vcpcloud/api/padApi/batchPadProperties
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | ["AC21020010001"] | String[] | Yes | |
├─ | AC21020010001 | String | Yes | Instance Code |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ padCode | AC21020010001 | String | Instance Code |
├─ modemPropertiesList | Object[] | Modem Properties List | |
├─ ├─ propertiesName | IMEI | String | Property Name |
├─ ├─ propertiesValue | 412327621057784 | String | Property Value |
├─ systemPropertiesList | Object[] | System Properties List | |
├─ ├─ propertiesName | ro.build.id | String | Property Name |
├─ ├─ propertiesValue | QQ3A.200805.001 | String | Property Value |
├─ settingPropertiesList | Object[] | Setting Properties List | |
├─ ├─ propertiesName | ro.build.tags | String | Property Name |
├─ ├─ propertiesValue | release-keys | String | Property Value |
├─ oaidPropertiesList | Object[] | Oaid Properties List | |
├─ ├─ propertiesName | oaid | String | Property Name |
├─ ├─ propertiesValue | 001 | String | Property Value |
Request Example
{
"padCodes": [
"AC21020010001",
"AC21020010002"
]
}
Response Example
{
"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"
}
]
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110028 | Instance does not exist | Please check if the instance is correct |
Modify Instance Properties
Dynamically modify the properties of an instance, including system properties and settings.
The instance needs to be powered on, and this interface takes effect immediately.
API Endpoint
/vcpcloud/api/padApi/updatePadProperties
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | ||
├─ | AC21020010001 | String | Yes | Instance Code |
modemPropertiesList | Object[] | No | Modem-Property List | |
├─propertiesName | IMEI | String | Yes | Property Name |
├─propertiesValue | 412327621057784 | String | Yes | Property Value |
systemPropertiesList | Object[] | No | System-Property List | |
├─propertiesName | ro.build.id | String | Yes | Property Name |
├─propertiesValue | QQ3A.200805.001 | String | Yes | Property Value |
settingPropertiesList | Object[] | No | Setting-Property List | |
├─propertiesName | ro.build.tags | String | Yes | Property Name |
├─propertiesValue | release-keys | String | Yes | Property Value |
oaidPropertiesList | Object[] | No | Oaid-Property List | |
├─propertiesName | oaid | String | Yes | Property Name |
├─propertiesValue | 001 | String | Yes | Property Value |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─taskId | 1 | Integer | Task ID |
├─padCode | AC21020010001 | String | Instance Code |
├─vmStatus | Integer | Instance online status (0: Offline, 1: Online) |
Request Example
{
"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"
}
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570916196,
"data": [
{
"taskId": 36,
"padCode": "AC22030010001",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Recommended Action |
---|---|---|
110028 | Instance does not exist | Please check if the instance is correct |
Stop Stream
Stop the stream of the specified instance and disconnect the instance.
API Endpoint
/vcpcloud/api/padApi/dissolveRoom
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | ||
├─ | AC11010000031 | String | Yes | Instance ID |
├─ | AC22020020700 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ successList | Object[] | Successful List | |
├─ ├─ padCode | AC11010000031 | String | Instance ID |
├─ failList | Object[] | Failure List | |
├─ ├─ padCode | AC22020020700 | String | Instance ID |
├─ ├─ errorCode | 120005 | Integer | Error Code |
├─ ├─ errorMsg | Instance does not exist | String | Failure Reason |
Request Example
{
"padCodes": ["AC11010000031","AC22020020700"]
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": {
"successList": [
{
"padCode": "AC11010000031"
}
],
"failList": [
{
"padCode": "AC22020020700",
"errorCode": 120005,
"errorMsg": "Instance does not exist"
}
]
}
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
120005 | Instance does not exist | Please check if the instance ID is correct |
120004 | Stream stop error, command service exception | Please try again later |
Modify Instance Android Device Properties
Description of the props field: This field is defined as key-value pairs.
API URL
/vcpcloud/api/padApi/updatePadAndroidProp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCode | AC32010210001 | String | Yes | Instance ID |
restart | false | Boolean | No | Automatically restart after setting (default: false) |
props | {} | Object | Yes | System properties |
├─ ro.product.vendor.name | OP52D1L1 | String | Yes | System property |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 24 | Long | Task ID |
├─ padCode | AC32010210001 | String | Instance ID |
Request Example
{
"padCode": "AC32010210001",
"props": {
"ro.product.vendor.name": "OP52D1L1"
},
"restart": false
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1730192434383,
"data": {
"taskId": 11,
"padCode": "AC32010210001"
}
}
Instance Control
Asynchronous Execution of ADB Commands
Asynchronously execute commands on one or more cloud phone instances.
API URL
/vcpcloud/api/padApi/asyncCmd
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | Instance IDs | |
├─ | AC22020020793 | String | Yes | Instance ID |
scriptContent | cd /root;ls | String | Yes | ADB command, separate multiple commands with a semicolon |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC22020020793 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC22020020793"
],
"scriptContent": "cd /root;ls"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570297639,
"data": [
{
"taskId": 14,
"padCode": "AC22030010001",
"vmStatus": 1
},
{
"taskId": 15,
"padCode": "AC22030010002",
"vmStatus": 0
}
]
}
Error Codes
Error Code | Error Description | Recommended Action |
---|---|---|
110003 | ADB command execution failed | Contact the administrator |
110012 | Command execution timed out | Please try again later |
Synchronously Execute ADB Commands
Execute commands synchronously on one or more cloud phone instances.
Returns a timeout exception if there is no response after 5 seconds.
API URL
/vcpcloud/api/padApi/syncCmd
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCode | AC22020020793 | String | Yes | Instance ID |
scriptContent | cd /root;ls | String | Yes | ADB command, multiple commands separated by semicolons |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─taskId | 1 | Integer | Task ID |
├─padCode | AC22020020793 | String | Instance ID |
├─taskStatus | 3 | Integer | Task status (-1: all failed; -2: partially failed; -3: canceled; -4: timeout; 1: pending execution; 2: executing; 3: completed) |
├─taskResult | Success | String | Task result |
Request Example
{
"padCode": "VP21020010231",
"scriptContent": "cd /root/nbin;ls"
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data":[
{
"taskId": 1,
"padCode": "AC22020020793",
"taskStatus":3,
"taskResult":"Success"
}
]
}
Error Codes
Error Code | Error Description | Recommended Action |
---|---|---|
110003 | ADB command execution failed | Please try again later |
110012 | Command execution timeout | Please try again later |
Generate Preview Image
Generate a preview image for the specified instance.
API Endpoint
/vcpcloud/api/padApi/generatePreview
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | ||
├─ | AC11010000031 | String | Yes | Instance ID |
rotation | 0 | Integer | Yes | Screenshot orientation: 0 - No rotation (default); 1 - Rotate to portrait for landscape screenshot |
broadcast | false | Boolean | No | Whether the event is broadcasted (default is false) |
Response Parameters
Parameter | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─padCode | AC11010000031 | String | Instance ID |
├─accessUrl | http://xxx.armcloud.png | String | Access URL for the preview image |
Request Example
{
"padCodes": [
"AC11010000031"
],
"rotation": 0,
"broadcast": false
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": [
{
"padCode": "AC11010000031",
"accessUrl": "http://xxx.armcloud.png"
}
]
}
Open/Close ADB
Open or close the ADB for the specified instance by instance ID.
API Endpoint
/vcpcloud/api/padApi/adb
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | AC22030010124 | String | Yes | Instance ID |
enable | true | boolean | Yes | true - Open, false - Close |
Response Parameters
Parameter | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─padCode | AC32010140011 | String | Instance ID |
├─command | adb connect ip:port | Integer | ADB connection info |
├─expireTime | 2024-10-24 10:42:00 | String | Connection expiration time |
├─enable | true | boolean | ADB status |
Request Example
{
"padCode": "AC22030010001",
"enable": true
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1729651701083,
"data": {
"padCode": "AC32010161274",
"command": "adb connect ip:port",
"expireTime": "2024-10-24 10:42:00",
"enable": true
}
}
Update Contacts
Either fileUniqueId
or info
is required.
API Endpoint
/vcpcloud/api/padApi/updateContacts
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | [] | Array | Yes | List of instance IDs |
fileUniqueId | cfca25a2c62b00e065b417491b0cf07ffc | String | No | Contact file ID |
info | {} | Object | No | Contact information |
├─firstName | tom | String | No | First name |
├─phone | 13111111111 | String | No | Phone number |
tom@gmail.com | String | No | Email address |
Response Parameters
Parameter | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 11 | Integer | Task ID |
├─padCode | AC32010210001 | String | Instance ID |
├─vmStatus | 0 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"fileUniqueId": "cfca25a2c62b00e065b417491b0cf07ffc",
"info": {
"firstName": "tom",
"phone": "13111111111",
"email": "tom@gmail.com"
},
"padCodes": [
"AC32010180326"
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1730192434383,
"data": {
"taskId": 11,
"padCode": "AC32010210001",
"vmStatus": 0
}
}
Set Proxy for Instance
API Endpoint
/vcpcloud/api/padApi/setProxy
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
account | 2222 | String | No | Account |
password | 2222 | String | No | Password |
ip | 47.76.241.5 | String | No | IP |
port | 2222 | Integer | No | Port |
enable | true | Boolean | Yes | Enable |
padCodes | [] | Array | Yes | List of instances |
proxyType | vpn | String | No | Supported values: proxy, vpn |
proxyName | socks5 | String | No | Supported values: socks5, http-relay (http, https) |
bypassPackageList | Array | No | Package names that will bypass the proxy | |
bypassIpList | Array | No | IPs that will bypass the proxy | |
bypassDomainList | Array | No | Domains that will bypass the proxy |
Response Parameters
Parameter | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 24 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 0 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC32010140023"
],
"account": "2222",
"password": "2222",
"ip": "47.76.241.5",
"port": 2222,
"enable": true
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 24,
"padCode": "AC32010140023",
"vmStatus": 1
}
]
}
One-Click New Device ⭐️
Interface URL
/vcpcloud/api/padApi/replacePad
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | [] | Array | Yes | Instance list |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 12818 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 0 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{ "padCodes": [
"AC32010030001"
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1732270378320,
"data": {
"taskId": 8405,
"padCode": "AC32010030001",
"vmStatus": 2
}
}
Modify Instance Time Zone
Interface URL
/vcpcloud/api/padApi/updateTimeZone
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
timeZone | Asia/Shanghai | String | Yes | UTC standard time |
padCodes | ["AC22030010001"] | Array | Yes | Instance list |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 12818 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC32010140003"
],
"timeZone": "Asia/Shanghai"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 12818,
"padCode": "AC32010140003",
"vmStatus": 1
}
]
}
Modify Instance Language
Interface URL
/vcpcloud/api/padApi/updateLanguage
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
language | zh | String | Yes | Language |
country | CN | String | No | Country |
padCodes | ["AC22030010001"] | Array | Yes | Instance list |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 12818 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC32010140026"
],
"language": "zh",
"country": ""
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 12818,
"padCode": "AC32010140026",
"vmStatus": 1
}
]
}
Modify Instance SIM Card Information
Interface URL
/vcpcloud/api/padApi/updateSIM
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
imei | 868034031518269 | String | No | IMEI number |
imeisv | 00 | String | No | IMEI version number |
meid | A0000082C65F6C | String | No | Mobile Equipment Identifier |
operatorLongname | CHINA MOBILE | String | No | Full name of the operator |
operatorShortname | CMSS | String | No | Short name of the operator |
operatorNumeric | 455555 | String | No | Network operator ID (MCCMNC) |
spn | China | String | No | SIM card operator name |
iccid | 89860002191807255576 | String | No | SIM card number |
imsi | 460074008004488 | String | No | IMSI (MCC + MNC) |
phonenum | 18574771704 | String | No | Phone number |
mcc | 502 | String | No | Mobile country code |
mnc | 146 | String | No | Mobile network code |
padCodes | ["AC22030010001"] | Array | Yes | List of instance IDs |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 12818 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": ["AC22030010001"],
"imei": "868034031518269",
"imeisv": "00",
"meid": "A0000082C65F6C",
"operatorLongname": "CHINA MOBILE",
"operatorShortnam": "CMSS",
"operatorNumeric": "455555",
"spn": "China",
"iccid": "89860002191807255576",
"imsi": "460074008004488",
"phonenum": "861234566",
"netCountry": "US",
"simCountry": "US",
"type": "9",
"mcc": "502",
"mnc": "146",
"tac": "871420",
"cellid": "870091003",
"narfcn": "99240",
"physicalcellid": "6C"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 12818,
"padCode": "AC22030010001",
"vmStatus": 1
}
]
}
Set Instance GPS Coordinates
Interface URL
/vcpcloud/api/padApi/gpsInjectInfo
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
longitude | 116.397455 | Float | Yes | Longitude (coordinate) |
latitude | 39.909187 | Float | Yes | Latitude (coordinate) |
padCodes | ["AC22030010001"] | Array | Yes | List of instance IDs |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─taskId | 12818 | Long | Task ID |
├─padCode | AC22030010001 | String | Instance ID |
├─vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC22030010001"
],
"longitude": 116.397455,
"latitude": 39.909187
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 12818,
"padCode": "AC22030010001",
"vmStatus": 1
}
]
}
Local Screenshot
Interface URL
/vcpcloud/api/padApi/screenshot
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | [] | String[] | Yes | List of instance IDs |
├─ | AC11010000031 | String | Yes | Instance ID |
rotation | 0 | Integer | Yes | Screenshot orientation: 0: No rotation (default); 1: Rotate clockwise 90 degrees for landscape screenshots. |
broadcast | false | Boolean | Yes | Whether to broadcast the event (default is false) |
definition | 50 | Integer | No | Screenshot clarity, range 0-100 |
resolutionHeight | 1920 | Integer | No | Resolution height (greater than 1) |
resolutionWidth | 1080 | Integer | No | Resolution width (greater than 1) |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 12818 | Long | Task ID |
├─ padCode | AC11010000031 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"1721739857317"
],
"rotation": 0,
"broadcast": false,
"definition": 50,
"resolutionHeight": 1920,
"resolutionWidth": 1080
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570337023,
"data": [
{
"taskId": 12818,
"padCode": "AC11010000031",
"vmStatus": 1
}
]
}
Upgrade Image
Interface URL
/vcpcloud/api/padApi/upgradeImage
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | [] | String[] | Yes | List of instance IDs |
├─ | AC22030010182 | String | Yes | Instance ID |
imageId | mg-24061124017 | String | Yes | Image ID |
wipeData | false | Boolean | Yes | Whether to wipe the instance data (data partition), true to wipe, false to keep |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 12818 | Long | Task ID |
├─ padCode | AC22030010182 | String | Instance ID |
├─ errorMsg | "" | String | Error message (if any) |
Request Example
{
"padCodes": [
"AC22030010182"
],
"wipeData": false,
"imageId": "mg-24061124017"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1718594881432,
"data": [
{
"taskId": 63,
"padCode": "AC22030010182",
"errorMsg": null
}
]
}
Upgrade Real Device Image
Batch real device image upgrade for instances
Interface URL
/vcpcloud/api/padApi/virtualRealSwitch
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | [] | String[] | Yes | List of instance IDs |
├─ | AC22030010182 | String | Yes | Instance ID |
imageId | mg-24061124017 | String | Yes | Image ID |
wipeData | false | Boolean | Yes | Whether to wipe the instance data (data partition), true to wipe, false to keep |
realPhoneTemplateId | 178 | Integer | No | Real device template ID (required if upgradeImageConvertType=real ) |
upgradeImageConvertType | virtual | String | Yes | Type of image conversion: "virtual" for virtual machine, "real" for cloud real device |
screenLayoutId | 14 | Integer | No | Screen layout ID (required if upgradeImageConvertType=virtual ) |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 12818 | Long | Task ID |
├─ padCode | AC22030010182 | String | Instance ID |
├─ errorMsg | "" | String | Error message (if any) |
Request Example
{
"padCodes": [
"AC32010210023"
],
"imageId": "img-24112653977",
"wipeData": true,
"realPhoneTemplateId": 178,
"upgradeImageConvertType": "virtual",
"screenLayoutId": 14
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1718594881432,
"data": [
{
"taskId": 63,
"padCode": "AC22030010182",
"errorMsg": null
}
]
}
Intelligent IP Proxy Check
Check whether the proxy IP is available and if the location information is correct
Interface URL
/vcpcloud/api/padApi/checkIP
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
host | 127.0.0.1 | String | Yes | Proxy information (IP or host) |
port | 8080 | Integer | Yes | Proxy port (numeric type) |
account | xxxx | String | Yes | Proxy username |
password | xxxx | String | Yes | Proxy password |
type | Socks5 | String | Yes | Proxy protocol type: Socks5, http, https |
country | US | String | No | Country - required when forcibly specified - parameters please refer to: ( curl -x http://username:password@ip:port https://ipinfo.io?token=registered_token ); When forced specification is used, the system will directly use the specified information and will not detect the proxy. |
ip | 156.228.84.62 | String | No | ip - required when forcibly specified |
loc | 39.0438,-77.4874 | String | No | Longitude, latitude - required when forced to specify |
city | Ashburn | String | No | City - required when forcibly specified |
region | Virginia | String | No | Region - required when forced to specify |
timezone | America/New_York | String | No | Time zone - required when forcibly specified |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | ||
├─ proxyLocation | US-Los Angeles | String | Location of the proxy |
├─ publicIp | 62.112.132.92 | String | Exit IP |
├─ proxyWorking | true | Boolean | Proxy check result: true if successful, false if failed |
Request Example
{
"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"
}
Response Example
{
"msg": "success",
"code": 200,
"data": {
"proxyLocation": "US-Los Angeles",
"publicIp": "62.112.132.92",
"proxyWorking": true
},
"ts": 1737601218580
}
Set Intelligent IP
Set a smart IP for the cloud machine device, and the exit IP, SIM card information, GPS coordinates, time zone and other information in the cloud machine will automatically change to the country of origin of the agent (the device will restart after setting, and it will take effect within 1 minute after the restart is completed. At the same time, the device status will change to 119 - Initializing. After the task succeeds, fails, or times out, it will change to 100 - normal status. The task timeout time is 5 minutes)
Note: The intelligent IP information must first pass the detection via the check IP interface; direct setting may lead to incorrect country matching.
Interface URL
/vcpcloud/api/padApi/smartIp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | String[] | Yes | List of instance IDs | |
├─ | AC22030010182 | String | Yes | Instance ID |
host | 127.0.0.1 | String | Yes | Proxy information (IP or host) |
port | 8080 | Integer | Yes | Proxy port (numeric type) |
account | xxxx | String | Yes | Proxy username |
password | xxxx | String | Yes | Proxy password |
type | Socks5 | String | Yes | Proxy protocol type: Socks5, http, https |
mode | vpn | String | Yes | Mode of the proxy: vpn / proxy |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
data | TASK-278784482960609280 | String | Task ID |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
Request Example
{
"padCodes": [
"AC32010160334"
],
"host": "62.112.132.92",
"port": 45001,
"account": "xxxxxx",
"password": "xxxxxxx",
"type": "Socks5",
"mode": "vpn"
}
Response Example
{
"msg": "success",
"code": 200,
"data": "TASK-278784482960609280",
"ts": 1737604726812
}
Cancel Intelligent IP
Cancel the smart IP and restore the exit IP, SIM card information, GPS coordinates, time zone and other information in the cloud machine (the device will restart after setting, and it will take effect within 1 minute after the restart is completed. At the same time, the device status will change to 119 - initializing. After the task succeeds, fails, or times out, it will change to 100 - normal status. The task timeout is 5 minutes)
Interface URL
/vcpcloud/api/padApi/notSmartIp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
padCodes | String[] | Yes | List of instance IDs | |
├─ | AC22030010182 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
data | TASK-278784482960609280 | String | Task ID |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
Request Example
{
"padCodes": [
"AC32010160334"
]
}
Response Example
{
"msg": "success",
"code": 200,
"data": "TASK-278784482960609280",
"ts": 1737604726812
}
Equipment task execution result query
Query task execution results using task number
Interface URL
/vcpcloud/api/padApi/getTaskStatus
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
taskId | TASK-278784482960609280 | String | YES | Task ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
data | Object[] | Task results | |
├─padCode | AC32010150162 | String | Instance ID |
├─taskStatus | Successfully | String | Task status: Executing-executing、Successfully-has succeeded、Failed-has failed、Timedout-has timed out |
├─taskType | 10010 | Integer | Task type: 10010-Set Smart IP、 10011-Cancel Smart IP |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
Request Example
{
"taskId": "TASK-278784482960609280"
}
Response Example
{
"msg": "success",
"code": 200,
"data": [
{
"padCode": "AC32010150162",
"taskStatus": "Successfully",
"taskType": 10010
}
],
"ts": 1738999472135
}
Switch Root Permission
Enable or disable root permission in one or more cloud phone instances. To switch root for a single app, the package name must be specified, otherwise an exception will be thrown.
API Endpoint
/vcpcloud/api/padApi/switchRoot
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | List of instance codes (padCodes) | |
├─ | AC22020020793 | String | Yes | Instance code |
globalRoot | false | Boolean | No | Whether to enable global root permission (default is false) |
packageName | com.zixun.cmp | String | No | Application package name (required for non-global root) |
rootStatus | root开启状态 | Integer | Yes | Root status, 0: disable, 1: enable |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1721739857317 | Long | Timestamp |
data | Object[] | Data list | |
├─ taskId | 1 | Long | Task ID |
├─ padCode | AC22020020793 | String | Instance code |
├─ vmStatus | 1 | Integer | Instance online status (0: offline, 1: online) |
Request Example
{
"padCodes": [
"AC32010250002"
],
"globalRoot": false,
"packageName": "com.android.ftpeasys",
"rootStatus": 0
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570297639,
"data": [
{
"taskId": 1,
"padCode": "AC32010250002",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110003 | ADB command execution failed | Contact the administrator |
110089 | Package name cannot be empty when enabling root for a single app | The package name must be provided when enabling root for a single app |
Resource Management Related API
Instance List Informationrmation
Retrieve instance list information based on query conditions with pagination.
Interface URL
/vcpcloud/api/padApi/infos
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
page | 1 | Integer | Yes | Page number |
rows | 10 | Integer | Yes | Number of records per page |
padType | real | String | No | Instance type (virtual : Virtual machine; real : Real device) |
padCodes | String[] | No | List of instance IDs | |
├─ | AC22010020062 | String | Yes | Instance ID |
groupIds | Integer[] | No | List of instance group IDs | |
├─ | 1 | Integer | No | Instance group ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1713773577581 | Long | Timestamp |
data | Object | Response data | |
├─ page | 1 | Integer | Current page |
├─ rows | 10 | Integer | Number of records per page |
├─ size | 1 | Integer | Number of records on the current page |
├─ total | 1 | Integer | Total number of records |
├─ totalPage | 1 | Integer | Total number of pages |
├─ pageData | Object[] | List of instances | |
├─ ├─ padCode | VP21020010391 | String | Instance ID |
├─ ├─ padGrade | q1-2 | String | Instance opening grade (q1-6 for six openings, q1-2 for two openings) |
├─ ├─ padStatus | 10 | Integer | Instance status (10 for running, 11 for restarting, 12 for resetting, 13 for upgrading, 14 for abnormal, 15 for not ready) |
├─ ├─ groupId | 0 | Integer | Group ID |
├─ ├─ idcCode | d3c1f580c41525e514330a85dfdecda8 | String | Data center code |
├─ ├─ deviceIp | 192.168.0.0 | String | Cloud device IP |
├─ ├─ padIp | 192.168.0.0 | String | Instance IP |
├─ ├─ apps | String[] | List of installed apps | |
├─ ├─ ├─ armcloud001 | String | String | Installed app name |
Request Example
{
"page": 1,
"rows": 10,
"padCodes": [
"AC21020010391"
],
"groupIds":[1]
}
Response Example
{
"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,
"groupId": 0,
"idcCode": "8e61ad284bc105b877611e6fef7bdd17",
"deviceIp": "172.31.2.34",
"padIp": "10.255.1.19",
"apps": [
"armcloud001"
]
}
]
}
}
Application Management
App Upload
Upload the application installation file to the specified business's application management center (asynchronous task).
Interface URL
/vcpcloud/api/padApi/updateApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
parse | true | Boolean | Yes | Whether to cache and parse the app (If parsed, app package info doesn't need to be filled) |
apps | Object[] | Yes | List of applications | |
├─ url | https://xxx.armcloud.apk | String | Yes | Source file download URL |
├─ appName | kuaishou | String | No | Application name |
├─ pkgName | com.smile.gifmaker | String | No | Package name |
├─ signMd5 | 0F938C4F0995A83C9BF31F0C64322589 | String | No | Application signature MD5 |
├─ versionNo | 36000 | Integer | No | Version number |
├─ versionName | 12.3.20.36000 | String | No | Version name |
├─ description | kuai | String | No | Description |
├─ md5sum | e673a204b8f18a0f6482da9998 | String | No | Application unique identifier |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Response data | |
├─ taskId | 12 | Integer | Task ID |
├─ appId | 1243 | Integer | Application ID |
Request Example
{
"parse": true,
"apps": [
{
"appName": "kuaishou",
"url": "https://xxx.armcloud.apk",
"pkgName": "com.smile.gifmaker",
"signMd5": "0F938C4F0995A83C9BF31F0C64322589",
"versionNo": 36000,
"versionName": "12.3.20.36000",
"description": "kuai",
"md5sum": "e673a204b8f18a0f6482da9998"
}
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": [
{
"taskId": 12,
"appId": 1243
}
]
}
Application Details
Query the details of an application.
Interface URL
/vcpcloud/api/padApi/appDetail
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
appId | 1 | Integer | Yes | Application ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1713773577581 | Long | Timestamp |
appId | 1 | Integer | Application ID |
originUrl | http://www.xx.com/test.apk | String | Application download link |
customizeFileId | customizeId_v5o26 | String | Custom file ID |
description | test | String | Description |
packageName | xxx.xxx.com | String | Package name |
appName | test | String | Application name |
versionName | 1.0.1 | String | Version name |
versionNo | 124511 | Integer | Version number |
signMd5 | 0F938C4F0995A83C9BF31F0C64322589 | String | Signature MD5 |
createTime | 1711595044000 | Long | Creation time |
Request Example
{
"appId":1
}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": {
"appId": 1,
"originUrl": "http://www.xx.com/test.apk",
"customizeFileId": "customizeId_v5o26",
"description": "test",
"packageName": "xxx.xxx.com",
"appName": "test",
"versionName": "1.0.1",
"versionNo": 124511,
"signMd5": "0F938C4F0995A83C9BF31F0C64322589",
"createTime": 1711595044000
}
}
Application Installation
Install a single or multiple apps on one or more instances. This interface is an asynchronous operation.
Interface URL
/vcpcloud/api/padApi/installApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Parameter Description |
---|---|---|---|---|
apps | Object[] | Yes | List of apps to be installed | |
├─ appId | 124 | Integer | Yes | Application ID |
├─ appName | Calabash Man | String | Yes | Application name |
├─ pkgName | com.huluxia.gametools | String | Yes | Application package name |
padCodes | String[] | Yes | List of instance codes | |
├─ ├─ AC22010020062 | AC22010020062 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Parameter Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Data array | |
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC22010020062 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"apps":[
{
"appId":124,
"appName":"Calabash Man",
"pkgName":"com.huluxia.gametools",
"padCodes":["AC22010020062"]
}
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570991004,
"data": [
{
"taskId": 37,
"padCode": "AC22030010001",
"vmStatus": 1
},
{
"taskId": 38,
"padCode": "AC22030010002",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
140005 | File Unavailable | Check if the file exists |
App Uninstall
Uninstall a single or multiple apps on one or more instances. This API is an asynchronous operation.
API Endpoint
/vcpcloud/api/padApi/uninstallApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
apps | Object[] | Yes | List of Apps | |
├─ appId | 124 | Integer | Yes | App ID |
├─ appName | Hulusia | String | Yes | App Name |
├─ pkgName | com.huluxia.gametools | String | Yes | App Package Name |
├─ padCodes | String[] | Yes | ||
├─ ├─ | AC22010020062 | String | Yes | Instance Code |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC22010020062 | String | Instance Code |
├─ vmStatus | 1 | Integer | Instance Online Status (0: Offline; 1: Online) |
Request Example
{
"apps":[
{
"appId":124,
"appName":"Hulusia",
"pkgName":"com.huluxia.gametools",
"padCodes":["AC22010020062"]
}
]
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570991004,
"data": [
{
"taskId": 37,
"padCode": "AC22030010001",
"vmStatus": 1
},
{
"taskId": 38,
"padCode": "AC22030010002",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110007 | App uninstall failed | Please try again later |
App Start
Start an app on an instance based on the instance ID and app package name.
API Endpoint
/vcpcloud/api/padApi/startApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
pkgName | xxx.test.com | String | Yes | Package Name |
padCodes | String[] | Yes | ||
├─ | AC22010020062 | String | Yes | Instance Code |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC22010020062 | String | Instance Code |
├─ vmStatus | 1 | Integer | Instance Online Status (0: Offline; 1: Online) |
Request Example
{
"padCodes": [
"AC22010020062"
],
"pkgName": "xxx.test.com"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 24,
"padCode": "AC22010020062",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Recommended Action |
---|---|---|
110008 | Failed to start the app | Restart the cloud machine and try starting the app again |
File Upload
Perform file upload operation (asynchronous task).
API Endpoint:
/vcpcloud/api/padApi/updateFile
Request Method:
POST
Request Data Type:
application/json
Request Body Parameters:
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
fileUrl | http://xxx.armcloud.apk | String | Yes | File download URL |
fileName | Calabash.apk | String | Yes | File name |
fileSha256 | 32e1f345f209a7dc1cc704913ea436d3 | String | Yes | Expected file MD5, used for file download verification, max length 32 |
Response Parameters:
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1713773577581 | Long | Timestamp |
data | Object[] | ||
├─ taskId | 1 | Integer | Task ID |
├─ fileUniqueId | 6865b417b7257d782afd5ac8bee4d311 | Integer | Unique file identifier |
Request Example
{
"fileUrl": "http://xxx.armcloud.apk",
"fileName": "Calabash.apk",
"fileMd5": "c52585e13a67e13128d9963b2f20f69678a86ee8b5551ca593327d329719a5"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1713773577581,
"data": {
"taskId":1,
"fileUniqueId": "6865b417b7257d782afd5ac8bee4d311"
}
}
Stop App
Perform the operation of stopping an app on an instance based on the instance ID and app package name.
API Endpoint
/vcpcloud/api/padApi/stopApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
pkgName | xxx.test.com | String | Yes | Package Name |
padCodes | String[] | Yes | Instance IDs | |
├─ | AC22010020062 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Data List | |
├─taskId | 1 | Integer | Task ID |
├─padCode | AC22010020062 | String | Instance ID |
├─vmStatus | 1 | Integer | Instance Online Status (0: Offline; 1: Online) |
Request Example
{
"padCodes": [
"AC22010020062"
],
"pkgName": "xxx.test.com"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 24,
"padCode": "AC22010020062",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110010 | Failed to stop app | Restart the cloud machine and close the app |
Application Restart
Restart an application on an instance based on the instance ID and application package name.
API Endpoint
/vcpcloud/api/padApi/restartApp
Request Method
POST
Request Data Type
application/json
Request Body Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
pkgName | xxx.test.com | String | Yes | Package name |
padCodes | String[] | Yes | Instance IDs | |
├─ | AC22010020062 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Response data | |
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC22010020062 | String | Instance ID |
├─ vmStatus | 1 | Integer | Instance online status (0: Offline; 1: Online) |
Request Example
{
"padCodes": [
"AC22010020062"
],
"pkgName": xxx.test.com
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717570663080,
"data": [
{
"taskId": 24,
"padCode": "AC22010020062",
"vmStatus": 1
}
]
}
Error Codes
Error Code | Error Description | Suggested Action |
---|---|---|
110009 | Failed to stop app | Restart the cloud machine and close the app |
Error Codes
Error Code | Description | Suggested Action |
---|---|---|
110009 | Application restart failed | Restart the cloud machine and then start the application |
Instance File Upload
Push files from the file management center to one or more cloud phone instances (asynchronous task).
API Address:
/vcpcloud/api/padApi/padUpdateFile
Request Method:
POST
Request Data Type:
application/json
Request Body Parameters:
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | Instance identifier list | |
├─ | AC22010020062 | String | Yes | Instance identifier |
autoInstall | 1 | Integer | No | Whether automatic installation is required (1 for yes, 0 for no), default is no if not provided. Effective only for APK files. |
fileUniqueId | 1e5d3bf00576ee8f3d094908c0456722 | String | Yes | Unique file identifier |
customizeFilePath | /Documents/ | String | No | Custom file path, optional, must start with "/". For example: "/DCIM/", "/Documents/", "/Download/", "/Movies/", "/Music/", "/Pictures/" |
Response Parameters:
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1713773577581 | Long | Timestamp |
data | Object[] | ||
├─ padCode | AC22010020062 | String | Instance identifier |
├─ taskId | 1 | Integer | Task ID |
├─ vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": [
"AC22010020062"
],
"autoInstall": 1,
"fileUniqueId": "1e5d3bf00576ee8f3d094908c0456722",
"customizeFilePath": "/Documents/"
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1717571059834,
"data": [
{
"taskId": 1,
"padCode": "AC22010020062",
"vmStatus": 1
}
]
}
Instance installed application list query
Query the instance installed application list information.
API Address:
/vcpcloud/api/padApi/listInstalledApp
Request Method:
POST
Request Data Type:
application/json
Request Body Parameters:
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | Instance identifier list | |
├─ | AC22010020062 | String | Yes | Instance identifier |
Response Parameters:
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1713773577581 | Long | Timestamp |
data | Object[] | ||
├─ padCode | AC22010020062 | String | Instance ID |
├─ apps | Object[] | Application list | |
│ ├─ appName | TapTap | String | Application name |
│ ├─ packageName | com.taptap.global | String | Application package name |
│ ├─ versionName | 3.49.0-full.100000 | String | Application version name |
│ ├─ versionCode | 349001000 | String | Application version code |
Request Example
{
"padCodes": ["AC32010780841"]
}
Response Example
{
"msg": "success",
"code": 200,
"data": [
{
"padCode": "AC32010780841",
"apps": [
{
"appName": "TapTap",
"packageName": "com.taptap.global",
"versionName": "3.49.0-full.100000",
"versionCode": "349001000"
}
]
}
],
"ts": 1740020993436
}
Task Management
Instance Operation Task Details
Query the detailed execution result of a specified instance operation task.
API Address:
/vcpcloud/api/padApi/padTaskDetail
Request Method:
POST
Request Data Type:
application/json
Request Query Parameters:
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskIds | Integer[] | Yes | List of task IDs | |
├─ taskId | 1 | Integer | Yes | Task ID |
Response Parameters:
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Subtask list details | |
├─ taskId | 1 | Integer | Subtask ID |
├─ padCode | VP22020020793 | String | Instance identifier |
├─ taskStatus | 2 | String | Task status (-1: all failed; -2: partial failure; -3: canceled; -4: timeout; 1: pending execution; 2: executing; 3: completed) |
├─ endTime | 1713429401000 | Long | Subtask end timestamp |
├─ taskContent | “” | String | Task content |
├─ taskResult | “” | String | Task result |
├─ errorMsg | “” | String | Error message |
Request Example
{
"taskIds":[1,2]
}
Response Example
{
"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
}
]
}
File Task Details
Query the detailed execution result of a specified file task.
API Address:
/vcpcloud/api/padApi/fileTaskDetail
Request Method:
POST
Request Data Type:
application/json
Request Query Parameters:
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskIds | Integer[] | Yes | List of task IDs | |
├─ taskId | 1 | Integer | Yes | Task ID |
Response Parameters:
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1756021167163 | Long | Timestamp |
data | Object[] | Task list details | |
├─ taskId | 1 | Integer | Subtask ID |
├─ appId | 134 | Long | Application ID |
├─ fileUniqueId | e2c07491309858c5cade4bfc44c03724 | String | Unique file identifier |
├─ fileName | xx.apk | String | File name |
├─ taskStatus | 2 | Integer | Task status (-1: all failed; -2: partial failure; -3: canceled; -4: timeout; 1: pending execution; 2: executing; 3: completed) |
├─ endTime | 1713429401000 | Long | Subtask end timestamp |
Request Example
{
"taskIds":[
1,2
]
}
Response Example
{
"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
}
]
}
Automation Management
When performing automated tasks, do not operate on the cloud machine by performing actions such as rebooting, resetting, upgrading the image, or replacing machines, as this could interfere with the automated tasks.
Automated Task List Query
Query the list of automated tasks.
API Endpoint
/vcpcloud/api/padApi/autoTaskList
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskIds | Long[] | No | Task ID array | |
taskType | 1 | Integer | No | Task type: 1-login, 2-edit profile, 3-search short videos, 4-randomly browse videos, 5-publish video, 6-publish gallery |
page | 1 | Integer | Yes | Page number |
rows | 10 | Integer | Yes | Number of records per page |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
ts | 1736327056700 | Long | Timestamp |
data | Object | Data details | |
├─ records | Object[] | Record list | |
│ ├─ taskId | 115 | Integer | Task ID |
│ ├─ userId | 14114 | Integer | User ID |
│ ├─ equipmentId | 106588 | Integer | Equipment ID |
│ ├─ padCode | AC32010180421 | String | Instance ID |
│ ├─ padName | zzzzz | String | Instance name |
│ ├─ taskType | 1 | Integer | Task type: 1-login, 2-edit profile, 3-search short videos, 4-randomly browse videos, 5-publish video, 6-publish gallery |
│ ├─ taskName | testAdd | String | Task name |
│ ├─ executionStatus | 0 | Integer | Execution status: -2-cancelled task, -1-failed, 0-pending, 1-in progress, 2-successful |
│ ├─ plannedExecutionTime | 2025-01-09 00:00:00 | String | Planned execution time |
│ ├─ executionEndTime | null | String | Execution end time |
│ ├─ createdTime | 2025-01-08 14:25:01 | String | Creation time |
│ ├─ failureReason | null | String | Failure reason |
├─ total | 46 | Integer | Total records |
├─ size | 10 | Integer | Number of records per page |
├─ current | 1 | Integer | Current page |
├─ pages | 5 | Integer | Total pages |
Request Example
{
"page": 1,
"rows": 10
}
Response Example
{
"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
}
Create Automation Task
Create an automation task. Make sure to pass the correct device number (the cloud phone list interface will return the device number). The task is mainly bound to the device number. If a device swap occurs before execution, it will not affect task loss. (Asynchronous, the system will check if the TK app is installed on the cloud phone. If not, it will automatically download the TK app before executing the task. Do not manually operate the cloud phone during the TK download and task execution). The request parameters for different tasks may vary; examples will be provided.
API Endpoint
/vcpcloud/api/padApi/addAutoTask
Request Method
POST
Request Data Type
application/json
Login Task Request Query Parameter Example
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskName | testAdd | String | Yes | Task name |
remarks | test | String | No | Remarks |
taskType | 1 | Integer | Yes | Task type: 1-login, 2-edit profile, 3-search short videos, 4-randomly browse videos, 5-publish video, 6-publish gallery |
list | Object[] | Yes | Task list | |
├─ equipmentId | 106653 | Integer | Yes | Equipment ID |
├─ padCode | AC32010180522 | String | Yes | Instance ID |
├─ plannedExecutionTime | 2025-01-08 17:20:00 | String | Yes | Planned execution time |
├─ addInfo | Refer to the request example | JSONObject | Yes | Task parameters (Note: Follow the corresponding format based on the task type, otherwise the task will fail) |
Request Example
{
"taskName": "testAdd",
"remarks": "test",
"taskType": 1,
"list": [
{
"equipmentId": 106653,
"padCode": "AC32010180522",
"plannedExecutionTime": "2025-01-08 17:20:00",
"addInfo": {
"password": "zhouxi12....",
"username": "zzx833454@gmail.com"
}
}
]
}
Login Task Parameters (Task Type - taskType: 1)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
password | zzxxxx@gmail.com | String | Yes | Account |
username | zzxxxx@gmail.com | String | Yes | Password |
Edit Profile Task Parameters (Task Type - taskType: 2)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
link | https://xxxx.png | String | Yes | Avatar URL (greater than 250x250) |
username | test | String | Yes | Name |
Search Short Video Task Parameters (Task Type - taskType: 3)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
tag | Title | String | Yes | Tag |
timeout | 10 | Integer | Yes | Viewing duration (seconds) Note: The maximum time is 2 hours, otherwise the task will time out and fail |
Random Video Browsing Task Parameters (Task Type - taskType: 4)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
timeout | 10 | Integer | Yes | Viewing duration (seconds) Note: The maximum time is 2 hours, otherwise the task will time out and fail |
tag | "" | String | No | Tag |
Publish Video Task Parameters (Task Type - taskType: 5)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
link | https://xxxx | String | No | Video OSS URL |
copywriting | test | String | Yes | Copywriting |
Publish Image Gallery Task Parameters (Task Type - taskType: 6)
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
links | [https://xxxx] | array[String] | Yes | Image OSS URLs (up to ten images) |
copywriting | test | String | Yes | Copywriting |
bgm | bgm | String | Yes | Background music name |
Video like and comment task parameters (task type - taskType: 7)
Parameter name | Example value | Parameter type | Required | Parameter description |
---|---|---|---|---|
timeout | 10 | Integer | Yes | Watching time (seconds) Note: Up to 2 hours, otherwise the task will time out and fail |
tag | "" | String | No | Tag |
contents | ["wow"] | array[String] | No | Comment content Note: Currently only 1 is supported, and it will be expanded later |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 0 | Integer | Status Code: 0 - Success |
msg | success | String | Response Message |
ts | 1736327056700 | Long | Timestamp |
data | Object {} | Subtask list details | |
├─ taskIds | Long[] | Task ID Array |
Response Example
{
"msg": "success",
"code": 200,
"taskIds": [
116
],
"ts": 1736327380399
}
Automated Task Retry
Automated task retry.
API Endpoint
/vcpcloud/api/padApi/reExecutionAutoTask
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskIds | Long[] | Yes | Task ID array | |
plannedExecutionTime | 2025-01-08 17:30:00 | Date | Yes | Planned execution time |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
data | Object {} | Subtask list details | |
ts | 1736327056700 | Long | Timestamp |
├─ taskIds | Long[] | New task ID array |
Request Example
{
"taskIds": [
109
],
"plannedExecutionTime": "2025-01-08 17:30:00"
}
Response Example
{
"msg": "success",
"code": 200,
"taskIds": [
118
],
"ts": 1736327771611
}
Automated Task Cancellationlation
Automated task cancellation.
API Endpoint
/vcpcloud/api/padApi/cancelAutoTask
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
taskIds | Long[] | Yes | Task ID array |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status Code |
msg | success | String | Response Message |
ts | 1736327056700 | Long | Timestamp |
Request Example
{
"taskIds": [
118
]
}
Response Example
{
"msg": "success",
"code": 200,
"ts": 1736327841671
}
Cloud Phone Management
Create Cloud Phone
Create a new cloud phone. (Note that the purchased product package must be available on the web platform, otherwise the purchase will fail.)
API Endpoint
/vcpcloud/api/padApi/createMoneyOrder
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
androidVersionName | Android13 | String | Yes | Android version: Android13, Android14 |
configName | V08 | String | Yes | Product model |
goodTime | 7 | Integer | Yes | Product duration (days) |
goodNum | 1 | Integer | Yes | Product quantity |
autoRenew | true | Boolean | Yes | Whether to auto-renew (enabled by default) |
equipmentId | 106626,106627 | String | Yes | Renewal device IDs (comma separated for multiple devices) |
configName Product Model Description
Product Model | Description |
---|---|
V08 | 8-core 4GB |
V06 | 8-core 6GB |
V03 | 8-core 12GB |
Google Pixel 7 Pro | 8-core 12GB |
Samsung s23 ultra | 8-core 12GB |
vivo Y31 | 8-core 12GB |
Oppo Reno6 | 8-core 12GB |
Realme 8i | 8-core 12GB |
Xiaomi Redmi 10 | 8-core 12GB |
Xiaomi Poco X4 Pro | 8-core 12GB |
Samsung Galaxy A32 | 8-core 12GB |
OPPO Reno6 Z | 8-core 12GB |
Google Pixel Pro | 8-core 12GB |
HONOR X50 | 8-core 12GB |
SAMSUNG GalaxyS21FE5G | 8-core 12GB |
OPPOK10Pro | 8-core 12GB |
VIVO vivoX100 | 8-core 12GB |
HONOR Magic Vs2 | 8-core 12GB |
VIVO vivo X Flip | 8-core 12GB |
VIVO vivo X Fold2 | 8-core 12GB |
Xiaomi Redmi K50 Pro | 8-core 12GB |
Redmi Redmi K70 | 8-core 12GB |
Xiaomi MIX Fold2 | 8-core 12GB |
VIVO vivo Y100 | 8-core 12GB |
HONOR Magic3 Pro | 8-core 12GB |
VIVO vivo X Note | 8-core 12GB |
VIVO vivo X80 | 8-core 12GB |
VIVO vivo X80 Pro | 8-core 12GB |
SAMSUNG Galaxy A52 | 8-core 12GB |
SAMSUNG Galaxy S22 5G | 8-core 12GB |
VIVO vivo X90s | 8-core 12GB |
HONOR 90 Pro | 8-core 12GB |
Samsung Galaxy A52 | 8-core 12GB |
Xiaomi 14 | 8-core 12GB |
OPPO Reno10 Pro+ | 8-core 12GB |
Redmi K50 Pro | 8-core 12GB |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
data | Object[] | Data list | |
├─ id | 7644 | Integer | Unique data identifier |
├─ orderId | VMOS-CLOUD173630666722957907 | String | Order number |
├─ equipmentId | 106662 | Integer | Equipment ID |
├─ createTime | 2025-01-08 11:24:31 | String | Creation time |
├─ creater | 14114 | String | Creator |
ts | 1736306672346 | Long | Timestamp |
Request Example
{
"androidVersionName": "Android13",
"configName": "V08",
"goodTime": 7,
"goodNum": 1,
"autoRenew": true
}
Response Example
{
"msg": "success",
"code": 200,
"data": [
{
"id": 7644,
"orderId": "VMOS-CLOUD173630666722957907",
"equipmentId": 106662,
"createTime": "2025-01-08 11:24:31",
"creater": "14114"
}
],
"ts": 1736306672346
}
Cloud Phone List
Cloud phone list.
API Endpoint
/vcpcloud/api/padApi/userPadList
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCode | null | String | No | Instance code |
equipmentIds | Integer[] | No | Array of equipment IDs |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
code | 200 | Integer | Status code |
msg | success | String | Response message |
ts | 1736235894274 | Long | Timestamp |
data | Object[] | Data list | |
├─ padCode | AC32010180421 | String | Cloud phone code |
├─ deviceIp | 172.30.5.43 | String | Cloud phone physical machine IP |
├─ padIp | 10.254.21.225 | String | Cloud phone virtual IP |
├─ cvmStatus | 100 | Integer | Cloud phone status (100 - normal, 101 - capturing screenshot, 102 - restarting, 103 - resetting, 104 - abnormal) |
├─ screenshotLink | https://XXXXXX.png | String | Cloud phone screenshot link |
├─ equipmentId | 106626 | Integer | Equipment ID |
├─ userId | 14114 | Integer | User ID |
├─ status | 1 | Integer | Device status |
├─ padName | V08 | String | Cloud phone display name |
├─ bootTime | 1735643626263 | Long | Cloud phone usage time |
├─ cumulativeUseTime | null | Object | Total device usage time |
├─ lastBackupTime | null | Object | Last backup time |
├─ maintainContent | null | Object | Maintenance content |
├─ goodId | 1 | Integer | Product ID |
├─ goodName | i18n_Android13-V08 | String | Product name |
├─ signExpirationTime | 2025-01-31 19:13:46 | String | Signed cloud phone expiration time |
├─ signExpirationTimeTamp | 1738322026000 | Long | Signed cloud phone expiration timestamp |
├─ supplierType | 5 | String | Supplier type |
├─ androidVersionAvatar | https://XXXX.png | String | Android version avatar |
├─ configName | V08 | String | Product model name |
├─ androidVersionAvatar2 | https://XXX.png | String | Android version avatar 2 |
├─ androidVersionAvatar3 | https://XXX.png | String | Android version avatar 3 |
├─ androidVersion | 13 | String | Android version |
├─ authorizedUserId | null | Object | Authorized user ID |
├─ authorizedExpirationTime | null | Object | Authorization expiration time |
├─ authorizedExpirationTimeTamp | null | Object | Authorization expiration timestamp |
├─ changeConfig | 1 | Integer | Support for configuration change (0 - no, 1 - yes) |
├─ createTime | 2024-12-31 19:13:46 | String | Creation time |
├─ proxyIp | null | Object | Proxy IP address |
├─ remark | String | Remark | |
├─ proxyId | null | Object | Proxy IP information |
├─ ipAddress | null | Object | IP address location |
├─ publicIp | null | Object | Public IP |
├─ groupId | null | Object | Group ID |
├─ groupName | null | Object | Group name |
├─ groupSort | null | Object | Group sorting order |
Cloud Phone Status
Status Code | Description |
---|---|
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 |
Request Example
{
"padCode": null,
"equipmentIds": [
106626
]
}
Response Example
{
"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,
"groupId": null,
"groupName": null,
"groupSort": null
}
]
}
Cloud Phone Information Query
Query cloud phone information.
API Endpoint
/vcpcloud/api/padApi/padInfo
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Type | Required | Description |
---|---|---|---|---|
padCode | AC32010180421 | String | Yes | Instance ID |
Response Parameters
Parameter Name | Example Value | Type | Description |
---|---|---|---|
msg | success | String | Response Message |
code | 200 | Integer | Status Code |
data | Object | Response Data | |
├─ explain | English | String | Language - Explanation |
├─ simCountry | SG | String | SIM Card Country |
├─ country | SG | String | Country |
├─ padCode | AC32010180421 | String | Instance ID |
├─ padType | V08 | String | Device Model |
├─ bluetoothAddress | 3A:1F:4B:9C:2D:8E | String | Bluetooth Address |
├─ initializationData | {"explain":"English", ...} | String | Device Information |
├─ groupId | 0 | String | Group ID |
├─ latitude | 1.3398 | String | Latitude |
├─ ipAddress | Hong Kong | String | IP Address |
├─ timeZone | Asia/Singapore | String | Time Zone |
├─ publicIp | 192.169.96.14 | String | Public IP |
├─ phoneNumber | +6510633153 | String | Virtual Phone Number |
├─ androidVersion | Android13 | String | Android Version |
├─ wlanMac | 4c:7f:11:2f:a6:cc | String | WLAN MAC Address |
├─ padName | V08 | String | Pad Name |
├─ simIso | M1 | String | SIM Card ISO |
├─ longitude | 103.6967 | String | Longitude |
├─ operatorNumeric | 52503 | Integer | Operator Number |
├─ padImei | 525036719631842 | String | IMEI |
ts | 1736239152927 | Long | Timestamp |
Request Example
{
"padCode": null
}
Response Example
{
"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\"}",
"groupId": "0",
"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
}
SKU Package List
Get the SKU package list.
API Endpoint
/vcpcloud/api/padApi/getCloudGoodList
Request Method
GET
Request Data Type
application/json
Response Parameters
Parameter Name | Example Value | Type | Description |
---|---|---|---|
msg | success | String | Response Message |
code | 200 | Integer | Status Code |
data | Object | Response Data | |
├─ androidVersionName | Android13 | String | Android Version Name |
├─ cloudGoodsInfo | Object | SKU Package Information | |
│ ├─ configs | List | Product Model Information | |
│ │ ├─ configName | Samsung s23 ultra | String | Product Model Name |
│ │ ├─ sellOutFlag | false | Boolean | Sold Out Flag |
│ │ ├─ configBlurb | Top technology, comparable to real machine supreme experience! | String | Product Model Description |
│ │ ├─ defaultSelection | false | Boolean | Default Selection Flag |
│ │ ├─ reorder | 0 | Integer | Sort Order |
│ │ ├─ goodTimes | List | Product Price Information | |
│ │ │ ├─ oldGoodPrice | 100 | Integer | Original Price |
│ │ │ ├─ showContent | 1 day | String | Product Duration Name |
│ │ │ ├─ whetherFirstPurchase | true | Boolean | First Purchase Flag |
│ │ │ ├─ reorder | 1 | Integer | Sort Order |
│ │ │ ├─ goodPrice | 100 | Integer | Product Price |
│ │ │ ├─ equipmentNumber | 1 | Integer | Product Shipping Equipment Quantity |
│ │ │ ├─ goodTime | 1440 | Integer | Product Duration (Minutes) |
│ │ │ ├─ autoRenew | true | Boolean | Supports Auto Renewal |
│ │ │ ├─ recommendContent | First purchase special offer | String | Recommended Content |
│ │ │ ├─ id | 27 | Integer | Product ID |
ts | 1737440589859 | Long | Timestamp |
Response Example
{
"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
}
]
}
],
"goodId": 1
}
}
],
"ts": 1737440589859
}
Modify Real Machine ADI Template
Modify the cloud real machine ADI template by passing the cloud real machine template ID.
Prerequisites:
- The instance must be created as a cloud real machine type.
- The instance's specifications must match the target ADI template specifications.
- The instance's Android version must match the target ADI Android version.
API Endpoint
/vcpcloud/api/padApi/replaceRealAdiTemplate
Request Method
POST
Request Data Type
application/json
Request BODY Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCodes | String[] | Yes | List of instance codes | |
├─ | AC22010020062 | String | Yes | Instance Code |
wipeData | false | Boolean | Yes | Whether to wipe data |
realPhoneTemplateId | 186 | Long | Yes | Cloud Real Machine Template ID |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
data | Object | Response data | |
├─ taskId | 1 | Integer | Task ID |
├─ padCode | AC21020010001 | String | Instance Code |
├─ vmStatus | 1 | Integer | Instance online status (0: offline; 1: online) |
Request Example
{
"padCodes": ["AC32010250011"],
"wipeData": true,
"realPhoneTemplateId": 186
}
Response Example
{
"code": 200,
"msg": "success",
"ts": 1736326542985,
"data": [{
"taskId": 10074,
"padCode": "AC32010250011",
"errorMsg": null
}]
}
SDK Token Issuance
Issue a temporary STS Token for user authentication to access the cloud mobile phone service.
Get SDK Temporary Token
API Endpoint
/vcpcloud/api/padApi/stsToken
Request Method
GET
Request Data Type
application/json
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
data | Object | Data list | |
├─ token | 18df5803-48ce-4b53-9457-6a15feb1daca | String | SDK communication token |
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": {
"token": "18df5803-48ce-4b53-9457-6a15feb1daca"
}
}
SDK Token Issuance (by padCode)
Issue a temporary STS Token for user authentication to access the cloud mobile phone service (the token can only be used for the specified padCode
).
Get SDK Temporary Token by padCode
API Endpoint
/vcpcloud/api/padApi/stsTokenByPadCode
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
padCode | AC32010230001 | String | Yes | Instance ID (padCode) |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
data | Object | Data list | |
├─ token | 18df5803-48ce-4b53-9457-6a15feb1daca | String | SDK communication token |
Request Example
{"padCode":"AC32010230001"}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": {
"token": "18df5803-48ce-4b53-9457-6a15feb1daca"
}
}
Clear SDK Authorization Token
API Endpoint
/vcpcloud/api/padApi/clearStsToken
Request Method
POST
Request Data Type
application/json
Request Query Parameters
Parameter Name | Example Value | Parameter Type | Required | Description |
---|---|---|---|---|
token | 123 | String | Yes | The token to be cleared |
Response Parameters
Parameter Name | Example Value | Parameter Type | Description |
---|---|---|---|
msg | success | String | Response message |
code | 200 | Integer | Status code |
data | Object | Data list |
Request Example
{"token":1234}
Response Example
{
"code": 200,
"msg": "success",
"ts":1713773577581,
"data": null
}
Instance File Upload Callback
Usage Scenario
Customers need to configure the callback URL on the WEB platform. Once the configuration is successful, the system will automatically start receiving callback notifications by default.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1009 | Task business type |
taskId | Integer | 1 | Task ID |
result | boolean | true | Execution result: true - success, false - failure |
errorCode | String | Error code | |
padCode | String | AC22030022001 | Instance identifier |
fileId | String | cf08f7b685ab3a7b6a793b30de1b33ae34 | File ID |
Example
{
"errorCode": null,
"fileId": "cfec132ab3c4e1aff5515c4467d9bbe460",
"padCode": "AC22030022001",
"result": true,
"taskBusinessType": 1009,
"taskId": 10659,
"taskResult": "Success",
"taskStatus": 3
}
Application Installation Callback
Usage Scenario
When a customer initiates an application installation, this callback interface notifies the customer about the installation status.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1003 | Task business type |
taskId | Integer | 1 | Task ID |
apps | Object[] | Application information | |
├─ appId | Integer | 10001 | Application ID |
├─ appName | String | demo | Application name |
├─ pkgName | String | com.xxx.demo | Package name |
├─ padCode | String | AC22030022001 | Instance identifier |
├─ result | boolean | true | Installation result flag. true: success, false: failure |
├─ failMsg | String | This application is blacklisted and cannot be installed | Failure message |
Example
{
"endTime": 1734939747000,
"padCode": "AC22030022001",
"taskBusinessType": 1003,
"taskContent": "",
"taskId": 10613,
"taskResult": "Success",
"taskStatus": 3
}
Application Uninstallation Callback
Usage Scenario
When a customer initiates an application uninstallation, this callback interface notifies the customer about the uninstallation status.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1004 | Task business type |
taskId | Integer | 1 | Task ID |
apps | Object | Application information | |
├─ appId | Integer | 10001 | Application ID |
├─ appName | String | demo | Application name |
├─ pkgName | String | com.xxx.demo | Package name |
├─ padCode | String | AC22030022001 | Instance ID |
├─ result | boolean | true | Installation result flag. true: success, false: failure |
Example
{
"endTime": 1734940052000,
"padCode": "AC22030022001",
"taskBusinessType": 1004,
"taskContent": "",
"taskId": null,
"taskResult": "Success",
"taskStatus": 3
}
Application Startup Callback
Usage Scenario
When a customer initiates an application startup, this callback interface notifies the customer about the startup status.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1007 | Task business type |
taskId | Integer | 1 | Task ID |
taskStatus | Integer | 3 | Task status (-1: All failed; -3: Canceled; -4: Timeout; 1: Pending; 2: In progress; 3: Completed) |
padCode | String | AC22030022001 | Instance identifier |
pkgName | String | xxx.test.com | Package name |
Example
{
"taskBusinessType": 1007,
"packageName": "com.quark.browser",
"padCode": "AC22030022001",
"taskId": 10618,
"taskStatus": 3
}
Application Stop Callback
Usage Scenario
When a customer initiates an application stop, this callback interface notifies the customer about the stop status.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1005 | Task business type |
taskId | Integer | 1 | Task ID |
taskStatus | Integer | 3 | Task status (-1: All failed; -3: Canceled; -4: Timeout; 1: Pending; 2: In progress; 3: Completed) |
padCode | String | AC22030022001 | Instance identifier |
pkgName | String | xxx.test.com | Package name |
Example
{
"taskBusinessType": 1005,
"packageName": "com.quark.browser",
"padCode": "AC22030022001",
"taskId": 10618,
"taskStatus": 3
}
Application Restart Callback
Usage Scenario
When a customer initiates an application restart, this callback interface notifies the customer about the restart status.
Field | Type | Example | Description |
---|---|---|---|
taskBusinessType | Integer | 1006 | Task business type |
taskId | Integer | 1 | Task ID |
taskStatus | Integer | 3 | Task status (-1: All failed; -3: Canceled; -4: Timeout; 1: Pending; 2: In progress; 3: Completed) |
padCode | String | AC22030022001 | Instance identifier |
pkgName | String | xxx.test.com | Package name |
Example
{
"taskBusinessType": 1006,
"packageName": "com.quark.browser",
"padCode": "AC22030022001",
"taskId": 10618,
"taskStatus": 3
}