Saltar al contenido
Last updated

Cloud Storage

Cloud Storage es un espacio de archivos a nivel de equipo para guardar archivos que se reutilizan en los flujos de automatización de MoreLogin. Úsalo para subir un archivo una vez, organizarlo con etiquetas, encontrarlo más adelante y borrar lo que ya no necesitas.

Es distinto de las API de transferencia de archivos de Cloud Phone. Las API de archivos de Cloud Phone mueven archivos hacia o desde una instancia de dispositivo concreta. Las API de Cloud Storage gestionan la biblioteca de archivos compartida antes de que un archivo lo use un dispositivo, una programación, una plantilla de RPA u otra lógica de automatización.


Qué puedes hacer

CapacidadPara qué sirveAPI relacionadas
Resumen de almacenamientoConsulta la capacidad total, la capacidad usada, la fecha de caducidad y el estado de capacidad antes de subir o limpiar archivos.Consultar información de cloud storage
Búsqueda de archivosLista los archivos de cloud storage por páginas y filtra por nombre, tipo, etiqueta o ID de archivo.Paginar archivos de cloud storage
Subida de archivosSolicita URL de subida prefirmadas, sube el contenido al almacén de objetos y luego confirma la finalización en MoreLogin.Solicitar por lotes URL de subida prefirmadas, confirmar la finalización de la subida
Limpieza de archivosBorra uno o varios archivos de la biblioteca compartida.Borrar por lotes archivos de cloud storage
Etiquetado de archivosReemplaza o añade etiquetas para organizar archivos por proyecto, cliente, uso o flujo.Establecer etiquetas de archivo, añadir etiquetas de archivo, consultar etiquetas de archivo
Gestión de etiquetasCrea, edita, lista y borra etiquetas de archivo reutilizables.Consultar todas las etiquetas, crear etiqueta, editar etiqueta, borrar etiquetas

Casos de uso habituales

  • Sube APK, archivos multimedia, documentos o recursos de prueba una vez y reutilízalos en la automatización.
  • Mantén los archivos organizados por cliente, campaña, versión de la aplicación, entorno o flujo.
  • Crea un selector de archivos en tu herramienta interna llamando a la API de paginación con filtros de nombre y etiqueta.
  • Limpia por lotes los archivos caducados o sin usar cuando termine un flujo.
  • Sincroniza un sistema externo de recursos con MoreLogin creando etiquetas y asignándolas a los archivos subidos.

Acceso a la API

MétodoURL basePrefijo de rutaCaso de uso
Open APIhttps://api.morelogin.com/cloudstorageAcceso servidor a servidor, herramientas remotas, CI/CD, servicios de backend
Local APIhttp://127.0.0.1:40000/api/cloudstorageScripts o herramientas de escritorio que se ejecutan en la misma máquina que el cliente de MoreLogin

Para los detalles de autenticación, consulta Autenticación.


Flujo de subida

Las subidas a Cloud Storage usan un flujo de URL prefirmada. Tu código no sube el archivo binario directamente a la API de MoreLogin.

  1. Llama a Solicitar por lotes URL de subida prefirmadas con una lista de nombres de archivo (con extensión).
  2. Para cada elemento devuelto, sube el archivo binario a presignedUrl con PUT por HTTPS.
  3. Llama a Confirmar la finalización de la subida con el id de archivo devuelto.
  4. Usa Paginar archivos de cloud storage o Consultar etiquetas de archivo para verificar y mostrar el archivo subido.
# 1. Request a presigned upload URL
curl -X POST "https://api.morelogin.com/cloudstorage/upload/init" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileNames": ["example.jpg"]
  }'

# 2. Upload file content to the returned presignedUrl
curl -X PUT "PRESIGNED_URL_FROM_RESPONSE" \
  -H "Content-Type: image/jpeg" \
  --data-binary "@example.jpg"

# 3. Confirm upload completion (id from step 1 response)
curl -X POST "https://api.morelogin.com/cloudstorage/upload/complete" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 1800000000000001
  }'

Para la Local API, mantén el mismo cuerpo de petición y sustituye la ruta por http://127.0.0.1:40000/api/cloudstorage/....


Usar archivos de Cloud Storage en el RPA de Cloud Phone

