# 云手机本地 API

通过 MoreLogin 本地 API 管理云手机实例。基础URL: http://127.0.0.1:40000。本地 API 与 MoreLogin 桌面应用一起运行在您的计算机上。所有请求必须来自同一台计算机。

Version: 1.0.0

## Servers

MoreLogin  Local endpoint
```
http://127.0.0.1:40000
```

## Security

## Download OpenAPI description

[云手机本地 API](https://guide.morelogin.com/_bundle/@l10n/zh/API%20Reference/Cloud%20Phone/local-api.yaml)

## Cloud Phone Management

### 获取云手机列表

 - [POST /api/cloudphone/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/pageusingpost.md)

### 创建云手机

 - [POST /api/cloudphone/create](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/createusingpost.md)

### 启动云手机

 - [POST /api/cloudphone/powerOn](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/poweronusingpost.md)

### 关闭云手机

 - [POST /api/cloudphone/powerOff](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/poweroffusingpost.md)

### 修改云手机

 - [POST /api/cloudphone/edit/batch](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/editbatchusingpost.md)

### 设置云手机代理

 - [POST /api/cloudphone/setProxy](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/setproxy.md): 设置一个或多个云手机的代理设置。支持直接绑定 proxyId，或添加/修改详细的代理参数。请求体格式与浏览器代理配置相同，设置会立即生效。

### 删除云手机

 - [POST /api/cloudphone/delete/batch](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/deleteusingpost.md)

### 一键式全新云手机

 - [POST /api/cloudphone/newMachine](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/onenewusingpost.md)

### 云手机详情

 - [POST /api/cloudphone/info](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/infousingpost.md)

### 通过 AndroidId 获取云手机详情

 - [POST /api/cloudphone/queryByAndroidId](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/querybyandroidid.md): 查询当前团队下与特定 androidId 关联 of 云手机 ID。如果找到，返回单个云手机 ID。

### 开启或关闭全局 ROOT

 - [POST /api/cloudphone/enableRoot](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/enableroot.md): 启用或禁用单个云手机上的全局系统级 ROOT 权限。

### 云手机截屏

 - [POST /api/cloudphone/screenCap](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/screencap.md): 获取指定云手机实例的实时屏幕截图。支持返回带有过期时间戳的临时签名 URL。

### 云手机截屏（返回base64）

 - [POST /api/cloudphone/screenCapBase64](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/screencapbase64.md): 获取指定云手机实例的实时截屏。目前仅支持 Android 12 和 Android 15。

### 查询品牌和型号列表

 - [POST /api/cloudphone/brand/models](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/cloud-phone-management/paths/~1api~1cloudphone~1brand~1models/post.md): 查询给定安卓版本的可用品牌和型号列表

## ADB

### 更新云手机 ADB 状态

 - [POST /api/cloudphone/updateAdb](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/adb/updateadbusingpost.md)

### 批量查询 ADB 信息

 - [POST /api/cloudphone/batchAdbInfo](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/adb/batchadbinfo.md): 批量查询云手机 ADB 连接信息。
- envIds 列表最多支持 200 个项目。
- 支持跨 wuin 和 arm 提供商的混合查询；API 内部按提供商分组并合并结果。
- ADB 信息仅在手机开机时可用（envStatus >= 4）；关机或启动时无法查询。

### 执行 shell 命令

 - [POST /api/cloudphone/exeCommand](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/adb/executeshellcommand.md)

## Files

### 上传文件

 - [POST /api/cloudphone/uploadFile](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/fileuploadusing.md)

### 获取临时上传文件 URL

 - [POST /api/cloudphone/upload/file/signedUrl](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1signedurl/post.md): 通过此界面上传临时文件，系统将在7天后自动删除它们。

### 上传文件至网址

 - [POST /api/cloudphone/upload/file](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file/post.md)

### 文件上传结果

 - [POST /api/cloudphone/upload/file/result](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1upload~1file~1result/post.md)

### 文件下载

 - [POST /api/cloudphone/download](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download/post.md)

### 文件下载结果

 - [POST /api/cloudphone/download/result](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1download~1result/post.md)

### 设置钥匙盒

 - [POST /api/cloudphone/setKeyBox](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/files/paths/~1api~1cloudphone~1setkeybox/post.md)

## Apps

### 在云手机上安装应用

 - [POST /api/cloudphone/app/install](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1install/post.md)

### 获取 APP 应用列表

 - [POST /api/cloudphone/app/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1page/post.md): 获取 APP 应用列表

### 获取团队应用列表

 - [POST /api/cloudphone/team/app/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1team~1app~1page/post.md): 获取团队下的应用列表。

### 查询已安装应用列表

 - [POST /api/cloudphone/app/installedList](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1installedlist/post.md): 查询云手机上已安装的应用列表

### 启动应用程序

 - [POST /api/cloudphone/app/start](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1start/post.md): 在云手机上启动已安装的应用

### 重启应用

 - [POST /api/cloudphone/app/restart](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1restart/post.md)

### 停止应用程序

 - [POST /api/cloudphone/app/stop](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1stop/post.md)

### 卸载应用程序

 - [POST /api/cloudphone/app/uninstall](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1uninstall/post.md)

### 启用应用 ROOT

 - [POST /api/cloudphone/app/openRoot](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/appopenroot.md): 启用单个云手机上特定应用包的 ROOT 权限。

### 设置隐藏辅助功能应用

 - [POST /api/cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/apps/paths/~1api~1cloudphone~1app~1sethideaccessibilityapp/post.md): 仅支持 Android 13、Android 14 和 Android 15A。

## Schedules

### 获取市场模板页面

 - [POST /api/cloudphone/rpa/template/market/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1market~1page/post.md): 查询时间表市场模板，模板名称支持模糊查询

### 获取个人模板页面

 - [POST /api/cloudphone/rpa/template/personal/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1template~1personal~1page/post.md): 查询时间表市场模板，模板名称支持模糊查询

### 获取计划任务列表

 - [POST /api/cloudphone/rpa/task/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1page/post.md)

### 创建一次性任务计划

 - [POST /api/cloudphone/rpa/onceTask/save](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1oncetask~1save/post.md): 保存云手机，任务已安排。

模板参数 参数规范

1. __参数来源__

参数键必须从以下 API 返回的 parameter 字段中提取：

- 获取市场模板页面

- 获取个人模板页面

2. __数据结构__

- 以 JSON 对象格式提交参数：{"key1": "value1", "key2": "value2"}

- 最终参数值必须根据业务逻辑在使用前进行反序列化

3. __通用类型参数__

对于以下参数类型，请直接以相应格式传递值：

- 字符串：{"name": "John"}

- 小数/数字：{"amount": 100.50}

- 布尔值：{"enabled": true}

4. __媒体类型参数__

对于图像 (pic) 或视频 (video) 等媒体参数，除了基本信息外，还必须包含一个固定键 "__Extra__"。示例格式：

json
{
"__Extra__": {

"pic": {

"name": "pic_name",

"size": 204800

},

"video": {
"name": "video_name",

"size": 204800000

}
},

"pic": "https://get.morelogin.com/prod/cloudPhoneTaskVideo/1556061681934880/1c62314c7e2b4d298abe8d5452d7c050/test.png",

"video": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"

}

5. __参数配置示例__

以下示例演示了在使用市场模板保存套餐时如何配置 templateParameter 参数：

- __步骤 1：检索模板参数__

调用市场模板 API：

GET /api/cloudphone/rpa/template/market/page

从响应中提取 parameter 字段，例如：

json

"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select视频","type":"视频","required":true","defaultValue":{"enabled":false}","index":1","sizeLimit":{"value":200","unit":"MB"},"formatType":["mp4","mov"]}},"videoDescription":{"type":"string","extra":{"name":"视频" “标题”",“类型”:“字符串”",“必填”:false,“字符有效”:{“启用”:true,“值”:1000},“多行”:{“启用”:true,“值”:3},“默认值”:{“启用”:false},“索引”:2}},“封面网址”:{“类型”:“图像”,“额外”:{“名称”:“封面” “图像”,“类型”:“图像”,“必填”:false,“默认值”:{“启用”:false},“索引”:3,“大小限制”:{“值”:5,“单位”:“MB”},“格式类型”:[“jpg”,“png”,“jpeg”]}},“启用AIGC”:{“类型”:“布尔值”,“附加信息”:{“名称”:“AI标签”,“类型”:“布尔值”,“必填”:false,“默认值”:{“启用”:false},“索引”:4}},“产品ID”:{“类型”:“字符串”,“附加信息”:{“名称”:“产品” ID", "type": "string", "required": false", "charValid": { "enabled": true, "value": 50}", "placeholder": "产品 ID 仅支持数字，最多 50 个字符。", "defaultValue": { "enabled": false}, "index": 5}}, "productTitle": { "type": "string", "extra": { "name": "产品标题", "type": "string", "required": false, "charValid": { "enabled": true, "value": 30}, "defaultValue": { "enabled": false}, "index": 6}}, "getLeads": { "type": "boolean", "extra": { "name": "获取Leads\",\"type\":\"boolean\",\"required\":false,\"defaultValue\":{\"enabled\":false},\"index\":7}},\"comment\":{\"type\":\"string\",\"extra\":{\"name\":\"Comment\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":200},\"multiline\":{\"enabled\":true,\"value\":3},\"defaultValue\":{\"enabled\":false},\"index\":8}}}"



- __步骤 2：构建参数 JSON__

根据参数要求构建 JSON 对象：

json

{
"__Extra__": {

"videoDownloadUrl": {

"name": "video_name.mp4",

"size": 204800000

}
},

"videoDownloadUrl": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"

}

- __步骤 3：转义 JSON 字符串__

将 JSON 对象转换为转义字符串格式：

json

"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": "https://get.morelogin.com/pre/cloudPhoneTaskVideo/1542431036481556/4c4fed83685345ae8f1505fbe0c2f123/baby.mp4"}"



