Pular para o conteúdo principal

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:

  1. El cliente detecta interacción con notificación (click, vista en UI)
  2. Valida que la notificación pertenezca al usuario actual
  3. Llama a este endpoint con el ID de la notificación
  4. 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
  5. Retorna la notificación actualizada
  6. 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

Notificación marcada como leída