Marcar notificación como leída
PUT/read/:id
Actualiza el estado de una notificación para marcarla como leída, registrando la fecha/hora actual.
Casos de uso:
- Cuando el usuario abre/clica una notificación
- Sincronización entre dispositivos al leer notificaciones
- Actualización masiva de estado de notificaciones
- Integración con sistemas de tracking de actividad
Flujo típico:
- El cliente detecta interacción con notificación (click, vista en UI)
- Valida que la notificación pertenezca al usuario actual
- Llama a este endpoint con el ID de la notificación
- El servidor:
- Valida el token JWT
- Verifica que la notificación exista y pertenezca a la compañía del usuario
- Actualiza el campo isRead a true
- Establece readedAt con la fecha/hora actual
- Retorna la notificación actualizada
- El cliente actualiza la UI localmente
Consideraciones:
- Solo se pueden marcar notificaciones propias de la compañía del usuario
- La operación es idempotente (múltiples llamadas con el mismo ID no causan efectos secundarios)
- El campo readedAt se establece con la fecha/hora del servidor, no del cliente
Ejemplo de implementación:
// Ejemplo de llamada desde frontend
async function markNotificationAsRead(notificationId) {
try {
const response = await fetch(`/company/notifications/read/${notificationId}`, {
method: 'PUT',
headers: {
'Authorization': `Bearer ${userToken}`,
'Content-Type': 'application/json'
}
});
if (response.ok) {
const updatedNotification = await response.json();
updateNotificationInUI(updatedNotification);
}
} catch (error) {
console.error('Error marking notification as read:', error);
}
}
Request
Responses
- 200
- 401
- 404
Notificación marcada como leída
No autorizado - Token JWT inválido o no proporcionado
Notificación no encontrada - El ID no corresponde a una notificación existente