Una vez subido y confirmado un archivo, los parámetros de plantilla del RPA de Cloud Phone pueden referenciarlo por su ID de archivo de Cloud Storage. Usa el protocolo de archivo en la nube de MoreLogin en lugar de una URL de descarga pública externa:

morelogin://cloudfile?ids=1,2

ids es una lista de ID de archivo de Cloud Storage separados por comas. Usa solo comas inglesas, sin espacios. Puedes obtener los ID de archivo en la respuesta de finalización de la subida o desde Paginar archivos de cloud storage.

Un solo archivo:

morelogin://cloudfile?ids=1800000000001001

Varios archivos:

morelogin://cloudfile?ids=1800000000001001,1800000000001002

Cuando el parámetro de RPA es de tipo multimedia o archivo, mantén los metadatos obligatorios __Extra__ y asigna al parámetro el URI del protocolo de archivo en la nube:

{
  "__Extra__": {
    "videoDownloadUrl": { "name": "video.mp4", "size": 204800000 }
  },
  "videoDownloadUrl": "morelogin://cloudfile?ids=1,2"
}

Esto resulta útil para tareas de RPA de Cloud Phone programadas, plantillas del marketplace, plantillas personales y cualquier parámetro de nodo de RPA que espere un archivo subido reutilizable. El runtime de RPA resuelve el archivo desde Cloud Storage de MoreLogin, así que el archivo no necesita estar expuesto en una URL HTTPS pública.


Ejemplo completo: ejecutar RPA de Cloud Phone con un vídeo de Cloud Storage

Este ejemplo sube video.mp4 a Cloud Storage, le añade una etiqueta y luego crea una tarea de RPA de Cloud Phone de una sola vez que usa el archivo subido en el parámetro de plantilla videoDownloadUrl.

El ejemplo usa rutas de la Local API. Para la Open API, mantén los mismos cuerpos de petición y sustituye:

  • http://127.0.0.1:40000/api/cloudstorage/... por https://api.morelogin.com/cloudstorage/...
  • http://127.0.0.1:40000/api/cloudphone/... por https://api.morelogin.com/cloudphone/...

1. Crear una etiqueta para los recursos de RPA

curl -X POST "http://127.0.0.1:40000/api/cloudstorage/tag/create" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "tagName": "RPA Assets"
  }'

Guarda el id de la etiqueta devuelta, por ejemplo 1800000000000101.

2. Solicitar una URL de subida prefirmada

curl -X POST "http://127.0.0.1:40000/api/cloudstorage/upload/init" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileNames": ["video.mp4"]
  }'

Guarda el id de archivo devuelto y presignedUrl.

3. Subir el binario del archivo

Sube el contenido del archivo a presignedUrl. Esta petición va a la URL del almacén de objetos devuelta en el paso anterior, no a la API de MoreLogin.

curl -X PUT "PRESIGNED_URL_FROM_RESPONSE" \
  -H "Content-Type: video/mp4" \
  --data-binary "@video.mp4"

4. Confirmar la finalización de la subida

curl -X POST "http://127.0.0.1:40000/api/cloudstorage/upload/complete" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 1800000000000001
  }'

Guarda el ID de archivo de Cloud Storage devuelto, por ejemplo 1800000000001001.

4.1 Asignar la etiqueta al archivo

curl -X POST "http://127.0.0.1:40000/api/cloudstorage/file/tag/add" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileId": 1800000000001001,
    "tagIds": [1800000000000101]
  }'

Si tu respuesta de finalización de la subida no incluye el ID de archivo directamente, consulta los archivos por páginas:

curl -X POST "http://127.0.0.1:40000/api/cloudstorage/file/page" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pageNo": 1,
    "pageSize": 20,
    "fileName": "video",
    "tagIds": [1800000000000101]
  }'

5. Construir el parámetro de plantilla de RPA

Usa el ID de archivo de Cloud Storage en el protocolo de archivo en la nube de MoreLogin:

morelogin://cloudfile?ids=1800000000001001

Para un parámetro de plantilla de RPA llamado videoDownloadUrl, construye el objeto JSON así:

{
  "__Extra__": {
    "videoDownloadUrl": {
      "name": "video.mp4",
      "size": 204800000
    }
  },
  "videoDownloadUrl": "morelogin://cloudfile?ids=1800000000001001"
}

Después escápalo como cadena JSON para templateParameter:

