Descripción General
El endpoint de Factura con Pagos Predefinidos proporciona la funcionalidad para crear una factura desde un número de mesa y agregar inmediatamente los pagos especificados. Este endpoint es útil para escenarios donde la información de pago se conoce de antemano, permitiendo un proceso de facturación y cobro en una sola operación.
🎯 Características del Endpoint
- Creación y pago simultáneo: Crea la factura y agrega pagos en una operación
- Pagos predefinidos: Permite especificar los pagos antes de crear la factura
- Búsqueda por mesa: Encuentra la mesa en la sala especificada
- Múltiples formas de pago: Soporta diferentes métodos de pago
- Procesamiento inmediato: Ideal para cobros rápidos en POS
Endpoint Disponible
POST
/WorkingData/Invoice/from-table-number-with-payments
Crea una factura desde número de mesa con pagos predefinidos. Este endpoint encuentra la mesa en la sala especificada, crea la factura correspondiente y agrega inmediatamente todos los pagos proporcionados. Útil para escenarios donde la información de pago se determina antes de la creación de la factura.
Body (JSON - List<FacturasCobro>):
[
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 25.50,
"formaPago": "Efectivo",
"fecha": "2024-01-15T10:30:00Z"
},
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 20.00,
"formaPago": "Tarjeta",
"fecha": "2024-01-15T10:30:00Z"
}
]
Parámetros de consulta:
- salon (int, requerido): Número de sala donde está la mesa
- mesa (int, requerido): Número de mesa a facturar
- serie (string, requerido): Serie de la factura
- initialCatalog (string, requerido): Nombre de la base de datos
- userID (string, opcional): ID de usuario de la base de datos
- password (string, opcional): Contraseña de la base de datos
200 OK
Factura creada exitosamente con pagos
{
"serie": "A",
"factura": 123,
"fecha": "2024-01-15T10:30:00Z",
"cliente": "Juan Pérez",
"total": 45.50,
"lineas": [...],
"ivas": [...],
"pagos": [
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 25.50,
"formaPago": "Efectivo",
"fecha": "2024-01-15T10:30:00Z"
},
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 20.00,
"formaPago": "Tarjeta",
"fecha": "2024-01-15T10:30:00Z"
}
]
}
400 Bad Request
Mesa no encontrada, sin líneas o error de validación
500 Internal Server Error
Error interno del servidor
Ejemplo de Uso con cURL
curl -X POST \
'http://localhost:1379/WorkingData/Invoice/from-table-number-with-payments?salon=1&mesa=1&serie=A&initialCatalog=ELSIFON' \
-H 'Content-Type: application/json' \
-d '[
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 25.50,
"formaPago": "Efectivo",
"fecha": "2024-01-15T10:30:00Z"
},
{
"tipoDocumento": "F",
"serie": "A",
"factura": 123,
"importe": 20.00,
"formaPago": "Tarjeta",
"fecha": "2024-01-15T10:30:00Z"
}
]'