Saltar al contenido

Recibir archivos

La recepción tiene dos etapas: listar los archivos disponibles y descargar cada archivo mediante el linkURL devuelto en el listado.

ÁreaListadoDescarga
PrincipalGET /download/listGET /download/file (mediante el linkURL)
RespaldoGET /download/list/backupGET /download/file/backup (mediante el linkURL)

Liste los archivos

curl -s -G \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  --data-urlencode 'page=0' \
  "$API_BASE/download/list"

Para el área de respaldo, use /download/list/backup con los mismos parámetros.

La respuesta incluye los archivos en files:

{
  "status": 0,
  "description": "<descripción devuelta por la API>",
  "apiver": "v2 (9.0.1)",
  "user": "USUARIO",
  "files": [
    {
      "id": 1,
      "name": "documento.pdf",
      "length": 12345,
      "modified": 1760000000000,
      "linkURL": "https://api.ejemplo.com/directlink/v2/download/file?..."
    }
  ],
  "page_next": "1",
  "time": "<fecha y hora>"
}
CampoDescripción
files[].idIdentificador del archivo en el listado.
files[].nameNombre del archivo.
files[].lengthTamaño, en bytes.
files[].modifiedFecha de modificación, en milisegundos desde 1970-01-01 UTC.
files[].linkURLEnlace firmado para descargar el archivo.
page_nextÍndice de la página siguiente.

Cuando no hay archivos, files puede estar vacío.

Descargue el archivo

Use el linkURL del archivo elegido, sin modificaciones, con el mismo token usado en el listado:

export FILE_URL='<linkURL devuelto por el listado>'
curl -L --fail \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  --output ./documento-descargado.pdf "$FILE_URL"

El mismo comando sirve para el área principal y para el respaldo: el enlace ya apunta a la ruta correcta.

Paginación

El parámetro page selecciona la página de resultados, a partir de 0. Los valores ausentes o no válidos se tratan como 0. Para recorrer la lista, repita la llamada con el valor de page_next hasta que files esté vacío.

Buenas prácticas

  • La descarga responde con el contenido binario del archivo. Guárdelo en disco; no intente interpretarlo como JSON.
  • La descarga exige el linkURL del listado y la credencial del mismo usuario que hizo el listado. El enlace solo no da acceso al archivo. No construya manualmente los parámetros de /download/file.
  • El linkURL es una credencial de uso limitado: no lo exponga en logs ni en tickets.
  • Use curl --fail (o verifique el estado HTTP en su cliente) para no guardar una página de error como si fuera el archivo.

Contrato completo en Referencia: Transferencias.

Verificar la integridad

Cuando el remitente informó el hash en la carga, la descarga devuelve el SHA-256 esperado en el header X-STCPDIRECTLINK-HASH. Compárelo con el hash del archivo guardado, por ejemplo con sha256sum.