Saltar a contenido

Query Purchases

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.

Llamada

Los datos necesarios para esta entrada son la lista de referencias externas de las facturas.

InvoicingClient client = new InvoicingClient();

...
List<Guid> idPurchasesInvoiceList = new List<Guid>();
idPurchasesInvoiceList.Add(externalReference1);
...
idPurchasesInvoiceList.Add(externalReferencen);
...

Solmicro.DigitalHub.Global.Dtos.InvoiceStatusQueryResult results = client.QueryPurchases(idPurchasesInvoiceList);
curl -X POST https://apitest.solmicrosdh.com/v2.0/Invoicing/QueryPurchases \
--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 '[
        "externalReference1",
        "externalReferencen"
    ]'

Resultado

B2B

El resultado será un objeto de tipo InvoiceStatusQueryResult que contendrá la siguiente información:

  • InvoiceStatusResults: Lista con la información:
    • Referencia externa de la factura.
    • Lista de objetos de tipo InvoiceStatus.
  • NotFoundExternalReferences: Lista con los identificadores que no existen en SDH.
foreach (var result in results.InvoiceStatusResults)
{
   string externalReference = item.Key;
   List<InvoiceStatus> statuses = item.Value;

   foreach (var status in statuses)
   {
       status.Id
       status.StatusType
       ...
   }
}
foreach (Guid id_notfound in result.NotFoundExternalReferences)
{
    ...
}
{
    "invoiceStatusResults":
     {
        "referenciaexterna1": [ 
           {
              "id": "guid",
              "statusType": integer,
              "action": integer,
              "statusDate": "datetime",
              ...
           }
        ],
        "referenciaexterna2": [...] 
    },
    "notFoundExternalReferences": [
        "referenciaexterna3",
         ...
    ]
}