← Volver a CajaController

🔒 Cierre de Caja

Endpoint para cerrar la caja actual con importes finales y desglose

📋 Descripción General

Cierra la caja actual con los importes finales especificados y opcionalmente un desglose de monedas y billetes. Este endpoint utiliza autenticación tradicional mediante parámetros de consulta.

📥 Parámetros de Consulta

Parámetro Tipo Requerido Descripción Ejemplo
initialCatalog string ✅ Sí Catálogo inicial de la base de datos ELSIFON
userID string ❌ No ID del usuario para autenticación admin
password string ❌ No Contraseña para autenticación yourPassword

📦 Cuerpo de la Petición (JSON)

{
  "cajeroId": 1,
  "importeEfectivo": 150.75,
  "importeTarjetas": 200.00,
  "importeCredito": 50.25,
  "nombreCaja": "CAJA1",
  "desgloseMonedas": [
    {
      "codigo": "2EUR",
      "cantidad": 15
    },
    {
      "codigo": "0.50EUR", 
      "cantidad": 25
    }
  ]
}

📤 Respuestas

200 OK
Caja cerrada exitosamente. Retorna el cierre actualizado.
400 Bad Request
No hay una caja abierta para cerrar o datos inválidos.
500 Internal Server Error
Error interno del servidor durante el cierre.

🔧 Ejemplo de Uso (cURL)

curl -X POST \
  'http://localhost:1379/Working/Caja/Cerrar?initialCatalog=ELSIFON&userID=admin&password=yourPassword' \
  -H 'Content-Type: application/json' \
  -d '{
    "cajeroId": 1,
    "importeEfectivo": 150.75,
    "importeTarjetas": 200.00,
    "importeCredito": 50.25,
    "nombreCaja": "CAJA1",
    "desgloseMonedas": [
      {"codigo": "2EUR", "cantidad": 15},
      {"codigo": "0.50EUR", "cantidad": 25}
    ]
  }'

ℹ️ Notas Importantes

  • Debe existir una caja abierta para poder cerrarla
  • Los importes finales deben coincidir con el desglose de monedas
  • Se valida que no haya mesas abiertas antes del cierre
  • Se valida que el cajero exista y tenga permisos
  • El cierre genera automáticamente el arqueo de caja

⚠️ Validaciones de Seguridad

  • Se verifica que no haya mesas abiertas o facturas pendientes
  • Se valida la clave del cajero antes del cierre
  • Los importes deben ser coherentes con las operaciones del día