Saltar al contenido principal

Delete notification

DELETE 

/company/notifications/:id

Elimina permanentemente una notificación del sistema. Esta acción es irreversible y libera espacio en la base de datos.

Objetivo

Permitir a las empresas gestionar sus notificaciones eliminando aquellas que no necesitan mantener, permitiendo una limpieza controlada del histórico de alertas.

Casos de uso

  • Limpieza de notificaciones antiguas: Eliminar notificaciones históricas no relevantes
  • Eliminación individual: Cuando el usuario decide borrar una notificación específica
  • Gestión de almacenamiento: Reducir el tamaño de la base de datos eliminando registros innecesarios
  • Eliminación después de acción: Borrar notificaciones después de completar la acción asociada

Flujo de eliminación

flowchart TD
A[DELETE /{id}] --> B{ID Provided?}
B -->|No| C[Check Body]
B -->|Yes| D[Use Path ID]
C -->|Found| E[Use Body ID]
C -->|Not Found| F[Check Query]
F -->|Found| G[Use Query ID]
F -->|Not Found| H[400 Bad Request]
D --> I{User Authenticated?}
E --> I
G --> I
I -->|No| J[404 USER_NOT_FOUND]
I -->|Yes| K{Company Exists?}
K -->|No| L[401 CIA_NOT_FOUND]
K -->|Yes| M{Notification Exists?}
M -->|No| N[404 NOTIFICATION_NOT_FOUND]
M -->|Yes| O[Delete Notification]
O --> P[Permanent Deletion]
P --> Q[Return Deleted Notification - 200]

Flexibilidad de parámetros

El ID de la notificación puede enviarse de tres formas (en orden de prioridad):

  1. Path parameter (recomendado): /company/notifications/{id}
  2. Query parameter: /company/notifications/{id}?id={id} (no recomendado, redundante)
  3. Request body: { "id": "{id}" } (alternativa para某些 clientes)

El sistema verifica en este orden: body → query → params

Impacto de la eliminación

  • Permanente: La notificación no se puede recuperar
  • Inmediata: La eliminación se efectúa al momento de la llamada
  • Sin rollback: No hay papelera de reciclaje ni restauración
  • Desindexación: La notificación desaparece de todas las consultas

Consideraciones

  • Se recomienda implementar una confirmación en el cliente antes de llamar al endpoint
  • La eliminación no afecta al objeto relacionado (subasta, entrega, etc.)
  • Solo se elimina el registro de notificación
  • Para eliminaciones masivas, considerar implementar un endpoint batch
  • Esta operación está destinada a mantenimiento de notificaciones, no a operaciones frecuentes

Notas importantes

  • Solo se pueden eliminar notificaciones que existen en el sistema
  • No se valida que la notificación pertenezca a la empresa del usuario (por diseño actual)
  • La eliminación es permanente e irreversible
  • No hay límite de cuántas notificaciones se pueden eliminar
  • La operación es atómica: o se elimina completamente o falla

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
  • 404 NOTIFICATION_NOT_FOUND: El ID no corresponde a una notificación existente

Request

Responses

Notificación eliminada exitosamente.

La respuesta contiene la notificación tal como existed antes de ser eliminada. Esta información puede ser útil para:

  • Confirmar qué se eliminó
  • Actualizar la UI localmente
  • Logging/auditoría