Descarga de documento
Este endpoint permite descargar un documento específico asociado a un proceso de firma.
La respuesta no es JSON, sino el archivo binario del documento (generalmente PDF).
Endpoint
Sección titulada “Endpoint”POST https://www.sandboxadmin.firmaris.co/api/integrations/download/Headers requeridos
Sección titulada “Headers requeridos”x-api-key: Bearer {TOKEN_EMPRESA}Body (form-data)
Sección titulada “Body (form-data)”| Parámetro | Tipo | Requerido | Descripción | Validaciones |
|---|---|---|---|---|
documentId | string | Sí | ID único del documento a descargar | Hash válido de documento existente |
Ejemplo en Postman
Sección titulada “Ejemplo en Postman”{ "method": "POST", "url": "https://www.sandboxadmin.firmaris.co/api/integrations/download/", "headers": { "x-api-key": "Bearer sandbox_token_empresa_123" }, "body": { "mode": "formdata", "formdata": [ { "key": "documentId", "value": "903ff1a6d093cd4c874c3db682e785c2cd55e6a52444acf67547a27a8a2ed4ad" } ] }}Respuesta exitosa (200 OK)
Sección titulada “Respuesta exitosa (200 OK)”Headers de respuesta
Sección titulada “Headers de respuesta”HTTP/1.1 200 OKContent-Type: application/pdfContent-Disposition: attachment; filename="contrato_firmado.pdf"Content-Length: 245678Cache-Control: private, max-age=86400Last-Modified: Wed, 22 May 2025 16:46:25 GMTCaracterísticas de la respuesta
Sección titulada “Características de la respuesta”- Tipo de contenido:
application/pdf - Modo: descarga forzada (
attachment) - Nombre del archivo: viene en el header
Content-Disposition - Body: binario (no JSON)
Consideraciones importantes
Sección titulada “Consideraciones importantes”- Este endpoint no devuelve JSON cuando es exitoso
- El cuerpo de la respuesta es el archivo completo
- Si ocurre un error, sí se devuelve JSON
- El archivo puede ser grande, se recomienda manejarlo por streams
Respuestas de error
Sección titulada “Respuestas de error”Error 400 — documentId inválido
Sección titulada “Error 400 — documentId inválido”{ "success": false, "status": 400, "error": { "message": "El parámetro (documentId) no contiene un formato válido." }}Causas comunes:
documentIdvacío- Hash con formato incorrecto
- Caracteres inválidos
Error 403 — Acceso denegado
Sección titulada “Error 403 — Acceso denegado”{ "success": false, "status": 403, "error": { "message": "Acceso denegado. No tiene los permisos necesarios para acceder a este recurso." }}Causas comunes:
- Token inválido o expirado
- El documento pertenece a otra empresa
Error 404 — Documento no encontrado
Sección titulada “Error 404 — Documento no encontrado”{ "success": false, "status": 404, "error": { "message": "El recurso al que intenta acceder no existe." }}Error 500 — Error interno
Sección titulada “Error 500 — Error interno”{ "success": false, "status": 500, "error": { "message": "Se ha producido un error interno, no ha sido posible descargar el documento, inténtelo de nuevo." }}Checklist de validación
Sección titulada “Checklist de validación”Antes de descargar un documento, verifica:
- Token API válido
documentIdcon formato correcto- Documento existente
- Permisos sobre el documento
- Documento no está eliminado ni anulado
Notas técnicas
Sección titulada “Notas técnicas”Seguridad
Sección titulada “Seguridad”- Cada descarga queda registrada para auditoría
- No existe acceso público a documentos
- No se recomienda exponer este endpoint directamente al navegador sin backend intermedio
Rendimiento
Sección titulada “Rendimiento”- Para documentos grandes, usar descarga por chunks
- Definir timeout adecuado (mínimo 30 segundos)
- Evitar múltiples descargas simultáneas del mismo archivo
Buenas prácticas
Sección titulada “Buenas prácticas”- Validar el
documentIdlocalmente antes de enviar - Manejar errores JSON incluso cuando se espera binario
- Extraer siempre el nombre del archivo desde headers
- No cachear documentos sensibles en cliente
Este endpoint es fundamental para recuperación, archivo y distribución de documentos firmados dentro de cualquier flujo de integración con Firmaris.