Notificaciones y eventos
¿Cómo funciona?
El sistema de notificaciones (/notifications) genera alertas automáticas cuando ocurren eventos en los eCMR: cambios de estado, asignación de transportista, firma completada, incidencias abiertas, etc. Cada notificación pertenece a un usuario y puede estar leída o no leída.
1. Consultar notificaciones
GET /notifications 📖 Authorization: Bearer <token> # Lista paginada de notificaciones del usuario autenticado GET /notifications/unread 📖 Authorization: Bearer <token> # Solo notificaciones no leídas
2. Contador de no leídas
Ideal para mostrar un badge en la interfaz de usuario:
GET /notifications/count/unread 📖 Authorization: Bearer <token> # Respuesta: { "status": 200, "data": { "count": 5 }, "0": 0 }
3. Marcar como leídas
PUT /notifications/{notificationId}/read 📖 Authorization: Bearer <token> # Marcar una notificación específica PUT /notifications/read-all 📖 Authorization: Bearer <token> # Marcar todas como leídas
4. Tipos de notificación
GET /notifications/types 📖 Authorization: Bearer <token>
Devuelve los tipos de notificación disponibles en el sistema (cambio de estado, nueva incidencia, firma requerida, etc.)
5. Eliminar notificaciones
DEL /notifications/{notificationId} 📖 Authorization: Bearer <token>
Elimina una notificación específica del histórico del usuario.
6. Crear notificación manual (solo admin)
Endpoint para generación interna de notificaciones desde procesos del backend o administración:
POST /notifications 📖 Authorization: Bearer <token_admin> Content-Type: application/json { "userId": "ID_USUARIO", "type": "system_alert", "title": "Actualización disponible", "message": "Nueva versión del sistema disponible." }
Resumen de endpoints
| Método | Endpoint | Propósito |
|---|---|---|
| GET | /notifications | Listar notificaciones |
| GET | /notifications/unread | No leídas |
| GET | /notifications/count/unread | Contador no leídas |
| GET | /notifications/types | Tipos disponibles |
| PUT | /notifications/{id}/read | Marcar como leída |
| PUT | /notifications/read-all | Marcar todas leídas |
| DEL | /notifications/{id} | Eliminar notificación |
| POST | /notifications | Crear (admin) |