← Volver a InvoiceController

🔍 Consultas Avanzadas

Endpoints para consultas específicas de cabeceras, líneas, IVAs y facturas

Descripción General

Los endpoints de Consultas Avanzadas proporcionan acceso granular a los diferentes componentes de las facturas en el sistema RestMaster. Estos endpoints permiten consultar cabeceras, líneas, IVAs y facturas completas por criterios específicos, así como operaciones de cierre y limpieza.

🎯 Características de las Consultas Avanzadas

  • Consultas de cabeceras: Acceso a información de cabecera de facturas
  • Consultas de líneas: Detalle de líneas de factura
  • Consultas de IVAs: Información de impuestos
  • Consultas por serie: Facturas agrupadas por serie
  • Consultas por fecha: Rangos de fechas específicos
  • Operaciones de cierre: Cierre y limpieza de facturas

Endpoints de Cabeceras

GET /WorkingData/Invoice/headers

Obtiene todas las cabeceras de factura. Este endpoint recupera todas las cabeceras de factura (cabeceras de factura) de la base de datos, independientemente de la serie, número o fecha. Útil para propósitos administrativos o recuperación masiva de datos.
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
Cabeceras obtenidas exitosamente
[ { "tipoDocumento": "F", "serie": "A", "factura": 123, "fecha": "2024-01-15T10:30:00Z", "cliente": "Juan Pérez", "total": 45.50, "salon": 1, "mesa": 1 } ]
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

GET /WorkingData/Invoice/headers/by-serie-factura

Obtiene cabeceras de factura por serie y número. Este endpoint recupera las cabeceras de factura que coinciden con la serie y número de factura especificados. Útil para recuperar información específica de una factura.
Parámetros de consulta:
  • serie (string, requerido): Serie de la factura
  • factura (double, requerido): Número 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
Cabeceras obtenidas exitosamente
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

Endpoints de Líneas e IVAs

GET /WorkingData/Invoice/lines/by-serie-factura

Obtiene líneas de factura por serie y número. Este endpoint recupera todas las líneas de una factura específica, identificada por su serie y número. Útil para obtener el detalle completo de los artículos de una factura.
Parámetros de consulta:
  • serie (string, requerido): Serie de la factura
  • factura (double, requerido): Número 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
Líneas obtenidas exitosamente
[ { "tipoDocumento": "F", "serie": "A", "factura": 123, "linea": 1, "articulo": "ART001", "descripcion": "Hamburguesa", "cantidad": 2, "precio": 12.50, "total": 25.00 } ]
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

GET /WorkingData/Invoice/ivas/by-serie-factura

Obtiene IVAs de factura por serie y número. Este endpoint recupera todos los IVAs asociados a una factura específica, identificada por su serie y número. Útil para obtener el desglose de impuestos de una factura.
Parámetros de consulta:
  • serie (string, requerido): Serie de la factura
  • factura (double, requerido): Número 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
IVAs obtenidos exitosamente
[ { "tipoDocumento": "F", "serie": "A", "factura": 123, "tipoIva": "21", "baseImponible": 25.00, "importeIva": 5.25 } ]
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

Endpoints de Facturas por Serie

GET /WorkingData/Invoice/invoices/by-serie

Obtiene todas las facturas por serie. Este endpoint recupera todas las facturas (InvoiceDTO) para una serie específica. Útil para obtener todas las facturas de una serie particular.
Parámetros de consulta:
  • serie (string, requerido): Serie de las facturas
  • 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
Facturas obtenidas exitosamente
[ { "serie": "A", "factura": 123, "fecha": "2024-01-15T10:30:00Z", "cliente": "Juan Pérez", "total": 45.50, "lineas": [...], "ivas": [...], "pagos": [...] } ]
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

GET /WorkingData/Invoice/invoices/by-serie-factura

Obtiene una factura específica por serie y número. Este endpoint recupera una factura específica (InvoiceDTO) identificada por su serie y número. Útil para obtener información completa de una factura particular.
Parámetros de consulta:
  • serie (string, requerido): Serie de la factura
  • factura (double, requerido): Número 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 obtenida exitosamente
{ "serie": "A", "factura": 123, "fecha": "2024-01-15T10:30:00Z", "cliente": "Juan Pérez", "total": 45.50, "lineas": [...], "ivas": [...], "pagos": [...] }
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

Endpoints de Facturas por Fecha

GET /WorkingData/Invoice/invoices/by-date-range

Obtiene todas las facturas en un rango de fechas. Este endpoint recupera todas las facturas (InvoiceDTO) en el rango de fechas especificado. Útil para reportes por período o análisis de ventas por fecha.
Parámetros de consulta:
  • fechaInicio (DateTime, requerido): Fecha de inicio del rango
  • fechaFin (DateTime, requerido): Fecha de fin del rango
  • 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
Facturas obtenidas exitosamente
[ { "serie": "A", "factura": 123, "fecha": "2024-01-15T10:30:00Z", "cliente": "Juan Pérez", "total": 45.50, "lineas": [...], "ivas": [...], "pagos": [...] } ]
400 Bad Request
Error de validación
500 Internal Server Error
Error interno del servidor

Endpoints de Operaciones

PUT /WorkingData/Invoice/close-and-clear

Cierra y limpia una factura. Este endpoint cierra y limpia una factura específica. Si la factura no existe, se devuelve un error. Útil para finalizar el proceso de facturación y liberar recursos.
Body (JSON - CloseInvoiceRequestDto):
{ "tipoDocumento": "F", "serie": "A", "factura": 123 }
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 cerrada y limpiada exitosamente
true
400 Bad Request
Factura no encontrada o error de validación
500 Internal Server Error
Error interno del servidor

Modelos de Datos

CloseInvoiceRequestDto:
  • TipoDocumento (string): Tipo de documento (ej: "F" para factura)
  • Serie (string): Serie de la factura
  • Factura (double): Número de la factura

⚠️ Notas Importantes

  • Todos los endpoints requieren autenticación mediante userID y password
  • El parámetro initialCatalog es obligatorio en todos los endpoints
  • Los endpoints de consulta devuelven datos en formato JSON
  • El endpoint de cierre y limpieza es irreversible