Gestión de Documentos
Gestión de Documentos
Sección titulada «Gestión de Documentos»El sistema de gestión de documentos permite a los usuarios subir, organizar y gestionar sus documentos de forma segura.
📦 Almacenamiento
Sección titulada «📦 Almacenamiento»Los documentos se almacenan en Backblaze B2 usando la estructura:
users/ {userId}/ documents.json # Metadatos de documentos personal.json # Datos del perfil personal guarantees.json # Datos de garantías🔐 Endpoints Principales
Sección titulada «🔐 Endpoints Principales»Subir Documento
Sección titulada «Subir Documento»Endpoint: POST /api/documents/upload
Requisitos:
- Sesión válida
- Archivo válido (PDF, imágenes, etc.)
- Tamaño máximo: 10MB
- Tipo de documento válido
Campos:
file- Archivo a subirdocumentType- Tipo de documentoexpiryDate- Fecha de vencimiento (opcional)description- Descripción (opcional)
Obtener Perfil
Sección titulada «Obtener Perfil»Endpoint: GET /api/documents/profile?type={type}
Tipos disponibles:
personal- Datos personalesguarantees- Garantías
Guardar Perfil
Sección titulada «Guardar Perfil»Endpoint: POST /api/documents/profile
Body:
{ "type": "personal", "data": { ... }}📄 Tipos de Documentos
Sección titulada «📄 Tipos de Documentos»Persona Natural
Sección titulada «Persona Natural»- Carpeta Tributaria
- Certificado de Antecedentes
- Certificado de Vigencia
- Otros documentos
Persona Jurídica
Sección titulada «Persona Jurídica»- Carpeta Tributaria
- Certificado de Vigencia
- Poderes
- Otros documentos
⏰ Gestión de Vencimientos
Sección titulada «⏰ Gestión de Vencimientos»El sistema incluye alertas automáticas para documentos próximos a vencer:
- Alerta temprana: 30 días antes del vencimiento
- Alerta crítica: 7 días antes del vencimiento
- Notificación: Email automático al usuario
Archivo: src/utils/documentExpiry.ts
✅ Validación de Documentos
Sección titulada «✅ Validación de Documentos»Archivo: src/utils/documentValidation.ts
Validaciones:
- Tipo de archivo permitido
- Tamaño máximo (10MB)
- Formato válido
- Sanitización de nombres de archivo
🔗 Compartir Documentos
Sección titulada «🔗 Compartir Documentos»Endpoint: POST /api/documents/share
Permite compartir documentos con un token único y seguro.
Características:
- Token único por compartir
- Expiración configurable
- Acceso controlado
- Log de accesos
📊 Completitud de Perfil
Sección titulada «📊 Completitud de Perfil»Archivo: src/utils/profileCompleteness.ts
El sistema calcula la completitud del perfil basándose en:
- Documentos requeridos subidos
- Datos personales completados
- Información de garantías
🔒 Seguridad
Sección titulada «🔒 Seguridad»- Sanitización: Todos los nombres de archivo se sanitizan
- Validación: Tipos y tamaños de archivo validados
- Autenticación: Requiere sesión válida
- Autorización: Usuarios solo acceden a sus propios documentos