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.
Deux SDK officiellement supportés sont disponibles sur GitHub, sous l'organisation theinvoicingcompany :
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.
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-psbetaccp-identity) pendant le développement. Passez aux URL de production lorsque vous êtes prêt à aller en production.
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();
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.
La manière la plus directe d'explorer l'API est via la Swagger UI sur psb.econnect.eu. Vous pouvez y :
swagger.json pour la génération de codeLa 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.
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