← Volver a CajerosController

✏️ Actualizar Cajero (JWT)

Actualiza la información de un cajero existente en el sistema utilizando autenticación JWT. Este endpoint es idéntico al endpoint tradicional pero requiere un token JWT válido en el header de autorización.

ℹ️ Nota Importante

Este endpoint requiere autenticación JWT. El token debe incluirse en el header Authorization como "Bearer {token}".

📋 Información del Endpoint

PUT /api/cajeros/jwt/{id}

Actualiza la información de un cajero existente en el sistema utilizando autenticación JWT.

🔐 Headers de Autenticación

Header Tipo Requerido Descripción
Authorization string Token JWT en formato "Bearer {token}"

📥 Parámetros de Ruta

Parámetro Tipo Requerido Descripción
id int ID único del cajero a actualizar

📦 Cuerpo de la Petición

El cuerpo debe contener un objeto JSON con los datos del cajero a actualizar:

Estructura del JSON

{
  "nombre": "string",
  "apellidos": "string",
  "estado": "string",
  "fechaAlta": "string (ISO 8601)",
  "fechaBaja": "string (ISO 8601) | null",
  "observaciones": "string | null"
}
Campo Tipo Requerido Descripción
nombre string Nombre del cajero (máximo 50 caracteres)
apellidos string Apellidos del cajero (máximo 100 caracteres)
estado string Estado del cajero (A=Activo, B=Baja)
fechaAlta string Fecha de alta en formato ISO 8601
fechaBaja string | null No Fecha de baja en formato ISO 8601 (opcional)
observaciones string | null No Observaciones adicionales sobre el cajero

📤 Códigos de Respuesta

Código Descripción Ejemplo
200 OK Cajero actualizado correctamente Se devuelve el objeto cajero actualizado
400 Bad Request Datos de entrada inválidos Errores de validación en el modelo
401 Unauthorized Token JWT inválido o expirado Token no proporcionado o inválido
403 Forbidden Sin permisos para actualizar cajeros El usuario no tiene los permisos necesarios
404 Not Found Cajero no encontrado El ID del cajero no existe en el sistema
500 Internal Server Error Error interno del servidor Error en la base de datos o procesamiento

🔧 Ejemplos de Uso

Ejemplo 1: Actualizar Cajero con JWT

Petición
PUT /api/cajeros/jwt/1
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

{
  "nombre": "Ana",
  "apellidos": "Martínez Sánchez",
  "estado": "A",
  "fechaAlta": "2024-01-15T00:00:00",
  "fechaBaja": null,
  "observaciones": "Cajero especializado en atención al cliente"
}
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero actualizado correctamente",
  "data": {
    "id": 1,
    "nombre": "Ana",
    "apellidos": "Martínez Sánchez",
    "estado": "A",
    "fechaAlta": "2024-01-15T00:00:00",
    "fechaBaja": null,
    "observaciones": "Cajero especializado en atención al cliente"
  }
}

Ejemplo 2: Dar de Baja con JWT

Petición
PUT /api/cajeros/jwt/3
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Content-Type: application/json

{
  "nombre": "Luis",
  "apellidos": "Fernández",
  "estado": "B",
  "fechaAlta": "2022-03-10T00:00:00",
  "fechaBaja": "2024-12-31T00:00:00",
  "observaciones": "Baja por traslado a otra sucursal"
}
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero actualizado correctamente",
  "data": {
    "id": 3,
    "nombre": "Luis",
    "apellidos": "Fernández",
    "estado": "B",
    "fechaAlta": "2022-03-10T00:00:00",
    "fechaBaja": "2024-12-31T00:00:00",
    "observaciones": "Baja por traslado a otra sucursal"
  }
}

ℹ️ 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 actualizar cajeros en el sistema.
  • Validación de datos: Todos los campos requeridos deben estar presentes y ser válidos.
  • Estado del cajero: Solo se aceptan los valores "A" (Activo) y "B" (Baja).
  • Fechas: Las fechas deben estar en formato ISO 8601 (YYYY-MM-DDTHH:mm:ss).
  • Longitud de campos: El nombre tiene un límite de 50 caracteres y los apellidos de 100 caracteres.
  • Fecha de baja: Es opcional y solo se debe proporcionar cuando el estado es "B".
  • Observaciones: Campo opcional para información adicional sobre el cajero.

🔒 Seguridad

  • Autenticación: Requiere token JWT válido
  • Autorización: Verifica permisos del usuario para actualizar cajeros
  • Validación: Valida todos los datos de entrada antes de procesar
  • Auditoría: Registra las operaciones de actualización para auditoría