SDK a vzorový kód

Dostupné SDK, klientské knižnice a interaktívna API dokumentácia pre eConnect PSB API.

eConnect ponúka SDK a klientské knižnice, vďaka ktorým rýchlejšie integrujete s PSB API. Okrem toho môžete použiť OpenAPI špecifikáciu (swagger.json) na vlastné generovanie klienta prakticky v akomkoľvek programovacom jazyku.

Dostupné SDK

K dispozícii sú dve oficiálne podporované SDK na GitHube pod organizáciou theinvoicingcompany:

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

Obidve SDK zapuzdrujú PSB REST API a ponúkajú typed metódy pre najpoužívanejšie operácie: autentifikáciu, odosielanie a prijímanie faktúr, správu hookov a dopytovanie údajov o stranách.

.NET SDK

.NET SDK je dostupné ako NuGet balíček. Po inštalácii môžete niekoľkými riadkami kódu autentifikovať a uskutočniť prvé API volanie.

// 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}");

Tip: počas vývoja používajte akceptačné URL (accp-psb a accp-identity). Na produkčné URL prepnite, keď pôjdete live.

PHP SDK

PHP SDK nainštalujete cez Composer. SDK automaticky spravuje OAuth tokeny, takže sa môžete sústrediť na business logiku.

// 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();
Generovanie vlastného klienta s OpenAPI

Pracujete v inom jazyku ako .NET alebo PHP? PSB API je kompletne zdokumentované ako OpenAPI 3.0 špecifikácia. swagger.json si môžete stiahnuť z psb.econnect.eu a pomocou neho vygenerovať klienta s OpenAPI Generator.

OpenAPI Generator podporuje viac ako 50 jazykov a frameworkov vrátane Java, Python, TypeScript, Go a Ruby. Príklad s nástrojom príkazového riadku:

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

Výsledkom je kompletná klientská knižnica s typed modelmi pre všetky objekty požiadaviek a odpovedí. Stačí už len nastaviť autentifikáciu (pozri článok o autentifikácii) a môžete začať.

Pozor: vygenerovaní klienti štandardne neobsahujú správu tokenov. Implementujte vlastnú logiku na vyžiadanie a obnovu tokenov, alebo použite OAuth2 knižnicu pre Vašu platformu.

Interaktívna API dokumentácia (Swagger UI)

Najrýchlejší spôsob, ako preskúmať API, je prostredníctvom Swagger UI na psb.econnect.eu. Tam môžete:

  • Zobraziť všetky endpointy zoskupené podľa funkčnej oblasti (SalesInvoice, PurchaseInvoice, Hook, Peppol atď.)
  • Zobraziť schémy požiadaviek a odpovedí so všetkými poľami a ich dátovými typmi
  • Vykonávať API volania s vlastným Bearer tokenom priamo z prehliadača
  • Stiahnuť swagger.json na generovanie kódu

Swagger UI je tiež praktická referencia počas vývoja. Ak máte pochybnosti o štruktúre požiadavky alebo poliach v odpovedi, vždy tam nájdete aktuálnu špecifikáciu.

Priamo pracovať s REST API

Nepreferujete SDK? PSB API je štandardné REST API, ktoré môžete volať s akýmkoľvek HTTP klientom. Nižšie je príklad s curl, ktorý ukazuje, ako vyžiadať token a následne získať údaje o účte:

# 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 .

V produkčných aplikáciách je rozumné token cachovať a obnovovať ho krátko pred vypršaním (po približne 3500 sekundách). Nepožadujte nový token pri každej požiadavke.

Zobraziť interaktívnu API dokumentáciu