🗑️ Eliminar Cajero (JWT)
Elimina permanentemente un cajero del sistema utilizando autenticación JWT. Esta operación es irreversible y eliminará todos los datos asociados al cajero, incluyendo su historial de operaciones.
⚠️ Advertencia
Esta operación es irreversible. Una vez eliminado el cajero, no se puede recuperar. Se recomienda verificar que el cajero no tenga operaciones activas antes de proceder.
📋 Información del Endpoint
DELETE
/api/cajeros/jwt/{id}
Elimina permanentemente un cajero del sistema utilizando autenticación JWT.
🔐 Headers de Autenticación
| Header |
Tipo |
Requerido |
Descripción |
| Authorization |
string |
Sí |
Token JWT en formato "Bearer {token}" |
📥 Parámetros de Ruta
| Parámetro |
Tipo |
Requerido |
Descripción |
| id |
int |
Sí |
ID único del cajero a eliminar |
📥 Parámetros de Consulta (Opcionales)
| Parámetro |
Tipo |
Requerido |
Descripción |
| force |
boolean |
No |
Si es true, fuerza la eliminación incluso si hay operaciones asociadas |
📤 Códigos de Respuesta
| Código |
Descripción |
Ejemplo |
| 200 OK |
Cajero eliminado correctamente |
Se devuelve el objeto cajero eliminado |
| 401 Unauthorized |
Token JWT inválido o expirado |
Token no proporcionado o inválido |
| 403 Forbidden |
Sin permisos para eliminar cajeros |
El usuario no tiene los permisos necesarios |
| 404 Not Found |
Cajero no encontrado |
El ID del cajero no existe en el sistema |
| 409 Conflict |
Cajero con operaciones activas |
No se puede eliminar por operaciones pendientes |
| 500 Internal Server Error |
Error interno del servidor |
Error en la base de datos o procesamiento |
🔧 Ejemplos de Uso
Ejemplo 1: Eliminar Cajero con JWT
Petición
DELETE /api/cajeros/jwt/5
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Respuesta Exitosa (200 OK)
{
"success": true,
"message": "Cajero eliminado correctamente",
"data": {
"id": 5,
"nombre": "Pedro",
"apellidos": "González",
"estado": "B",
"fechaAlta": "2023-01-15T00:00:00",
"fechaBaja": "2024-11-30T00:00:00",
"observaciones": "Cajero eliminado del sistema"
}
}
Ejemplo 2: Eliminar Cajero con Operaciones Activas (Forzado)
Petición
DELETE /api/cajeros/jwt/3?force=true
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Respuesta Exitosa (200 OK)
{
"success": true,
"message": "Cajero eliminado correctamente (eliminación forzada)",
"data": {
"id": 3,
"nombre": "Carlos",
"apellidos": "Rodríguez",
"estado": "A",
"fechaAlta": "2022-06-01T00:00:00",
"fechaBaja": null,
"observaciones": "Cajero eliminado con operaciones activas"
},
"warnings": [
"Se eliminaron 15 operaciones asociadas al cajero"
]
}
Ejemplo 3: Error - Token JWT Inválido
Petición
DELETE /api/cajeros/jwt/5
Authorization: Bearer invalid_token
Respuesta de Error (401 Unauthorized)
{
"success": false,
"message": "Token JWT inválido o expirado",
"error": "Invalid token format"
}
ℹ️ Notas Importantes
- Autenticación JWT: Este endpoint requiere un token JWT válido en el header Authorization.
- Formato del token: Debe incluirse como "Bearer {token}" en el header Authorization.
- Permisos: El usuario debe tener permisos para eliminar cajeros en el sistema.
- Operación irreversible: Una vez eliminado el cajero, no se puede recuperar.
- Verificación de operaciones: El sistema verifica si el cajero tiene operaciones activas antes de eliminar.
- Parámetro force: Si se establece en true, fuerza la eliminación incluso con operaciones activas.
- Auditoría: Se registra la eliminación para fines de auditoría.
- Integridad referencial: Se eliminan todas las referencias al cajero en otras tablas.
- Backup recomendado: Se recomienda hacer backup antes de eliminar cajeros importantes.
🔒 Seguridad
- Autenticación: Requiere token JWT válido
- Autorización: Verifica permisos del usuario para eliminar cajeros
- Confirmación: Se recomienda confirmar la eliminación en el frontend
- Auditoría: Se registra quién y cuándo eliminó el cajero
- Validación: Se valida que el cajero exista antes de eliminar
- Integridad: Verifica operaciones activas antes de eliminar