Aller au contenu
Chargement des API keys…

Gestion des versions

Versions datées, ce qui a changé, et comment passer à une nouvelle version.

L'API Wajub est versionnée par date. Votre compte est fixé sur la version en vigueur au moment de sa création, et un changement cassant sort sous une nouvelle date sans toucher à votre intégration. La version actuelle est la 2026-09-01.

Versions prises en charge

VersionStatutCe qu'elle a changé
2026-09-01Actuelleledger_balance_before et ledger_balance_after retirés de l'objet transfert.
2026-08-01Prise en chargecomplete remplace is_complete sur l'objet transfert.
2025-01-01Prise en chargeLa version d'origine.

Une version reste prise en charge au moins six mois après avoir été remplacée, et son retrait est annoncé avant d'avoir lieu.

Choisir une version

Trois sources sont consultées, dans cet ordre : l'en-tête X-Wajub-Version de la requête, la version fixée sur votre compte, puis la valeur par défaut de la plateforme.

Fixer une version par requête
Authorization: sk.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i...
X-Wajub-Version: 2026-08-01

L'en-tête n'est pris en compte que s'il correspond à YYYY-MM-DD. Toute autre valeur, un v2, un latest, une chaîne vide, est ignorée en silence et c'est la version de votre compte qui s'applique. Une date bien formée qui ne figure pas dans la liste des versions prises en charge provoque une erreur franche :

Réponse · 400 Bad Request
{
"code": 400,
"status": "Bad Request",
"message": "Unsupported API version: 2024-01-01. Supported versions: 2026-09-01, 2026-08-01, 2025-01-01."
}

Chaque réponse indique la version qui a répondu

X-Wajub-Version revient dans chaque réponse, y compris les erreurs et le 400 ci-dessus. Enregistrez-le dans vos logs : c'est le moyen le plus rapide de découvrir qu'un service oublié est encore fixé sur une ancienne date.

curl -i https://api.wajub.com/transfers/trf_01JXXXXXXXXXXXXX \
-H "Authorization: $WAJUB_API_KEY" \
-H "X-Wajub-Version: 2026-08-01"

La conversion se fait dans les deux sens

Fixer une ancienne version ne se contente pas de désactiver les nouveaux champs. Wajub met à niveau le corps de votre requête vers la forme actuelle avant que le contrôleur ne le voie, puis ramène la réponse à la forme qu'attend votre version. Un client en 2025-01-01 peut envoyer is_complete et lira is_complete, alors que le code derrière ne manipule jamais que complete.

C'est pourquoi un transfert lu en 2026-08-01 porte encore ledger_balance_before et ledger_balance_after : ces champs ont été retirés en 2026-09-01, et la réponse est remise dans l'ancienne forme à la sortie.

Ce qui compte comme un changement cassant

Cassant, sort sous une nouvelle datecassantfacultatif
Supprimer un champ, le renommer, changer son type, ajouter une contrainte de validation, ajouter ou renommer une valeur de statut.
Additif, sort immédiatementadditiffacultatif
Un nouveau champ facultatif, un nouvel endpoint, un nouveau type d'événement webhook, une nouvelle valeur d'enum sur un champ existant.

Passer à une nouvelle version

  1. 1

    Lisez ce qui a changé

    Le changelog détaille les différences de chaque date, champ par champ.

  2. 2

    Testez avec l'en-tête

    Envoyez X-Wajub-Version avec la nouvelle date en utilisant une clé sandbox. Rien ne change sur votre compte : vous pouvez faire tourner ce test en parallèle de votre intégration actuelle aussi longtemps que nécessaire.

  3. 3

    Déployez service par service

    Gardez l'en-tête pendant le déploiement, un service à la fois. Un service que vous n'avez pas migré continue de répondre sur l'ancienne date.

  4. 4

    Fixez le compte, retirez l'en-tête

    Une fois que tout tourne sur la nouvelle date, demandez au support de changer la version fixée sur votre compte, puis retirez l'en-tête. Konsole → Overview indique sur quelle version votre compte est fixé et laquelle est actuelle, pour que vous puissiez confirmer que le changement a bien été appliqué.

Que pensez-vous de ce contenu ?