# API abierta

La API abierta de MoreLogin ofrece una interfaz RESTful completa y fácil de usar para desarrolladores que le permite administrar programáticamente perfiles de navegador, teléfonos en la nube y recursos relacionados, lo que posibilita una automatización, escalabilidad y control impecables. La API abierta de MoreLogin se ejecuta en su máquina y es accesible en: https://api.morelogin.com

Version: 1.0.0

## Security

### Authorization

Token for request access token interface response access_token field

Type: http
In: header
Name: Authorization
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

[API abierta](https://guide.morelogin.com/_bundle/@l10n/es/API%20Reference/Cloud%20Phone/open-api.yaml)

## Authorization

### Token de acceso

 - [POST /oauth2/token](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/authorization/paths/~1oauth2~1token/post.md)

### Información del usuario

 - [GET /oauth2/userinfo](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/authorization/paths/~1oauth2~1userinfo/get.md)

## Cloud Phone Management

### Obtener una lista de perfiles de teléfono en la nube

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

### Creación de un teléfono en la nube

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

### Teléfono en la nube para startups

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

### Apaga el teléfono en la nube

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

### Modificar el perfil del teléfono en la nube

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

### Configurar proxy del teléfono en la nube

 - [POST /cloudphone/setProxy](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/setproxy.md): Configura los ajustes de proxy para uno o varios teléfonos en la nube. Admite la vinculación directa de proxyId o la adición/modificación de parámetros detallados del proxy. El formato del payload de la solicitud es idéntico a la configuración del proxy del navegador, y los ajustes se aplican instantáneamente.

### Eliminar teléfono en la nube

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

### Nuevo teléfono en la nube con un solo clic

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

### Detalles del teléfono en la nube

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

### Obtener detalles del teléfono en la nube por AndroidId

 - [POST /cloudphone/queryByAndroidId](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/querybyandroidid.md): Consulta el ID del teléfono en la nube asociado con un androidId específico en el equipo actual. Devuelve el ID de un único teléfono en la nube si se encuentra.

### Habilitar o deshabilitar ROOT global

 - [POST /cloudphone/enableRoot](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/enableroot.md): Habilita o deshabilita el permiso ROOT global a nivel de sistema en un solo teléfono en la nube.

### Captura de pantalla del teléfono en la nube

 - [POST /cloudphone/screenCap](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/screencap.md): Obtiene la captura de pantalla en tiempo real de la instancia de teléfono en la nube especificada. Admite la devolución de una URL firmada temporal con una marca de tiempo de vencimiento.

### Captura de pantalla del teléfono en la nube (respuesta base64)

 - [POST /cloudphone/screenCapBase64](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/screencapbase64.md): Obtener la captura de pantalla en tiempo real de la instancia de teléfono en la nube especificada. Actualmente, solo se admiten Android 12 y Android 15.

### Consultar lista de marcas y modelos

 - [POST /cloudphone/brand/models](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/cloud-phone-management/paths/~1cloudphone~1brand~1models/post.md): Consulta la lista de marcas y modelos disponibles para la versión de Android especificada.

## ADB

### Actualizar el estado de ADB del teléfono en la nube

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

### Consulta por lotes de información de ADB

 - [POST /cloudphone/batchAdbInfo](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/adb/batchadbinfo.md): Consulta por lotes la información de conexión ADB de los teléfonos en la nube.
- La lista envIds admite un máximo de 200 elementos.
- Admite consultas mixtas entre los proveedores wuin y arm; la API agrupa internamente por proveedor y combina los resultados.
- La información de ADB solo está disponible cuando el teléfono está encendido (envStatus >= 4); no se puede consultar cuando está apagado o reiniciando.

### Ejecutar comando de shell

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

## Files

### Obtener URL de carga de archivos

 - [POST /cloudphone/uploadUrl](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/files/get.md): Cargue archivos temporales a través de esta interfaz y el sistema los eliminará automáticamente después de 7 días.

### Subir archivos

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

### resultado de uploadFile

 - [POST /cloudphone/uploadFileResult](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/files/fileuploadresult.md)

### Descarga de archivos

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

### Resultado de la descarga del archivo

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

### Juego de caja de llaves

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

## Apps

### Instala la aplicación en tu teléfono en la nube.

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

### Obtener la lista de aplicaciones APP

 - [POST /cloudphone/app/page](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1page/post.md): Obtener la lista de aplicaciones APP

### Listar aplicaciones del equipo

 - [POST /cloudphone/team/app/page](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1team~1app~1page/post.md): Obtiene la lista de aplicaciones del equipo.

### Consultar la lista de aplicaciones instaladas

 - [POST /cloudphone/app/installedList](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1installedlist/post.md): Consulta la lista de aplicaciones instaladas en un teléfono en la nube.

### Iniciar la aplicación

 - [POST /cloudphone/app/start](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1start/post.md): Inicia una aplicación instalada en el teléfono en la nube.

### Reiniciar la aplicación

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

### Detener la aplicación

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

### Desinstalar la aplicación

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

### Habilitar ROOT de la aplicación

 - [POST /cloudphone/app/openRoot](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/appopenroot.md): Habilita el permiso ROOT para un paquete de aplicación específico en un solo teléfono en la nube.

### Configurar Ocultar la aplicación de accesibilidad

 - [POST /cloudphone/app/setHideAccessibilityApp](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/apps/paths/~1cloudphone~1app~1sethideaccessibilityapp/post.md): Solo es compatible con Android 13, Android 14 y Android 15A.

## Schedules

### Obtenga páginas de plantillas de mercado

 - [POST /cloudphone/rpa/template/market/page](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1template~1market~1page/post.md): Plantilla de mercado de horarios de consulta, el nombre de la plantilla admite consultas difusas

### Obtén plantillas de páginas personalizadas

 - [POST /cloudphone/rpa/template/personal/page](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1template~1personal~1page/post.md): Plantilla de mercado de horarios de consulta, el nombre de la plantilla admite consultas difusas

### Obtén una lista de horarios

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

### Crear un horario único

 - [POST /cloudphone/rpa/onceTask/save](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1oncetask~1save/post.md): Guardar el teléfono en la nube una vez programada la tarea

Especificación de parámetros de plantilla
1. Origen de los parámetros
Las claves de los parámetros deben extraerse del campo parameter que devuelven las siguientes API:
- Obtener páginas de plantillas de mercado
- Obtener páginas de plantillas personales
2. Estructura de datos
- Enviar parámetros en formato de objeto JSON: {"clave1": "valor1", "clave2": "valor2"}
- Los valores finales de los parámetros deben deserializarse según la lógica de negocio antes de su uso.
3. Parámetros de tipo común
Para los siguientes tipos de parámetros, pasar los valores directamente en el formato correspondiente:
- Cadena: {"nombre": "John"}
- Decimal/número: {"cantidad": 100.50}
- Booleano: {"habilitado": true}
4. Parámetros de tipo de medio
Para parámetros de medios como imágenes o vídeos, además de la información básica, debe incluirse una clave fija "__Extra__". Formato de ejemplo:
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": "morelogin://cloudfile?ids=1,2"
}

