Cliente dll
Solmicro.DigitalHub.Client.dll está desarrollado en .NetStandard 2.0. En ella se pueden encontrar diferentes clases en las que se encontrarán las funciones necesarias para operar con distintos documentos. Por ejemplo:
InvoicingClientes la clase para operar con los endpoint de la API de Invoicing empleados principalmente por Veri*Factu y TicketBAI.AccountingBookClientes la clase para operar con los endpoint de la API de AccountingBook empleados principalmente por Batuz Bizkaia y SII.
Esta DLL se podrá usar buscando Zucchetti.SDH.Client en el siguiente repositorio Nuget. Desde Visual Studio se puede localizar como se indica en la imagen siguiente:

Para utilizar Solmicro.DigitalHub.Client.dll es necesario instanciarla junto a Newtonsoft.Json.dll y parametrizarla de las siguientes formas:
Autenticación basada en certificados accesibles por la aplicación de terceros
string companyId = ""; // El identificador único de la empresa.
// Suministrado por los administradores de SDH
string installationId = ""; // El identificador de Instalación.
// Suministrado por los administradores de SDH
// Un companyId podría tener asociados varios
// installationId
string serviceUrl = ""; // La url del servicio web de SDH
SDHAuthorization auth = new ()
{
// Instancia de tipo Certificate
// para obtener el certificado del que se ha facilitado
// a los administradores de SDH el Thumbprint
//
//new Certificate(x509Certificate2)
//new Certificate(serialNumberOrHash)
//new Certificate(fromFileName, passwordFromFileName)
};
InvoicingClient client = new InvoicingClient(); //Para endpoints de Invoicing
//AccountingBookClient client = new AccountingBookClient(); //Para endpoints de AccountingBook
client.Set(companyId, installationId, serviceUrl, auth);
Autenticación basada en Azure
string companyId = ""; // El identificador único de la empresa.
// Suministrado por los administradores de SDH
string installationId = ""; // El identificador de Instalación.
// Suministrado por los administradores de SDH
// Un companyId podría tener asociados varios
// installationId
string serviceUrl = ""; // La url del servicio web de SDH
SDHAuthorization authAzureOption1 = new ()
{
clientId = "", // Identificador del cliente en Azure
clientSecret = "" // Secreto del cliente en Azure
};
SDHAuthorization authAzureOption2 = new ()
{
clientId = "", // Identificador del cliente en Azure
certificate =
// Instancia de tipo Certificate
//
//new Certificate(x509Certificate2)
//new Certificate(serialNumberOrHash)
//new Certificate(fromFileName, passwordFromFileName)
};
InvoicingClient client = new InvoicingClient(); //Para endpoints de Invoicing
//AccountingBookClient client = new AccountingBookClient(); //Para endpoints de AccountingBook
client.Set(companyId, installationId, serviceUrl, authOption);
Clase Certificate
Mediante la clase Certificate se obtiene el certificado. Admite constructores con:
X509Certificate2: Un objeto de la clase X509Certificate2.serialNumberOrHash: Un string con el SerialNumber o el Thumbprint para localizar el certificado instalado en el almacén personal del usuario en el equipo que consume la integración. Tiene que estar instalado como exportable.fromFileNameypasswordFromFileName: Ruta a un archivo cuyo contenido es un certificado, y la contraseña de dicho certificado.