← Volver a CajerosController

✏️ Actualizar Cajero

Actualiza la información de un cajero existente en el sistema. Este endpoint permite modificar los datos básicos del cajero como nombre, apellidos, estado y otros campos configurables.

ℹ️ Nota Importante

Este endpoint requiere que el cajero exista previamente en el sistema. Si el cajero no existe, se devolverá un error 404.

📋 Información del Endpoint

PUT /api/cajeros/{id}

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

📥 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
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 Activo

Petición
PUT /api/cajeros/1
Content-Type: application/json

{
  "nombre": "María",
  "apellidos": "García López",
  "estado": "A",
  "fechaAlta": "2024-01-15T00:00:00",
  "fechaBaja": null,
  "observaciones": "Cajero principal del turno de mañana"
}
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero actualizado correctamente",
  "data": {
    "id": 1,
    "nombre": "María",
    "apellidos": "García López",
    "estado": "A",
    "fechaAlta": "2024-01-15T00:00:00",
    "fechaBaja": null,
    "observaciones": "Cajero principal del turno de mañana"
  }
}

Ejemplo 2: Dar de Baja a un Cajero

Petición
PUT /api/cajeros/2
Content-Type: application/json

{
  "nombre": "Carlos",
  "apellidos": "Rodríguez",
  "estado": "B",
  "fechaAlta": "2023-06-01T00:00:00",
  "fechaBaja": "2024-12-31T00:00:00",
  "observaciones": "Baja por jubilación"
}
Respuesta Exitosa (200 OK)
{
  "success": true,
  "message": "Cajero actualizado correctamente",
  "data": {
    "id": 2,
    "nombre": "Carlos",
    "apellidos": "Rodríguez",
    "estado": "B",
    "fechaAlta": "2023-06-01T00:00:00",
    "fechaBaja": "2024-12-31T00:00:00",
    "observaciones": "Baja por jubilación"
  }
}

ℹ️ Notas Importantes

  • 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.