5. Ejemplo de configuración de parámetros
El siguiente ejemplo muestra cómo configurar el parámetro templateParameter al guardar un plan usando una plantilla de mercado:
- Paso 1: Recuperar parámetros de la plantilla
Llamar a la API de plantillas de mercado:
GET /api/cloudphone/rpa/template/market/page
Extraer el campo parameter de la respuesta, por ejemplo:

json
"parameter": "{\"videoDownloadUrl\":{\"type\":\"video\",\"extra\":{\"name\":\"Select" Vídeo\",\"tipo\":\"vídeo\",\"obligatorio\":verdadero,\"valor_predeterminado\":{\"habilitado\":falso},\"índice\":1,\"límite_tamaño\":{\"valor\":200,\"unidad\":\"MB\"},\"tipo_formato\":[\"mp4\",\"mov\"]}},\"descripción_vídeo\":{\"tipo\":\"cadena\",\"extra\":{\"nombre\":\"Vídeo Leyenda\",\"tipo\":\"cadena\",\"obligatorio\":false,\"carácter\":{\"habilitado\":true,\"valor\":1000},\"multilínea\":{\"habilitado\":true,\"valor\":3},\"valor\predeterminado\":{\"habilitado\":false},\"índice\":2}},\"url\de\portada\":{\"tipo\":\"imagen\",\"extra\":{\"nombre\":\"Portada" Imagen\",\"tipo\":\"imagen\",\"obligatorio\":false,\"valor_predeterminado\":{\"habilitado\":false},\"índice\":3,\"límite_tamaño\":{\"valor\":5,\"unidad\":\"MB\"},\"tipo_formato\":[\"jpg\",\"png\",\"jpeg\"]}},\"habilitarAIGC\":{\"tipo\":\"booleano\",\"extra\":{\"nombre\":\"Etiqueta_AI\",\"tipo\":\"booleano\",\"obligatorio\":false,\"valor_predeterminado\":{\"habilitado\":false},\"índice\":4}},\"id_producto\":{\"tipo\":\"cadena\",\"extra\":{\"nombre\":\"Producto ID\",\"type\":\"string\",\"required\":false,\"charValid\":{\"enabled\":true,\"value\":50},\"placeholder\":\"El ID del producto solo admite dígitos, con un máximo de 50 caracteres."\"defaultValue\":{\"enabled\":false},\"index\":5}},\"productTitle\":{\"type\":\"string\",\"extra\":{\"name\":\"Producto Título\",\"tipo\":\"cadena\",\"obligatorio\":falso,\"carácterValidado\":{\"habilitado\":verdadero,\"valor\":30},\"valorPredeterminado\":{\"habilitado\":falso},\"índice\":6}},\"obtenerClientes Potenciales\":{\"tipo\":\"booleano\",\"extra\":{\"nombre\":\"Obtener "Clientes potenciales\",\"tipo\":\"booleano\",\"obligatorio\":falso,\"valor_predeterminado\":{\"habilitado\":falso},\"índice\":7}},\"comentario\":{\"tipo\":\"cadena\",\"extra\":{\"nombre\":\"Comentario\",\"tipo\":\"cadena\",\"obligatorio\":falso,\"caracter_validado\":{\"habilitado\":verdadero,\"valor\":200},\"multilínea\":{\"habilitado\":verdadero,\"valor\":3},\"valor_predeterminado\":{\"habilitado\":falso},\"índice\":8}}}"


