La gestión documental es un paso crítico en el proceso de aprobación de una solicitud de crédito en Comfaca Créditos. Cada solicitud requiere que el afiliado adjunte un conjunto de documentos específicos (cédula, desprendibles de nómina, certificados, etc.) antes de poder avanzar al estadoDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/elegroag/nuxt-credito-caja/llms.txt
Use this file to discover all available pages before exploring further.
ENVIADO_VALIDACION.
Los archivos son almacenados en el sistema de archivos del servidor bajo storage/uploads/{solicitud_id}/ y registrados en la tabla solicitud_documentos de la base de datos Prisma con sus metadatos: nombre original, nombre guardado (UUID), tipo MIME, tamaño en bytes y ruta de acceso.
Todos los endpoints de esta sección requieren que el usuario autenticado sea el propietario de la solicitud (solicitud.owner_username === session.user.username). Los administradores pueden descargar documentos de cualquier solicitud.
GET /api/solicitudes/:id/documentos
Lista todos los documentos activos adjuntos a una solicitud, ordenados de más reciente a más antiguo. Autenticación: Requiere sesión activa. Solo el propietario puede listar los documentos.Path Parameters
El
numero_solicitud de la solicitud cuyos documentos se desean listar. Formato: "000001-202501-LI".Respuesta exitosa 200
Lista de documentos activos adjuntos a la solicitud.
Número total de documentos activos retornados.
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
400 | ID ausente | No se proporcionó el parámetro id. |
401 | Sin sesión | No hay sesión activa. |
403 | Sin permisos | La solicitud pertenece a otro usuario. |
404 | No encontrada | No existe la solicitud con ese id. |
Ejemplo — cURL
Ejemplo — Respuesta 200
POST /api/solicitudes/:id/documentos
Sube un nuevo documento adjunto a una solicitud. La petición debe enviarse comomultipart/form-data con el archivo y el identificador del tipo de documento requerido. El archivo es guardado en disco con un nombre UUID único y registrado en la base de datos.
Formatos de archivo soportados: jpg, jpeg, png, gif, webp, pdf, doc, docx, xls, xlsx.
Autenticación: Requiere sesión activa. Solo el propietario puede subir documentos.
Path Parameters
El
numero_solicitud de la solicitud a la que se adjuntará el documento.Cuerpo de la petición (multipart/form-data)
El archivo a subir. Debe ser uno de los formatos soportados: PDF, imágenes (JPG, PNG, GIF, WEBP) o documentos Office (DOC, DOCX, XLS, XLSX). Si el tipo MIME no puede ser determinado, se usa
application/pdf por defecto.ID del tipo de documento requerido al que corresponde este archivo. Identifica qué tipo de documento se está cargando (ej.
"cedula_ciudadania", "desprendible_nomina", "carta_laboral").Respuesta exitosa 200
Lista completa y actualizada de todos los documentos activos de la solicitud después de la subida, con los mismos campos descritos en GET /documentos.
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
400 | Sin archivo | No se envió el campo documento en el formulario. |
400 | Sin tipo | No se envió el campo documento_requerido_id. |
400 | Formulario vacío | El cuerpo de la petición no contiene datos multipart/form-data. |
401 | Sin sesión | No hay sesión activa. |
403 | Sin permisos | La solicitud pertenece a otro usuario. |
404 | No encontrada | No existe la solicitud con ese id. |
Ejemplo — cURL (subir un PDF)
Ejemplo — cURL (subir una imagen JPG)
Ejemplo — Respuesta exitosa 200
GET /api/solicitudes/:id/documentos/:documentoId/descargar
Descarga un documento adjunto a una solicitud como un stream de archivo. La respuesta incluye los headersContent-Type y Content-Disposition para que el navegador la trate como una descarga directa con el nombre original del archivo.
Los administradores pueden descargar documentos de cualquier solicitud, independientemente de la propiedad.
Autenticación: Requiere sesión activa. El propietario de la solicitud o un administrador pueden descargar.
Path Parameters
El
numero_solicitud de la solicitud.El
id numérico del documento a descargar (el campo id retornado por el endpoint de listado, ej. "42").Headers de respuesta exitosa
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
400 | ID ausente | No se proporcionó id o documentoId. |
401 | Sin sesión | No hay sesión activa. |
403 | Sin permisos | El usuario no es propietario ni administrador. |
404 | No encontrada | La solicitud, el documento en BD o el archivo en disco no existen. |
Ejemplo — cURL
La bandera
-o cedula_frente.pdf guarda el stream de respuesta directamente en un archivo local. Si el archivo no existe en el sistema de archivos del servidor (fue eliminado manualmente), el endpoint responde con 404 El archivo no existe en el servidor.DELETE /api/solicitudes/:id/documentos/:documentoId
Elimina permanentemente un documento de la base de datos. Solo el propietario de la solicitud puede eliminar sus documentos. Autenticación: Requiere sesión activa. Solo el propietario puede eliminar documentos.Path Parameters
El
numero_solicitud de la solicitud.El
id numérico del documento a eliminar (ej. "42").Respuesta exitosa 200
Tabla de errores
| Código HTTP | Causa | Descripción |
|---|---|---|
400 | ID ausente | No se proporcionó id o documentoId. |
401 | Sin sesión | No hay sesión activa. |
403 | Sin permisos | La solicitud pertenece a otro usuario. |
404 | No encontrada | La solicitud o el documento no existen en la base de datos. |