SDK a vzorový kód

Dostupné SDK, klientské knihovny a interaktivní API dokumentace pro eConnect PSB API.

eConnect nabízí SDK a klientské knihovny, díky kterým rychleji integrujete s PSB API. Kromě toho můžete použít OpenAPI specifikaci (swagger.json) pro vlastní generování klienta prakticky v jakémkoli programovacím jazyce.

Dostupné SDK

K dispozici jsou dvě oficiálně podporované SDK na GitHubu pod organizací theinvoicingcompany:

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

Obě SDK zapouzdřují PSB REST API a nabízejí typed metody pro nejpoužívanější operace: autentizaci, odesílání a přijímání faktur, správu hooků a dotazování údajů o stranách.

.NET SDK

.NET SDK je dostupné jako NuGet balíček. Po instalaci můžete několika řádky kódu autentizovat a provést první API volání.

// 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: během vývoje používejte akceptační URL (accp-psb a accp-identity). Na produkční URL přepněte, když půjdete live.

PHP SDK

PHP SDK nainstalujete přes Composer. SDK automaticky spravuje OAuth tokeny, takže se můžete soustředit 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();
Generování vlastního klienta s OpenAPI

Pracujete v jiném jazyce než .NET nebo PHP? PSB API je kompletně zdokumentováno jako OpenAPI 3.0 specifikace. swagger.json si můžete stáhnout z psb.econnect.eu a pomocí něj vygenerovat klienta s OpenAPI Generator.

OpenAPI Generator podporuje více než 50 jazyků a frameworků včetně Java, Python, TypeScript, Go a Ruby. Příklad s nástrojem příkazového řádku:

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

Výsledkem je kompletní klientská knihovna s typed modely pro všechny objekty požadavků a odpovědí. Stačí již jen nastavit autentizaci (viz článek o autentizaci) a můžete začít.

Pozor: vygenerovaní klienti standardně neobsahují správu tokenů. Implementujte vlastní logiku pro vyžádání a obnovu tokenů, nebo použijte OAuth2 knihovnu pro Vaši platformu.

Interaktivní API dokumentace (Swagger UI)

Nejrychlejší způsob, jak prozkoumat API, je prostřednictvím Swagger UI na psb.econnect.eu. Tam můžete:

  • Zobrazit všechny endpointy seskupené podle funkční oblasti (SalesInvoice, PurchaseInvoice, Hook, Peppol atd.)
  • Zobrazit schémata požadavků a odpovědí se všemi poli a jejich datovými typy
  • Provádět API volání s vlastním Bearer tokenem přímo z prohlížeče
  • Stáhnout swagger.json pro generování kódu

Swagger UI je také praktická reference během vývoje. Pokud máte pochybnosti o struktuře požadavku nebo polích v odpovědi, vždy tam najdete aktuální specifikaci.

Přímo pracovat s REST API

Nepreferujete SDK? PSB API je standardní REST API, které můžete volat s jakýmkoli HTTP klientem. Níže je příklad s curl, který ukazuje, jak vyžádat token a následně získat údaje o účtu:

# 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 aplikacích je rozumné token cachovat a obnovovat ho krátce před vypršením (po přibližně 3500 sekundách). Nežádejte nový token při každém požadavku.

Zobrazit interaktivní API dokumentaci