- __Paso 2: Construir el JSON de parámetros__
Construir el objeto JSON según los requisitos de los parámetros:
json
{
"__Extra__": {
"videoDownloadUrl": {
"name": "video_name.mp4",
"size": 204800000
}

},
"videoDownloadUrl": "morelogin://cloudfile?ids=1,2"
}
 - __Paso 3: Escapar la cadena JSON__
Convierte el objeto JSON a un formato de cadena escapada:
``json
"{\"__Extra__\": {\"videoDownloadUrl\": {\"name\": \"video_name.mp4\",\"size\": 204800000}},\"videoDownloadUrl\": "morelogin://cloudfile?ids=1,2"
Paso 4: Llamada a la API
Pase la cadena escapada como valor del parámetro templateParameter` a la API de destino.

### Cancelar horario

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

### Registro de ejecuciones de tareas de consulta de página

 - [POST /cloudphone/rpa/subTask/page](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1subtask~1page/post.md): Plantilla de mercado de horarios de consulta, el nombre de la plantilla admite consultas difusas

### Obtener una ejecución de tarea

 - [POST /cloudphone/rpa/subTask/detail/{id}](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/schedules/paths/~1cloudphone~1rpa~1subtask~1detail~1%7Bid%7D/post.md): Plantilla de mercado de horarios de consulta, el nombre de la plantilla admite consultas difusas

### Cancelar ejecución

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

## Touch

### Toque - Clic

 - [POST /cloudphone/touch/click](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/touch/touchclick.md): Simula un toque único en la pantalla del teléfono en la nube en las coordenadas especificadas.
El sistema de coordenadas utiliza la esquina superior izquierda de la pantalla como origen (0, 0), con el eje X extendiéndose hacia la derecha y el eje Y extendiéndose hacia abajo.

### Toque - Doble clic

 - [POST /cloudphone/touch/doubleClick](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/touch/touchdoubleclick.md): Simula un doble toque en la pantalla del teléfono en la nube en las coordenadas especificadas.
El sistema de coordenadas utiliza la esquina superior izquierda de la pantalla como origen (0, 0), con el eje X extendiéndose hacia la derecha y el eje Y extendiéndose hacia abajo.

### Toque - Pulsación larga

 - [POST /cloudphone/touch/longClick](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/touch/touchlongclick.md): Simula una pulsación larga en la pantalla del teléfono en la nube en las coordenadas especificadas.
Use el parámetro duration para personalizar la duración de la pulsación (en milisegundos). Si se omite, se usa la duración predeterminada.
El sistema de coordenadas utiliza la esquina superior izquierda de la pantalla como origen (0, 0), con el eje X extendiéndose hacia la derecha y el eje Y extendiéndose hacia abajo.

### Toque - Deslizar

 - [POST /cloudphone/touch/swipe](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/touch/touchswipe.md): Simula un deslizamiento del dedo desde las coordenadas de inicio hasta las coordenadas de fin.
Use el parámetro duration para controlar la velocidad del deslizamiento (en milisegundos). Un valor mayor resulta en un deslizamiento más lento.
El sistema de coordenadas utiliza la esquina superior izquierda de la pantalla como origen (0, 0), con el eje X extendiéndose hacia la derecha y el eje Y extendiéndose hacia abajo.

### Toque - Arrastrar

 - [POST /cloudphone/touch/drag](https://guide.morelogin.com/es/api-reference/cloud-phone/open-api/touch/touchdrag.md): Simula un arrastre del dedo desde las coordenadas de inicio hasta las coordenadas de fin. Similar a deslizar, pero arrastrar se usa típicamente para mover íconos, elementos de UI, etc.
Use el parámetro duration para controlar la velocidad del arrastre (en milisegundos). Un valor mayor resulta en un arrastre más lento.
El sistema de coordenadas utiliza la esquina superior izquierda de la pantalla como origen (0, 0), con el eje X extendiéndose hacia la derecha y el eje Y extendiéndose hacia abajo.

