Saltar al contenido principal

Get dashboard notifications and pending actions

GET 

/company/notifications/dashboard

Recupera información consolidada para el dashboard de notificaciones de la empresa, incluyendo notificaciones no leídas y alertas de acciones pendientes como subastas sin firma.

Objetivo

Permitir a las empresas visualizar en un solo endpoint todas las alertas críticas y notificaciones pendientes, optimizando la experiencia de usuario en el dashboard principal.

Casos de uso

  • Dashboard principal: Carga inicial del dashboard empresarial
  • Actualización en tiempo real: Refresco periódico de notificaciones
  • Alertas de firma: Recordatorio de subastas pendientes de firma por parte de la empresa
  • Monitor de actividad: Seguimiento de notificaciones no leídas

Flujo de datos

El endpoint implementa un sistema de priorización con slots limitados (máximo 6 items):

flowchart TD
A[Request Dashboard] --> B{User Authenticated?}
B -->|No| C[404 USER_NOT_FOUND]
B -->|Yes| D{Company Exists?}
D -->|No| E[401 CIA_NOT_FOUND]
D -->|Yes| F[Get Company Data]
F --> G{Missing Signature?}
G -->|Yes| H[companyMissingSignature: true]
G -->|No| I[companyMissingSignature: false]
H --> J[Find Auctions Without Signature]
I --> J
J --> K{Count > 6?}
K -->|Yes| L[Limit: 6 Auctions]
K -->|No| M[Use All Auctions]
L --> N[Calculate Available Slots]
M --> N
N --> O{Slots > 0?}
O -->|No| P[Return Dashboard]
O -->|Yes| Q[Get Unread Notifications]
Q --> R[Fill Available Slots]
R --> S[Return Dashboard - 200]

Campos de respuesta

companyMissingSignature (boolean):

  • true: La empresa no ha completado su proceso de firma
  • false: La empresa tiene firma registrada

notSignedAuctionsCount (number, rango 0-6):

  • Conteo de subastas adjudicadas que la empresa no ha firmado
  • Valor máximo: 6 (límite del sistema)
  • Cada subasta sin firma ocupa un slot en el dashboard

notSignedAuctions (array):

  • Lista de subastas pendientes de firma
  • Cada elemento contiene únicamente el campo service_code
  • Formato: [{"service_code": "AU12345"}, {"service_code": "AU12346"}]

notifications (array):

  • Lista de notificaciones no leídas
  • La cantidad de notificaciones varía según los slots disponibles
  • Slots disponibles = 6 - notSignedAuctionsCount
  • Si hay 6 subastas sin firma, no se incluyen notificaciones
  • Si hay 0 subastas sin firma, se incluyen hasta 6 notificaciones

Lógica de priorización

  1. Las subastas sin firma tienen prioridad máxima
  2. Las notificaciones llenan los slots restantes
  3. Total de items nunca excede 6 elementos

Notas importantes

  • Requiere autenticación con token JWT de empresa
  • Solo retorna datos de la empresa del usuario autenticado
  • Las subastas sin firma se limitan a máximo 6
  • Las notificaciones se ordenan por createdAt descendente (más recientes primero)
  • Solo se incluyen notificaciones con isRead: false
  • El campo ref en notificaciones viene poblado con el service_code correspondiente

Errores

  • 401 CIA_NOT_FOUND: El usuario no tiene una empresa asociada
  • 404 USER_NOT_FOUND: El token no corresponde a un usuario válido

Request

Responses

Dashboard de notificaciones recuperado exitosamente.

El objeto de respuesta contiene hasta 6 elementos distribuidos entre:

  • Subastas pendientes de firma (prioridad máxima)
  • Notificaciones no leídas (llenan los slots restantes)