Favicon

You are here: Home > Distribución de Apps > API > Builds > GET - Descargar un archivo adjunto de una Build

GET - Descargar un archivo adjunto de una Build

Descarga archivos adjuntos de Builds de forma programática mediante la API. Genera un token de descarga para un adjunto concreto y resuelve su URL de descarga.

4 min read

TL;DR

Descarga archivos adjuntos de las builds de Applivery de forma programática usando la API de Integraciones o la API de Workspace con la autenticación correspondiente.

Descargar un archivo adjunto de una Build de forma programática sigue el mismo proceso de dos pasos que descargar el binario de una Build: generar un token de descarga de corta duración y luego usarlo para resolver la URL de descarga real. La diferencia clave es que debes incluir el parámetro de consulta fileId para especificar el adjunto que quieres descargar.

Warning

Este endpoint solo está disponible a través de la Workspace API y requiere un token de una cuenta de servicio o un token de sesión de usuario obtenido al iniciar sesión. La Integrations API (App API Token) no admite este endpoint.

Para crear un token de una cuenta de servicio, consulta Cuenta de servicio.


Resumen: flujo de descarga

Paso 1: Genera un token de descarga para el archivo adjunto
  GET /v1/organizations/{organizationId}/apps/{applicationId}/builds/{buildId}/downloadToken?fileId={fileId}&type=auto
  → devuelve { token, expiresAt }

Paso 2: Resuelve la URL de descarga
  GET https://download-api.applivery.io/v1/download/{token}
  → redirección HTTP 302 a la URL real del archivo

Antes de empezar: obtén el fileId

El fileId es el id de la entrada del adjunto en el array files de la Build, donde type es igual a attachment. Puedes obtenerlo del endpoint de Detalles de la Build.

En la respuesta, busca las entradas del array files con "type": "attachment":

{
  "files": [
    {
      "id": "2SWkDbddHBNUaVImZINcZzVN",
      "type": "attachment",
      "file": {
        "originalName": "screenshot.png",
        "mimetype": "image/png",
        "size": 538300,
        "location": "https://storage.cloud.google.com/...",
        "checksum": "b531c0eb..."
      },
      "createdAt": "2024-11-11T11:27:35.446Z",
      "updatedAt": "2024-11-11T11:27:35.446Z"
    }
  ]
}

El campo id (2SWkDbddHBNUaVImZINcZzVN en este ejemplo) es el fileId que necesitas para el paso 1.

Note

Otras entradas del array files (con type: "package", type: "icon" o type: "original") son archivos internos de la Build, no adjuntos subidos por el usuario. Solo las entradas con type: "attachment" son archivos que adjuntaste mediante el endpoint POST – Archivos adjuntos de una Build.


1
Genera un token de descarga

Genera un token de corta duración y uso único que autoriza la descarga de un archivo adjunto concreto.

Endpoint

GET https://api.applivery.io/v1/organizations/{organizationId}/apps/{applicationId}/builds/{buildId}/downloadToken

Autenticación

Authorization: Bearer <your_service_account_token>

Parámetros de ruta

Parámetro Tipo Obligatorio Descripción
organizationId String El identificador único (o slug) de tu organización en Applivery.
applicationId String El identificador único de la App a la que pertenece la Build.
buildId String El identificador único de la Build que contiene el adjunto.

Parámetros de consulta

Parámetro Tipo Obligatorio Descripción
fileId String El id de la entrada del adjunto en el array files de la Build (donde type es attachment).
type String Establece en auto para descargas de archivos adjuntos.

Ejemplo de petición

curl 'https://api.applivery.io/v1/organizations/ORG_ID/apps/APP_ID/builds/BUILD_ID/downloadToken?fileId=FILE_ID&type=auto' \
  -X GET \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer YOUR_SERVICE_ACCOUNT_TOKEN'

Respuestas

{
  "status": true,
  "data": {
    "token": "string",
    "expiresAt": "string"
  }
}

Build aún no procesada. La Build existe pero aún no ha terminado de procesarse. Solo las Builds con status: processed pueden generar tokens de descarga.

{
  "status": false,
  "error": {
    "code": 5014,
    "message": "Build Not Processed"
  }
}
{
  "status": false,
  "error": {
    "code": 4002,
    "message": "No auth token"
  }
}
{
  "status": false,
  "error": {
    "code": 3001,
    "message": "Entity not found"
  }
}
Campo Descripción
token La cadena del token de descarga. Pásalo como parámetro de ruta en el paso 2 para resolver la URL de descarga.
expiresAt Timestamp ISO 8601 que indica cuándo caduca el token. Los tokens son de corta duración — úsalos pronto tras generarlos.
2
Resuelve la URL de descarga

Usa el token obtenido en el paso 1 para obtener la URL de descarga real del archivo. La API responde con una redirección HTTP 302 Found al almacenamiento del archivo.

Warning

No se requiere autenticación. Este endpoint es público — el propio token actúa como credencial. Cualquier persona con el token puede descargar el archivo, así que trátalo como información sensible y no lo compartas más allá del destinatario previsto.

Endpoint

GET https://download-api.applivery.io/v1/download/{token}

Parámetros de ruta

Parámetro Tipo Obligatorio Descripción
token String El token de descarga devuelto en el paso 1.

Ejemplo de petición

curl -L 'https://download-api.applivery.io/v1/download/YOUR_DOWNLOAD_TOKEN' \
  -o downloaded_file.png
Note

El flag -L indica a curl que siga la redirección 302 automáticamente. Sin él, recibirás la respuesta de redirección con la cabecera Location que contiene la URL real del archivo, pero el archivo no se descargará.

Respuestas

Redirección a la URL del archivo.
La respuesta no tiene cuerpo. La URL de descarga real está en la cabecera de respuesta Location. Sigue la redirección para descargar el archivo.

Token caducado. Los tokens de descarga son de corta duración. Si ha caducado, genera uno nuevo desde el paso 1.

{
  "status": false,
  "error": {
    "code": 4005,
    "message": "Token Expired"
  }
}
{
  "status": false,
  "error": {
    "code": 3001,
    "message": "Entity not found"
  }
}

Ejemplo completo: descargar un archivo adjunto

# Paso 1: Genera el token de descarga para el archivo adjunto
TOKEN=$(curl -s \
  'https://api.applivery.io/v1/organizations/ORG_ID/apps/APP_ID/builds/BUILD_ID/downloadToken?fileId=FILE_ID&type=auto' \
  -H 'Authorization: Bearer YOUR_SERVICE_ACCOUNT_TOKEN' \
  | jq -r '.data.token')

# Paso 2: Descarga el archivo siguiendo la redirección
curl -L \
  "https://download-api.applivery.io/v1/download/$TOKEN" \
  -o downloaded_file

Genera un token de descarga con el `fileId` del adjunto usando la Workspace API, y luego usa ese token para resolver la URL de descarga real siguiendo la redirección.

Este endpoint solo está disponible a través de la Workspace API y requiere un token de una cuenta de servicio. La Integrations API no admite este endpoint.

Obtén el `fileId` del endpoint de detalles de la Build, buscando en el array `files` las entradas con `"type": "attachment"`.

Se requiere un token de una cuenta de servicio o un token de sesión de usuario obtenido al iniciar sesión.

En el paso 1 generas un token de corta duración con el `fileId` y `type=auto`. En el paso 2 usas ese token en la URL de descarga, que devuelve una redirección 302 al archivo real.

Los tokens de descarga son de corta duración. Si ha caducado, genera uno nuevo desde el paso 1.

Last updated: June 8, 2026