SDK et exemples de code

SDK disponibles, bibliothèques client et documentation API interactive pour l'API PSB d'eConnect.

eConnect propose des SDK et des bibliothèques client qui vous permettent d'intégrer plus rapidement l'API PSB. De plus, vous pouvez utiliser la spécification OpenAPI (swagger.json) pour générer vous-même un client dans pratiquement n'importe quel langage de programmation.

SDK disponibles

Deux SDK officiellement supportés sont disponibles sur GitHub, sous l'organisation theinvoicingcompany :

SDKLangageDépôteconnect-psb-dotnet.NET (C#)github.com/theinvoicingcompany/econnect-psb-dotneteconnect-psb-phpPHPgithub.com/theinvoicingcompany/econnect-psb-php

Les deux SDK encapsulent l'API REST PSB et offrent des méthodes typées pour les opérations les plus courantes : authentification, envoi et réception de factures, gestion des hooks et consultation des données de parties.

SDK .NET

Le SDK .NET est disponible sous forme de package NuGet. Après installation, vous pouvez vous authentifier et effectuer votre premier appel API en quelques lignes de code.

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

Conseil : utilisez les URL d'acceptation (accp-psb et accp-identity) pendant le développement. Passez aux URL de production lorsque vous êtes prêt à aller en production.

SDK PHP

Le SDK PHP s'installe via Composer. Le SDK gère automatiquement la gestion des tokens OAuth, ce qui vous permet de vous concentrer sur la logique métier.

// 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();
Générer vous-même un client avec OpenAPI

Vous travaillez dans un autre langage que .NET ou PHP ? L'API PSB est entièrement documentée sous forme de spécification OpenAPI 3.0. Vous pouvez télécharger le swagger.json depuis psb.econnect.eu et générer un client avec OpenAPI Generator.

OpenAPI Generator prend en charge plus de 50 langages et frameworks, dont Java, Python, TypeScript, Go et Ruby. Un exemple avec l'outil en ligne de commande :

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

Le résultat est une bibliothèque client complète avec des modèles typés pour tous les objets de requête et de réponse. Il ne vous reste qu'à configurer l'authentification (voir l'article sur l'authentification) et vous pouvez commencer directement.

Attention : les clients générés ne contiennent pas de gestion de tokens par défaut. Implémentez vous-même la logique de demande et de renouvellement de tokens, ou utilisez une bibliothèque OAuth2 pour votre plateforme.

Documentation API interactive (Swagger UI)

La manière la plus directe d'explorer l'API est via la Swagger UI sur psb.econnect.eu. Vous pouvez y :

  • Consulter tous les endpoints, regroupés par domaine fonctionnel (SalesInvoice, PurchaseInvoice, Hook, Peppol, etc.)
  • Examiner les schémas de requête et de réponse avec tous les champs et leurs types de données
  • Exécuter des appels API avec votre propre Bearer token, directement depuis le navigateur
  • Télécharger le swagger.json pour la génération de code

La Swagger UI constitue également une référence pratique pendant le développement. Si vous avez un doute sur la structure d'une requête ou les champs d'une réponse, vous y trouverez toujours la spécification à jour.

Commencer directement avec l'API REST

Vous préférez ne pas utiliser de SDK ? L'API PSB est une API REST standard que vous pouvez appeler avec n'importe quel client HTTP. Voici un exemple avec curl montrant comment demander un token puis récupérer les informations de votre compte :

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

En production, il est conseillé de mettre le token en cache et de ne le renouveler que peu avant son expiration (après environ 3500 secondes). Ne demandez pas un nouveau token à chaque requête.

Consulter la documentation API interactive