Aller au contenu

Mise à niveau de l'API

Les versions datées, leurs changements et la méthode pour fixer une version.

Les versions de l'API sont identifiées par date. Trois versions sont actives en même temps et la plus récente est utilisée par défaut. Pour passer de l'une à l'autre, modifiez un en-tête et appliquez les changements indiqués ci-dessous.

VersionStatut
2026-09-01Actuelle, utilisée par défaut
2026-08-01Prise en charge
2025-01-01Prise en charge

Toute version absente de cette liste est immédiatement refusée.

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

Changements réels

Il existe deux changements cassants, tous deux liés aux transferts. Tous les autres changements sont additifs et ne créent pas de nouvelle version.

VersionChangementAction
2026-08-01complete remplace is_complete sur un transfertLisez complete
2026-09-01ledger_balance_before et ledger_balance_after sont retirés d'un transfertSupprimez-les, il s'agissait d'instantanés internes du registre

Ces changements ne cassent pas les anciens clients. Si vous fixez 2025-01-01, un transfert renvoie toujours is_complete et les deux champs du registre, car la réponse est adaptée à votre version. Si vous envoyez is_complete avec une version plus récente, il est converti à l'entrée.

Un nouveau champ ne crée pas une nouvelle version

L'ajout de champs à une réponse, de nouveaux endpoints et de nouvelles valeurs d'énumération ne change pas la version. Analysez les réponses de façon à ignorer un champ inconnu. Traitez un statut inconnu comme non définitif au lieu de provoquer une erreur.

Sélection de votre version

Trois sources sont examinées. La première correspondance l'emporte.

  1. 1

    L'en-tête X-Wajub-Version

    Il s'applique à une requête et remplace toutes les autres valeurs. Son format doit être exactement identique à 2026-09-01.

  2. 2

    La version fixée sur votre compte

    Elle est définie à la création du compte ou par le support. Elle s'applique aux appels qui ne contiennent pas l'en-tête.

  3. 3

    La version par défaut de la plateforme

    Il s'agit de la version actuelle, soit 2026-09-01 aujourd'hui.

Quelle que soit la source retenue, la version résolue apparaît dans le même en-tête de chaque réponse. C'est le seul moyen fiable de connaître la version réellement utilisée.

Fixer une version et lire la valeur résolue
curl https://api.wajub.com/transfers/po_kZ3qP8mWvL2xR7tB \
  -H "Authorization: sk_test.kZ3qP8mWvL2xR7tB5nY4hC6dF9jS1aG0eU3i…" \
  -H "X-Wajub-Version: 2026-08-01" \
  -D -

Passer à une version supérieure

  1. 1

    Lisez les différences

    Le tableau ci-dessus contient tous les changements cassants. Recherchez dans votre code les noms de champs qu'il présente, dans les deux directions.

  2. 2

    Fixez la nouvelle version dans la sandbox

    Envoyez l'en-tête avec une clé de test et exécutez vos scénarios : initialisation, réussite, échec, remboursement, transfert, traitement des webhooks et pagination.

  3. 3

    Pilotez l'en-tête depuis la configuration

    Utilisez une variable d'environnement plutôt qu'une valeur littérale. Un retour arrière demande alors un redémarrage plutôt qu'un déploiement.

  4. 4

    Activez-la en production

    Surveillez les mêmes signaux que pour tout autre déploiement, puis retirez les branches de compatibilité lorsque les mesures restent stables.

Dans le SDK Node, les headers propres à une requête se placent dans les options avec idempotencyKey. Ajoutez-y l'en-tête de version pendant vos tests.

Comparez les payloads au lieu de deviner

Konsole enregistre la version résolue avec le corps de la requête. Vous pouvez ainsi comparer deux appels utilisant deux versions dans API Logs.

Politique de fin de prise en charge

La dépréciation d'une version est annoncée six mois avant son retrait de la liste des versions prises en charge. Cette annonce paraît dans le Journal des modifications. Après le retrait, les appels fixés sur cette version reçoivent la réponse 400 ci-dessus au lieu d'une rétrogradation silencieuse. Ce choix évite de modifier vos payloads sans vous prévenir.

Que pensez-vous de ce contenu ?