Saltar al contenido principal

RepoDownloadModule

Sub-módulo para descarga de documentos del repositorio de Shori.

Proporciona múltiples estrategias de descarga: por ID, por versión específica y en formato exportado. Se accede a través de client.repo().download().

Los archivos se descargan en una subcarpeta única dentro de la ruta configurada con ShoriClient.builder().downloadPath("/ruta"). Si no se configura, se usa la carpeta temporal del sistema operativo.

Descargar por ID

File doc = client.repo().download().byDocument(
GetDocumentByIdRequest.builder()
.documentId("doc-uuid")
.fileName("contrato.pdf")
.build()
);

Descargar versión específica

File doc = client.repo().download().byDocumentAndVersion(
DownloadByDocumentAndVersionRequest.builder()
.documentId("doc-uuid")
.versionId("version-uuid")
.fileName("contrato-v2.pdf")
.build()
);

Descargar versión exportada (PDF)

File pdf = client.repo().download().exportDocument(
GetDocumentByIdRequest.builder()
.documentId("doc-uuid")
.fileName("documento-exportado.pdf")
.build()
);

Metodos

byDocument(GetDocumentByIdRequest request)

Descarga un documento del repositorio al disco local por su UUID.

El archivo se guarda en una subcarpeta única dentro de la ruta de descarga configurada, evitando conflictos entre descargas concurrentes.

File documento = client.repo().download().byDocument(
GetDocumentByIdRequest.builder()
.documentId("a1b2c3d4-e5f6-7890-abcd-ef1234567890")
.fileName("contrato-firmado.pdf")
.build()
);

byte[] contenido = Files.readAllBytes(documento.toPath());

Parametros:

  • request — request con el UUID del documento y el nombre de archivo a usar

Retorna: File con el documento descargado en disco

Lanza:

  • ResourceNotFoundException — si el documento no existe (HTTP 404)
  • ApiException — si hay error al descargarlo

byDocumentAndVersion(DownloadByDocumentAndVersionRequest request)

Descarga un documento por su ID y número de versión específico.

File archivo = client.repo().download().byDocumentAndVersion(
DownloadByDocumentAndVersionRequest.builder()
.documentId("doc-uuid")
.versionId("version-uuid")
.fileName("contrato-v2.pdf")
.build()
);
System.out.println("Descargado en: " + archivo.getAbsolutePath());

Parametros:

  • request — datos de la descarga: documentId, versionId y fileName

Retorna: File con el archivo descargado listo para usar

Lanza:

  • ResourceNotFoundException — si el documento o la versión no existen (HTTP 404)
  • ApiException — si hay error en el servidor

exportDocument(GetDocumentByIdRequest request)

Descarga la versión exportada de un documento (generalmente PDF generado por Shori).

El endpoint de exportación genera una versión del documento en formato descargable a partir del ID del documento original.

File exportado = client.repo().download().exportDocument(
GetDocumentByIdRequest.builder()
.documentId("doc-uuid")
.fileName("documento-exportado.pdf")
.build()
);
System.out.println("Exportado en: " + exportado.getAbsolutePath());

Parametros:

  • request — datos de la descarga: documentId y fileName

Retorna: File con el documento exportado listo para usar

Lanza:

  • ResourceNotFoundException — si el documento no existe (HTTP 404)
  • ApiException — si hay error en el servidor al generar la exportación