Integración y Funcionamiento con DocGes
El gestor documental DocGes organiza los archivos de BaseGes de forma jerárquica y los vincula a entidades de gestión (clientes, obras, facturas, presupuestos, partes de trabajo).
Para poder utilizar el módulo de adjuntos, la instalación de BaseGes debe disponer del servicio DocGes contratado, configurado y activo. En caso contrario, los endpoints responderán con error de servicio no disponible.
1. Conceptos Fundamentales de DocGes
- Categoría Raíz (
$): Es el nodo raíz del almacén documental de la empresa. Si una operación de subida no especificacategoriaSid, el documento se guarda automáticamente en la raíz. - Ruta (
Ruta): Cada documento almacena su ruta jerárquica completa en formato tipo Unix (por ejemplo:/Obras/2026/OBRA-101/Planos). - Migas de Pan (
Breadcrumbs): Lista ordenada de las categorías predecesoras desde la raíz hasta la carpeta final, incluyendo suId,SidyNombre. - Relación de Gestión (
RelacionGestion): Clave de negocio del ERP que vincula el documento con una entidad (por ejemplo: código de cliente, número de factura o código de obra). - Propiedad de Gestión (
PropiedadGestion): Metadato extendido para clasificar el tipo de archivo (p. ej. Contrato Firmado, Plano Técnico, Certificado).
2. Descarga de Archivos (GET /api/attachments/{sid}/download)
Para descargar el binario de un archivo físico almacenado en DocGes:
- Parámetro de ruta:
sid(Identificador alfanumérico único del documento). - Respuesta del servidor: Stream binario con la cabecera
Content-Typecorrespondiente al tipo MIME (application/pdf,image/png, etc.) yContent-Dispositioncon el nombre original del archivo.
3. Subida de Archivos (POST /api/attachments)
La subida se realiza mediante una petición con codificación multipart/form-data:
Parámetros del Formulario
file(Obligatorio): Archivo binario a subir.nombre(Opcional): Nombre que recibirá el documento en DocGes. Si se omite, se utiliza el nombre original del archivo (file.FileName).categoriaSid(Opcional): SID de la carpeta destino. Si se omite, se deposita en la raíz ($).relacionGestion(Opcional): Código de la entidad vinculada (ej. número de albarán o factura).
La API de BaseGes calcula de forma transparente el hash criptográfico SHA-1 en Base64 (HashContenido) requerido por el repositorio de DocGes antes de su almacenamiento, garantizando la integridad de cada archivo.
Ejemplo de Petición cURL
curl -X POST "http://localhost:5000/api/attachments" \
-H "X-Api-Key: tu-api-key" \
-F "file=@/ruta/plano-instalacion.pdf" \
-F "nombre=Plano Distribución Baja Tensión" \
-F "relacionGestion=OBRA-2026-001"