Passer au contenu
AchaduDevelopers
API opérationnelleAller sur le site Web
Tableau de bord
Achadu/Developers/Gestion des versions

Evolution compatible, migrations explicites.

La version principale est dans l'URL. Les modifications additives sont introduites dans la v1 sans interrompre les clients ; Les modifications incompatibles nécessitent une nouvelle version et une nouvelle fenêtre de migration.

Ce qui pourrait changer dans la v1

Nouveaux points de terminaison

Des opérations et fonctionnalités supplémentaires peuvent être publiées.

Nouveaux champs optionnels

Les clients doivent ignorer les propriétés inconnues dans les réponses.

Nouveaux événements

Les abonnements avec * peuvent avoir des types ajoutés au catalogue.

De nouvelles valeurs

Les énumérations ouvertes peuvent obtenir des états ou des fournisseurs documentés.

Ce qui nécessite une nouvelle version

Supprimer ou renommer

Le point de terminaison, le champ ou la valeur existant ne disparaît pas silencieusement.

Changer le sens

Une sémantique, une unité ou un format incompatible nécessite un nouveau contrat.

Rendre obligatoire

Un champ optionnel ne devient pas obligatoire au sein d’une même version.

Changer l'authentification

Les modifications d’autorisation incompatibles reçoivent leur propre migration.

Cycle d'amortissement

1
Annonce

Le changement entre dans l’histoire avec remplacement et impact.

2
Migrations

Les deux formes coexistent pendant la fenêtre informée.

3
Avis en production

La documentation et les réponses identifient le contrat interrompu.

4
Clôture

L'enlèvement n'a lieu qu'à la date annoncée.

Comment écrire un client résilient

Ignorez les champs de réponse inconnus.
Traitez les énumérations inconnues comme un état valide non pris en charge.
Ne dépendez pas de l'ordre des propriétés JSON.
Utilisez la version de l'URL, et non une version déduite du SDK.
Suivez l’historique avant de mettre à jour un client généré.