Skip to main content
Comfaca Créditos en Línea incluye un sistema de notificaciones in-app que mantiene informado al afiliado sobre los cambios de estado de sus solicitudes, la finalización de firmas, documentos requeridos y otras acciones relevantes del proceso crediticio. Las notificaciones se almacenan en base de datos y se consultan desde el cliente mediante polling periódico configurable.

Composable useNotifications

El composable useNotifications gestiona el ciclo de vida completo de las notificaciones en el cliente: carga, actualización del contador de no leídas, marcado como leídas y eliminación.

Estado reactivo

Propiedades computadas

Métodos disponibles

Polling automático

El composable actualiza el contador de no leídas periódicamente en segundo plano. El polling se detiene automáticamente en onUnmounted:

Formato de Notificaciones

Los helpers de formato están en app/composables/notifications/notificationFormat.ts y se mantienen separados del composable principal para que los componentes presentacionales (NotificationItem) puedan usarlos sin instanciar useNotifications ni disparar efectos secundarios como el polling.

Interfaz Notification

Tipos de notificación y sus iconos

Colores por tipo

Función de tiempo relativo


Servicio de Notificaciones

server/services/notification.service.ts es la capa de acceso a datos para las notificaciones. Utiliza Prisma para interactuar con la tabla notifications.

Crear una notificación

Métodos del servicio

Esquema de la notificación en base de datos


API de Notificaciones

Parámetros de query:
  • limit (opcional, default 50) — número máximo de notificaciones a retornar
  • unread (opcional, "true") — retornar solo las no leídas
Respuesta:

Ejemplo de uso en un componente Vue


Las notificaciones se generan automáticamente por el servidor en los siguientes eventos: cambio de estado de una solicitud (cualquier transición), finalización de firma digital (FIRMADO), rechazo de firma, solicitud de documentos adicionales y aprobación o rechazo final del crédito. El tipo de notificación determina el icono y el color mostrado en la interfaz, según los mapas definidos en notificationFormat.ts.