SDK e codice di esempio

SDK disponibili, librerie client e la documentazione API interattiva per la PSB API di eConnect.

eConnect offre SDK e librerie client che consentono un'integrazione più rapida con la PSB API. Inoltre, è possibile utilizzare la specifica OpenAPI (swagger.json) per generare autonomamente un client in praticamente qualsiasi linguaggio di programmazione.

SDK disponibili

Sono disponibili due SDK ufficialmente supportati su GitHub, sotto l'organizzazione theinvoicingcompany:

SDKLinguaggioRepositoryeconnect-psb-dotnet.NET (C#)github.com/theinvoicingcompany/econnect-psb-dotneteconnect-psb-phpPHPgithub.com/theinvoicingcompany/econnect-psb-php

Entrambi gli SDK wrappano la PSB REST API e offrono metodi tipizzati per le operazioni più comuni: autenticazione, invio e ricezione di fatture, gestione degli hook e interrogazione dei dati delle parti.

.NET SDK

L'SDK .NET è disponibile come pacchetto NuGet. Dopo l'installazione, con poche righe di codice può autenticarsi ed effettuare la prima chiamata API.

// Authenticatie en eerste aanroep met de .NET SDK
var client = new PsbClient(new PsbClientOptions
{
    ClientId = "jouw-client-id",
    ClientSecret = "jouw-client-secret",
    BaseUrl = "https://accp-psb.econnect.eu",
    IdentityUrl = "https://accp-identity.econnect.eu"
});

var me = await client.GetMeAsync();
Console.WriteLine($"Account: {me.Name}");

Suggerimento: utilizzi gli URL di accettazione (accp-psb e accp-identity) durante lo sviluppo. Passi agli URL di produzione quando va in produzione.

PHP SDK

L'SDK PHP si installa tramite Composer. L'SDK gestisce automaticamente il token management OAuth, permettendoLe di concentrarsi sulla logica di business.

// Authenticatie en eerste aanroep met de PHP SDK
$client = new \EConnect\Psb\PsbClient([
    'client_id' => 'jouw-client-id',
    'client_secret' => 'jouw-client-secret',
    'base_url' => 'https://accp-psb.econnect.eu',
    'identity_url' => 'https://accp-identity.econnect.eu',
]);

$me = $client->getMe();
echo "Account: " . $me->getName();
Generare un client con OpenAPI

Lavora in un linguaggio diverso da .NET o PHP? La PSB API è completamente documentata come specifica OpenAPI 3.0. Può scaricare il swagger.json da psb.econnect.eu e utilizzarlo per generare un client con OpenAPI Generator.

OpenAPI Generator supporta più di 50 linguaggi e framework, tra cui Java, Python, TypeScript, Go e Ruby. Un esempio con lo strumento da riga di comando:

openapi-generator-cli generate \
  -i https://psb.econnect.eu/swagger/v1/swagger.json \
  -g java \
  -o ./psb-client-java

Il risultato è una libreria client completa con modelli tipizzati per tutti gli oggetti di request e response. È sufficiente configurare l'autenticazione (consultare l'articolo sull'autenticazione) e si può iniziare subito.

Attenzione: i client generati non includono il token management per impostazione predefinita. Implementi autonomamente la logica per richiedere e rinnovare i token, oppure utilizzi una libreria OAuth2 per la Sua piattaforma.

Documentazione API interattiva (Swagger UI)

Il modo più diretto per esplorare l'API è tramite la Swagger UI su psb.econnect.eu. Lì può:

  • Visualizzare tutti gli endpoint, raggruppati per area funzionale (SalesInvoice, PurchaseInvoice, Hook, Peppol, ecc.)
  • Consultare gli schemi di request e response con tutti i campi e i relativi tipi di dati
  • Eseguire chiamate API con il proprio Bearer token, direttamente dal browser
  • Scaricare il swagger.json per la generazione del codice

La Swagger UI è anche un utile riferimento durante lo sviluppo. In caso di dubbi sulla struttura di una request o sui campi di una response, lì troverà sempre la specifica aggiornata.

Iniziare direttamente con la REST API

Preferisce non utilizzare un SDK? La PSB API è una REST API standard che può essere chiamata con qualsiasi client HTTP. Di seguito un esempio con curl che mostra come richiedere un token e successivamente recuperare i dati del proprio account:

# Token aanvragen
TOKEN=$(curl -s -X POST https://accp-identity.econnect.eu/connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=jouw-client-id" \
  -d "client_secret=jouw-client-secret" \
  -d "scope=ap" | jq -r '.access_token')

# Accountgegevens ophalen
curl -s \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  https://accp-psb.econnect.eu/api/v1/me | jq .

In applicazioni di produzione è consigliabile memorizzare il token nella cache e rinnovarlo solo poco prima della scadenza (dopo circa 3500 secondi). Non richieda un nuovo token ad ogni richiesta.

Consulti la documentazione API interattiva