- __步骤 4：API 调用__

将转义后的字符串作为 templateParameter 参数的值传递给目标 API。

### 取消日程

 - [POST /api/cloudphone/rpa/task/cancel](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1task~1cancel/post.md)

### 页面查询任务执行记录

 - [POST /api/cloudphone/rpa/subTask/page](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1page/post.md): 查询时间表市场模板，模板名称支持模糊查询

### 获取任务执行

 - [POST /api/cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1detail~1%7Bid%7D/post.md): 查询时间表市场模板，模板名称支持模糊查询

### 取消执行

 - [POST /api/cloudphone/rpa/subTask/cancel/{id}](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/schedules/paths/~1api~1cloudphone~1rpa~1subtask~1cancel~1%7Bid%7D/post.md)

## Touch

### 触控 - 单击

 - [POST /api/cloudphone/touch/click](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/touch/touchclick.md): 模拟手指单击云手机屏幕指定坐标位置。
坐标系以屏幕左上角为原点 (0, 0)，X 轴向右，Y 轴向下。

### 触控 - 双击

 - [POST /api/cloudphone/touch/doubleClick](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/touch/touchdoubleclick.md): 模拟手指双击云手机屏幕指定坐标位置。
坐标系以屏幕左上角为原点 (0, 0)，X 轴向右，Y 轴向下。

### 触控 - 长按

 - [POST /api/cloudphone/touch/longClick](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/touch/touchlongclick.md): 模拟手指长按云手机屏幕指定坐标位置。
可通过 duration 参数自定义长按持续时长（毫秒）。若不传则使用默认时长。
坐标系以屏幕左上角为原点 (0, 0)，X 轴向右，Y 轴向下。

### 触控 - 滑动

 - [POST /api/cloudphone/touch/swipe](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/touch/touchswipe.md): 模拟手指从起始坐标滑动到结束坐标。
可通过 duration 参数控制滑动速度（毫秒），值越大滑动越慢。
坐标系以屏幕左上角为原点 (0, 0)，X 轴向右，Y 轴向下。

### 触控 - 拖动

 - [POST /api/cloudphone/touch/drag](https://guide.morelogin.com/zh/api-reference/cloud-phone/local-api/touch/touchdrag.md): 模拟手指从起始坐标拖动到结束坐标。与滑动类似，但拖动通常用于拖拽图标、元素等场景。
可通过 duration 参数控制拖动速度（毫秒），值越大拖动越慢。
坐标系以屏幕左上角为原点 (0, 0)，X 轴向右，Y 轴向下。