"{\"__Extra__\":{\"videoDownloadUrl\":{\"name\":\"video.mp4\",\"size\":204800000}},\"videoDownloadUrl\":\"morelogin://cloudfile?ids=1800000000001001\"}"

6. Crear una tarea de RPA de Cloud Phone de una sola vez

Antes de crear la tarea, obtén cloudPhoneId de la API de listado de Cloud Phone y templateId de la API de listado de plantillas del marketplace o personales.

curl -X POST "http://127.0.0.1:40000/api/cloudphone/rpa/onceTask/save" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cloudPhoneId": 1678331966138097,
    "scheduleName": "Upload video from Cloud Storage",
    "templateId": 1678347487160256,
    "templateParameter": "{\"__Extra__\":{\"videoDownloadUrl\":{\"name\":\"video.mp4\",\"size\":204800000}},\"videoDownloadUrl\":\"morelogin://cloudfile?ids=1800000000001001\"}",
    "description": "Use a Cloud Storage video file in a one-time Cloud Phone RPA task"
  }'

7. Verificar la tarea

Consulta la lista de tareas o de subtareas de RPA de Cloud Phone para verificar el estado de ejecución:

curl -X POST "http://127.0.0.1:40000/api/cloudphone/rpa/task/page" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "pageNo": 1,
    "pageSize": 20,
    "taskName": "Upload video from Cloud Storage"
  }'

La clave es que la tarea de RPA recibe videoDownloadUrl como morelogin://cloudfile?ids=.... MoreLogin resuelve el archivo desde Cloud Storage en tiempo de ejecución, así que tu integración no necesita alojar el archivo en una URL pública.


Flujo de etiquetas

Las etiquetas son metadatos reutilizables para los archivos de cloud storage. Un archivo puede tener varias etiquetas.

  • Usa Crear etiqueta de archivo de cloud storage para crear etiquetas como Invoices, APK, Customer A o RPA Assets.
  • Usa Establecer etiquetas de archivo cuando quieras sobrescribir todas las etiquetas de un archivo.
  • Usa Añadir etiquetas de archivo cuando quieras añadir sin eliminar las etiquetas existentes.
  • Usa Consultar todas las etiquetas de archivo de cloud storage para construir filtros de etiquetas en tu interfaz.
  • Usa Consultar etiquetas de archivo para mostrar qué etiquetas tienen los archivos seleccionados.

Ejemplo: añadir una etiqueta a un archivo sin eliminar las que ya tiene.

curl -X POST "https://api.morelogin.com/cloudstorage/file/tag/add" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fileId": 1800000000001001,
    "tagIds": [1800000000000103]
  }'

Mapa de API

TareaRuta de la Open APIRuta de la Local API
Consultar información de almacenamientoGET /cloudstorage/infoGET /api/cloudstorage/info
Paginar archivosPOST /cloudstorage/file/pagePOST /api/cloudstorage/file/page
Solicitar URL de subida prefirmadasPOST /cloudstorage/upload/initPOST /api/cloudstorage/upload/init
Confirmar la finalización de la subidaPOST /cloudstorage/upload/completePOST /api/cloudstorage/upload/complete
Borrar archivos por lotesPOST /cloudstorage/file/delete/batchPOST /api/cloudstorage/file/delete/batch
Establecer etiquetas de archivoPOST /cloudstorage/file/tag/setPOST /api/cloudstorage/file/tag/set
Añadir etiquetas de archivoPOST /cloudstorage/file/tag/addPOST /api/cloudstorage/file/tag/add
Consultar etiquetas en archivosPOST /cloudstorage/file/tag/queryPOST /api/cloudstorage/file/tag/query
Consultar todas las etiquetasGET /cloudstorage/tag/allGET /api/cloudstorage/tag/all
Crear etiquetaPOST /cloudstorage/tag/createPOST /api/cloudstorage/tag/create
Editar etiquetaPOST /cloudstorage/tag/editPOST /api/cloudstorage/tag/edit
Borrar etiquetasPOST /cloudstorage/tag/delete/batchPOST /api/cloudstorage/tag/delete/batch

Referencia de API

APIDescripción
Cloud Storage Open APIAcceso remoto vía https://api.morelogin.com, autenticación OAuth2
Cloud Storage Local APIAcceso local vía http://127.0.0.1:40000

Nota: las rutas de la Local API usan el prefijo /api/. Las de la Open API lo omiten.