{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/es/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Cloud Storage"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"cloud-storage","__idx":0},"children":["Cloud Storage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"qué-puedes-hacer","__idx":1},"children":["Qué puedes hacer"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Capacidad"},"children":["Capacidad"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Para qué sirve"},"children":["Para qué sirve"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API relacionadas"},"children":["API relacionadas"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Resumen de almacenamiento"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consulta la capacidad total, la capacidad usada, la fecha de caducidad y el estado de capacidad antes de subir o limpiar archivos."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consultar información de cloud storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Búsqueda de archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lista los archivos de cloud storage por páginas y filtra por nombre, tipo, etiqueta o ID de archivo."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Paginar archivos de cloud storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Subida de archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Solicita URL de subida prefirmadas, sube el contenido al almacén de objetos y luego confirma la finalización en MoreLogin."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Solicitar por lotes URL de subida prefirmadas, confirmar la finalización de la subida"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Limpieza de archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Borra uno o varios archivos de la biblioteca compartida."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Borrar por lotes archivos de cloud storage"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Etiquetado de archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reemplaza o añade etiquetas para organizar archivos por proyecto, cliente, uso o flujo."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Establecer etiquetas de archivo, añadir etiquetas de archivo, consultar etiquetas de archivo"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Gestión de etiquetas"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Crea, edita, lista y borra etiquetas de archivo reutilizables."]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consultar todas las etiquetas, crear etiqueta, editar etiqueta, borrar etiquetas"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"casos-de-uso-habituales","__idx":2},"children":["Casos de uso habituales"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sube APK, archivos multimedia, documentos o recursos de prueba una vez y reutilízalos en la automatización."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Mantén los archivos organizados por cliente, campaña, versión de la aplicación, entorno o flujo."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Crea un selector de archivos en tu herramienta interna llamando a la API de paginación con filtros de nombre y etiqueta."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Limpia por lotes los archivos caducados o sin usar cuando termine un flujo."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sincroniza un sistema externo de recursos con MoreLogin creando etiquetas y asignándolas a los archivos subidos."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"acceso-a-la-api","__idx":3},"children":["Acceso a la API"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Método"},"children":["Método"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"URL base"},"children":["URL base"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Prefijo de ruta"},"children":["Prefijo de ruta"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Caso de uso"},"children":["Caso de uso"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Open API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.morelogin.com"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/cloudstorage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Acceso servidor a servidor, herramientas remotas, CI/CD, servicios de backend"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Local API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/cloudstorage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Scripts o herramientas de escritorio que se ejecutan en la misma máquina que el cliente de MoreLogin"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Para los detalles de autenticación, consulta ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/es/api-reference/getting-started/authentication"},"children":["Autenticación"]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"flujo-de-subida","__idx":4},"children":["Flujo de subida"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Llama a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Solicitar por lotes URL de subida prefirmadas"]}," con una lista de nombres de archivo (con extensión)."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Para cada elemento devuelto, sube el archivo binario a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presignedUrl"]}," con ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PUT"]}," por HTTPS."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Llama a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Confirmar la finalización de la subida"]}," con el ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," de archivo devuelto."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Paginar archivos de cloud storage"]}," o ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Consultar etiquetas de archivo"]}," para verificar y mostrar el archivo subido."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"# 1. Request a presigned upload URL\ncurl -X POST \"https://api.morelogin.com/cloudstorage/upload/init\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileNames\": [\"example.jpg\"]\n  }'\n\n# 2. Upload file content to the returned presignedUrl\ncurl -X PUT \"PRESIGNED_URL_FROM_RESPONSE\" \\\n  -H \"Content-Type: image/jpeg\" \\\n  --data-binary \"@example.jpg\"\n\n# 3. Confirm upload completion (id from step 1 response)\ncurl -X POST \"https://api.morelogin.com/cloudstorage/upload/complete\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"id\": 1800000000000001\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Para la Local API, mantén el mismo cuerpo de petición y sustituye la ruta por ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000/api/cloudstorage/..."]},"."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"usar-archivos-de-cloud-storage-en-el-rpa-de-cloud-phone","__idx":5},"children":["Usar archivos de Cloud Storage en el RPA de Cloud Phone"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"morelogin://cloudfile?ids=1,2\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Paginar archivos de cloud storage"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Un solo archivo:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"morelogin://cloudfile?ids=1800000000001001\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Varios archivos:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"morelogin://cloudfile?ids=1800000000001001,1800000000001002\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Cuando el parámetro de RPA es de tipo multimedia o archivo, mantén los metadatos obligatorios ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["__Extra__"]}," y asigna al parámetro el URI del protocolo de archivo en la nube:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"__Extra__\": {\n    \"videoDownloadUrl\": { \"name\": \"video.mp4\", \"size\": 204800000 }\n  },\n  \"videoDownloadUrl\": \"morelogin://cloudfile?ids=1,2\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"ejemplo-completo-ejecutar-rpa-de-cloud-phone-con-un-vídeo-de-cloud-storage","__idx":6},"children":["Ejemplo completo: ejecutar RPA de Cloud Phone con un vídeo de Cloud Storage"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Este ejemplo sube ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["videoDownloadUrl"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["El ejemplo usa rutas de la Local API. Para la Open API, mantén los mismos cuerpos de petición y sustituye:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000/api/cloudstorage/..."]}," por ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.morelogin.com/cloudstorage/..."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000/api/cloudphone/..."]}," por ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.morelogin.com/cloudphone/..."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-crear-una-etiqueta-para-los-recursos-de-rpa","__idx":7},"children":["1. Crear una etiqueta para los recursos de RPA"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudstorage/tag/create\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"tagName\": \"RPA Assets\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Guarda el ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," de la etiqueta devuelta, por ejemplo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1800000000000101"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-solicitar-una-url-de-subida-prefirmada","__idx":8},"children":["2. Solicitar una URL de subida prefirmada"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudstorage/upload/init\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileNames\": [\"video.mp4\"]\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Guarda el ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["id"]}," de archivo devuelto y ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presignedUrl"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3-subir-el-binario-del-archivo","__idx":9},"children":["3. Subir el binario del archivo"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sube el contenido del archivo a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["presignedUrl"]},". Esta petición va a la URL del almacén de objetos devuelta en el paso anterior, no a la API de MoreLogin."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X PUT \"PRESIGNED_URL_FROM_RESPONSE\" \\\n  -H \"Content-Type: video/mp4\" \\\n  --data-binary \"@video.mp4\"\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"4-confirmar-la-finalización-de-la-subida","__idx":10},"children":["4. Confirmar la finalización de la subida"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudstorage/upload/complete\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"id\": 1800000000000001\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Guarda el ID de archivo de Cloud Storage devuelto, por ejemplo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1800000000001001"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"41-asignar-la-etiqueta-al-archivo","__idx":11},"children":["4.1 Asignar la etiqueta al archivo"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudstorage/file/tag/add\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileId\": 1800000000001001,\n    \"tagIds\": [1800000000000101]\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Si tu respuesta de finalización de la subida no incluye el ID de archivo directamente, consulta los archivos por páginas:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudstorage/file/page\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"fileName\": \"video\",\n    \"tagIds\": [1800000000000101]\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"5-construir-el-parámetro-de-plantilla-de-rpa","__idx":12},"children":["5. Construir el parámetro de plantilla de RPA"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Usa el ID de archivo de Cloud Storage en el protocolo de archivo en la nube de MoreLogin:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"text","header":{"controls":{"copy":{}}},"source":"morelogin://cloudfile?ids=1800000000001001\n","lang":"text"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Para un parámetro de plantilla de RPA llamado ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["videoDownloadUrl"]},", construye el objeto JSON así:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"__Extra__\": {\n    \"videoDownloadUrl\": {\n      \"name\": \"video.mp4\",\n      \"size\": 204800000\n    }\n  },\n  \"videoDownloadUrl\": \"morelogin://cloudfile?ids=1800000000001001\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Después escápalo como cadena JSON para ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["templateParameter"]},":"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"\"{\\\"__Extra__\\\":{\\\"videoDownloadUrl\\\":{\\\"name\\\":\\\"video.mp4\\\",\\\"size\\\":204800000}},\\\"videoDownloadUrl\\\":\\\"morelogin://cloudfile?ids=1800000000001001\\\"}\"\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"6-crear-una-tarea-de-rpa-de-cloud-phone-de-una-sola-vez","__idx":13},"children":["6. Crear una tarea de RPA de Cloud Phone de una sola vez"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Antes de crear la tarea, obtén ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["cloudPhoneId"]}," de la API de listado de Cloud Phone y ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["templateId"]}," de la API de listado de plantillas del marketplace o personales."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudphone/rpa/onceTask/save\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"cloudPhoneId\": 1678331966138097,\n    \"scheduleName\": \"Upload video from Cloud Storage\",\n    \"templateId\": 1678347487160256,\n    \"templateParameter\": \"{\\\"__Extra__\\\":{\\\"videoDownloadUrl\\\":{\\\"name\\\":\\\"video.mp4\\\",\\\"size\\\":204800000}},\\\"videoDownloadUrl\\\":\\\"morelogin://cloudfile?ids=1800000000001001\\\"}\",\n    \"description\": \"Use a Cloud Storage video file in a one-time Cloud Phone RPA task\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"7-verificar-la-tarea","__idx":14},"children":["7. Verificar la tarea"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Consulta la lista de tareas o de subtareas de RPA de Cloud Phone para verificar el estado de ejecución:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"http://127.0.0.1:40000/api/cloudphone/rpa/task/page\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"pageNo\": 1,\n    \"pageSize\": 20,\n    \"taskName\": \"Upload video from Cloud Storage\"\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["La clave es que la tarea de RPA recibe ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["videoDownloadUrl"]}," como ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"flujo-de-etiquetas","__idx":15},"children":["Flujo de etiquetas"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Las etiquetas son metadatos reutilizables para los archivos de cloud storage. Un archivo puede tener varias etiquetas."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Crear etiqueta de archivo de cloud storage"]}," para crear etiquetas como ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Invoices"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["APK"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Customer A"]}," o ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RPA Assets"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Establecer etiquetas de archivo"]}," cuando quieras sobrescribir todas las etiquetas de un archivo."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Añadir etiquetas de archivo"]}," cuando quieras añadir sin eliminar las etiquetas existentes."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Consultar todas las etiquetas de archivo de cloud storage"]}," para construir filtros de etiquetas en tu interfaz."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Usa ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Consultar etiquetas de archivo"]}," para mostrar qué etiquetas tienen los archivos seleccionados."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Ejemplo: añadir una etiqueta a un archivo sin eliminar las que ya tiene."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"bash","header":{"controls":{"copy":{}}},"source":"curl -X POST \"https://api.morelogin.com/cloudstorage/file/tag/add\" \\\n  -H \"Authorization: Bearer YOUR_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"fileId\": 1800000000001001,\n    \"tagIds\": [1800000000000103]\n  }'\n","lang":"bash"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"mapa-de-api","__idx":16},"children":["Mapa de API"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Tarea"},"children":["Tarea"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Ruta de la Open API"},"children":["Ruta de la Open API"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Ruta de la Local API"},"children":["Ruta de la Local API"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consultar información de almacenamiento"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /cloudstorage/info"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/cloudstorage/info"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Paginar archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/file/page"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/file/page"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Solicitar URL de subida prefirmadas"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/upload/init"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/upload/init"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Confirmar la finalización de la subida"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/upload/complete"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/upload/complete"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Borrar archivos por lotes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/file/delete/batch"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/file/delete/batch"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Establecer etiquetas de archivo"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/file/tag/set"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/file/tag/set"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Añadir etiquetas de archivo"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/file/tag/add"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/file/tag/add"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consultar etiquetas en archivos"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/file/tag/query"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/file/tag/query"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Consultar todas las etiquetas"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /cloudstorage/tag/all"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /api/cloudstorage/tag/all"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Crear etiqueta"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/tag/create"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/tag/create"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Editar etiqueta"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/tag/edit"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/tag/edit"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Borrar etiquetas"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /cloudstorage/tag/delete/batch"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /api/cloudstorage/tag/delete/batch"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"referencia-de-api","__idx":17},"children":["Referencia de API"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API"},"children":["API"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Descripción"},"children":["Descripción"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/es/api-reference/cloud-storage/open-api"},"children":["Cloud Storage Open API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Acceso remoto vía ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.morelogin.com"]},", autenticación OAuth2"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/es/api-reference/cloud-storage/local-api"},"children":["Cloud Storage Local API"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Acceso local vía ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["http://127.0.0.1:40000"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Nota"]},": las rutas de la Local API usan el prefijo ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/"]},". Las de la Open API lo omiten."]}]}]},"headings":[{"value":"Cloud Storage","id":"cloud-storage","depth":1},{"value":"Qué puedes hacer","id":"qué-puedes-hacer","depth":2},{"value":"Casos de uso habituales","id":"casos-de-uso-habituales","depth":2},{"value":"Acceso a la API","id":"acceso-a-la-api","depth":2},{"value":"Flujo de subida","id":"flujo-de-subida","depth":2},{"value":"Usar archivos de Cloud Storage en el RPA de Cloud Phone","id":"usar-archivos-de-cloud-storage-en-el-rpa-de-cloud-phone","depth":2},{"value":"Ejemplo completo: ejecutar RPA de Cloud Phone con un vídeo de Cloud Storage","id":"ejemplo-completo-ejecutar-rpa-de-cloud-phone-con-un-vídeo-de-cloud-storage","depth":2},{"value":"1. Crear una etiqueta para los recursos de RPA","id":"1-crear-una-etiqueta-para-los-recursos-de-rpa","depth":3},{"value":"2. Solicitar una URL de subida prefirmada","id":"2-solicitar-una-url-de-subida-prefirmada","depth":3},{"value":"3. Subir el binario del archivo","id":"3-subir-el-binario-del-archivo","depth":3},{"value":"4. Confirmar la finalización de la subida","id":"4-confirmar-la-finalización-de-la-subida","depth":3},{"value":"4.1 Asignar la etiqueta al archivo","id":"41-asignar-la-etiqueta-al-archivo","depth":3},{"value":"5. Construir el parámetro de plantilla de RPA","id":"5-construir-el-parámetro-de-plantilla-de-rpa","depth":3},{"value":"6. Crear una tarea de RPA de Cloud Phone de una sola vez","id":"6-crear-una-tarea-de-rpa-de-cloud-phone-de-una-sola-vez","depth":3},{"value":"7. Verificar la tarea","id":"7-verificar-la-tarea","depth":3},{"value":"Flujo de etiquetas","id":"flujo-de-etiquetas","depth":2},{"value":"Mapa de API","id":"mapa-de-api","depth":2},{"value":"Referencia de API","id":"referencia-de-api","depth":2}],"frontmatter":{"seo":{"title":"Cloud Storage"}},"lastModified":"2026-09-03T06:29:47.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/es/api-reference/cloud-storage","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}