Query Sales
Tener en cuenta que en Veri*Factu se realiza entrega diferida, por lo que cobra sentido la consulta del estado de la entrega de la factura a la administración.
Esto no aplica para TicketBAI, ya que la entrega es inmediata.
Mediante este punto de entrada SDH realizará la consulta, de una lista de hasta 1.000 facturas, para obtener información del estado de la factura en SDH y en la administración.
Llamada
Los datos necesarios para esta entrada son la lista de series y sus números de factura.
InvoicingClient client = new InvoicingClient();
...
List<IdSalesInvoice> idSalesInvoiceList = new List<IdSalesInvoice>();
idSalesInvoiceList.Add(new IdSalesInvoice() { Series = series, Number = number });
...
Solmicro.DigitalHub.Global.Dtos.OutEngineContainer outEngineContainer = client.QuerySales(idSalesInvoiceList);
curl -X POST https://apitest.solmicrosdh.com/invoicing/querysales \
--cert /ruta/al/certificado.pfx \
--cert-type P12 \
--pass mypfxpassword \
-H "Content-Type: application/json" \
-H "CompanyId: guid-unico-empresa" \
-H "InstallationId: guid-unico-instalacion" \
-d '[
{
"series": "string",
"number": "string"
}
]'
Resultado
*VeriFactu
El resultado será un objeto de tipo VeriFactuConsultasResult que contendrá la lista VeriFactuConsultaResults con la siguiente información:
Series: Serie de la factura.Number: Número de la factura.SalesInvoiceId: Identificador único de la factura en la BBDD de SDH.DateAndTime: Fecha de expedición de la factura.Type: Tipo de la factura.DestinationStateState: En caso que la factura esté entregada en la administración, el estado actual en el que se encuentra el registro para la administración.DestinationStateResponse: En caso que la factura esté entregada en la administración con error, el texto del error reportado por la administración.DestinationStateErrorCode: En caso que la factura esté entregada en la administración con error, el código del error reportado por la administración.DestinationStateDateAndTime:- En caso que la factura esté entregada en la administración, la fecha en la que se ha recibido la contestación de la administración.
- Si no se ha entregado a la administración, la fecha en que se ha procesado en SDH.
Hash: Huella de la factura.PreviousSeries: Serie de la factura con la que se ha realizado el encadenamiento.PreviousNumber: Número de la factura con la que se ha realizado el encadenamiento.PreviousDateAndTime: Fecha de la factura con la que se ha realizado el encadenamiento.UrlQR: Texto con la información necesaria para generar el QR.QRBase64: Texto codificado en Base64 que contiene la imagen QR.- Para el resto de campos ver información de respuesta servicios administración.
VeriFactuConsultasResult results = outEngineContainer.Results.OfType<VeriFactuConsultasResult>().FirstOrDefault();
if (results is not null)
{
foreach (var result in results.VeriFactuConsultaResults)
{
result.Series
result.Number
result.SalesInvoiceId
result.DateAndTime
result.Type
result.DestinationStateState
result.DestinationStateResponse
result.DestinationStateErrorCode
result.DestinationStateDateAndTime
result.Hash
result.PreviousSeries
result.PreviousNumber
result.PreviousDateAndTime
result.UrlQR
result.QRBase64
...
}
}
{
...
"VeriFactuConsultaResults": [
...
"Series": "string",
"Number": "string",
"SalesInvoiceId": "string",
"DateAndTime": "datetime",
"Type": integer,
"DestinationStateState": integer,
"DestinationStateResponse": "string",
"Hash": "string",
"PreviousSeries": "string",
"PreviousNumber": "string",
"PreviousDateAndTime": "datetime",
"UrlQR": "string",
"QRBase64": "string",
...
]
}