Descripción General
Los endpoints de Gestión de Facturas proporcionan las operaciones fundamentales para administrar las cabeceras de facturas del restaurante. Estos endpoints manejan el registro, consulta, actualización y eliminación de facturas, incluyendo información de clientes, importes, fechas y estados.
🎯 Características de la Gestión de Facturas
- Identificación compuesta: Cada factura se identifica por tipo, serie y número
- Información completa: Cliente, importes, fechas, empleado
- Control de estados: Gestión del ciclo de vida de la factura
- Transacciones seguras: Uso de contexto de base de datos
- Resultados estructurados: ServiceResult para manejo de errores
- Validación de datos: Verificación de integridad de la información
Endpoints Disponibles
GET
/WorkingData/InvoiceHead/{tipoDocumento}/{serie}/{factura}
Obtiene una factura específica por su tipo de documento, serie y número. Este endpoint permite recuperar la información completa de una factura en particular.
Parámetros de ruta:
- tipoDocumento (string, requerido): Tipo de documento (ej: "FACTURA", "TICKET")
- serie (string, requerido): Serie del documento
- factura (double, requerido): Número de factura
Parámetros de consulta:
- 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 encontrada y devuelta
{
"tipoDocumento": "FACTURA",
"serie": "A",
"factura": 1001,
"fecha": "2024-01-15T10:30:00Z",
"cliente": "CLI001",
"total": 45.50,
"estado": "EMITIDA",
"empleado": "EMP001"
}
400 Bad Request
Error en la solicitud o factura no encontrada
{
"isSuccess": false,
"error": "Factura no encontrada",
"data": null
}
POST
/WorkingData/InvoiceHead
Crea una nueva factura en el sistema. Este endpoint permite registrar una nueva factura en la base de datos del restaurante.
Body (JSON):
{
"tipoDocumento": "FACTURA",
"serie": "A",
"factura": 1002,
"fecha": "2024-01-15T14:20:00Z",
"cliente": "CLI002",
"total": 32.75,
"estado": "BORRADOR",
"empleado": "EMP001"
}
Parámetros de consulta:
- 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
{
"isSuccess": true,
"error": null,
"data": true
}
400 Bad Request
Error en la creación de la factura
{
"isSuccess": false,
"error": "Error al crear la factura: Cliente no válido",
"data": false
}
PUT
/WorkingData/InvoiceHead
Actualiza una factura existente en el sistema. Este endpoint permite modificar la información de una factura ya registrada.
Body (JSON):
{
"tipoDocumento": "FACTURA",
"serie": "A",
"factura": 1001,
"fecha": "2024-01-15T10:30:00Z",
"cliente": "CLI001",
"total": 47.25,
"estado": "EMITIDA",
"empleado": "EMP001"
}
Parámetros de consulta:
- 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 actualizada exitosamente
{
"isSuccess": true,
"error": null,
"data": true
}
400 Bad Request
Error en la actualización de la factura
{
"isSuccess": false,
"error": "Error al actualizar la factura: Factura no encontrada",
"data": false
}
DELETE
/WorkingData/InvoiceHead/{tipoDocumento}/{serie}/{factura}
Elimina una factura del sistema. Este endpoint permite remover una factura de la base de datos del restaurante.
Parámetros de ruta:
- tipoDocumento (string, requerido): Tipo de documento
- serie (string, requerido): Serie del documento
- factura (double, requerido): Número de factura
Parámetros de consulta:
- 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 eliminada exitosamente
{
"isSuccess": true,
"error": null,
"data": true
}
400 Bad Request
Error en la eliminación de la factura
{
"isSuccess": false,
"error": "Error al eliminar la factura: No se puede eliminar una factura pagada",
"data": false
}
Servicio Utilizado
IInvoiceHeadService - Servicio principal para la gestión de cabeceras de facturas
- GetInvoice(): Obtiene una factura específica
- CreateInvoice(): Crea una nueva factura
- UpdateInvoice(): Actualiza una factura existente
- DeleteInvoice(): Elimina una factura