Aller au contenu principal
API

Cycle de vie

L’API repose sur un point de terminaison GraphQL unique et évolutif. Cette architecture garantit que les nouvelles capacités et les améliorations de performance sont livrées en continu, sans nécessiter de migration entre des versions de l’API.

Cette page présente les différents niveaux de stabilité de l’API, les garanties de stabilité de l’API stable, les types de changements (majeurs ou non) et la manière dont les dépréciations sont gérées. Pour les fonctionnalités actuellement en préversion, consultez les fonctionnalités expérimentales.

Cycle de vie des fonctionnalités

Chaque fonctionnalité se situe à l’un de ces trois niveaux de stabilité : alpha, bêta ou stable. La plupart des fonctionnalités les parcourent dans l’ordre, et les fonctionnalités stables ne peuvent être retirées que via un processus de dépréciation.

Lifecycle
text
[ ALPHA ] ──> [ BETA ] ──> [ STABLE ] ──> [ DEPRECATED ] ──> [ REMOVED ] Opt-in        Enabled                      12+ month               by default                   notice window

API stable

Les fonctionnalités stables constituent le noyau de l’API prêt pour la production. Les changements sont classés en deux catégories : non majeurs et majeurs.

Changements non majeurs

Ajouts rétrocompatibles qui ne perturbent pas les intégrations existantes. Ils sont publiés en continu, sans préavis ni dépréciation.

Les changements non majeurs comprennent :

  • L’ajout d’une nouvelle requête, mutation ou souscription.
  • L’ajout d’un nouvel argument d’entrée facultatif à une opération existante.
  • L’ajout d’un nouvel argument avec une valeur par défaut qui préserve le comportement existant.
  • L’ajout d’un nouveau champ à la sortie d’une opération existante.
  • Le passage d’un argument d’entrée obligatoire à facultatif.
  • L’ajout d’une nouvelle valeur à un type enum existant.

Concevoir en tenant compte des changements non majeurs

Les changements non majeurs peuvent tout de même affecter les clients qui font des hypothèses rigides. Pour garder des intégrations résilientes :

  • Évitez la désérialisation stricte des objets, qui échoue lorsque des propriétés supplémentaires apparaissent dans les charges utiles.
  • Les types GraphQL enum ne sont pas exhaustifs et s’étendent avec le temps. Implémentez toujours un cas par défaut de repli dans la logique du client.
  • Inspectez les valeurs extensions.exception.code des erreurs plutôt que de comparer des chaînes d’erreur lisibles.

Changements majeurs et dépréciations

Un changement majeur peut casser des intégrations actives existantes. Par conséquent, tout changement majeur doit d’abord passer par un processus de dépréciation de 12 mois.

Les changements majeurs comprennent :

  • La suppression ou le renommage d’une requête, mutation, souscription, d’un champ ou d’un argument d’entrée existant.
  • La suppression ou le renommage de valeurs d’enum.
  • Le changement du type de données d’un champ ou d’un argument d’entrée existant.
  • L’ajout d’un nouvel argument d’entrée obligatoire.
  • Le passage d’un argument d’entrée facultatif à obligatoire.
  • La modification de la logique métier ou du comportement d’un champ existant.
  • Le passage d’un champ de sortie de non nullable (!) à nullable.
  • La modification de la valeur par défaut d’un argument d’entrée ou d’un champ.
  • La modification des valeurs par défaut de pagination, des tailles de page maximales ou de l’ordre de tri documenté.

Calendrier de dépréciation

Lorsqu’un changement majeur nécessite de retirer ou de remplacer une capacité stable, il suit un calendrier strict en trois phases :

  1. Annonce de la dépréciationLa fonctionnalité est marquée avec la directive @deprecated dans le schéma GraphQL. Le cas échéant, un chemin de migration est fourni. La dépréciation et la date de suppression correspondante sont annoncées simultanément via trois canaux de suivi.
  2. Période de préavis active (mois 1 à 12)La fonctionnalité dépréciée reste pleinement opérationnelle. Si un chemin de migration est fourni, les intégrateurs doivent mettre à jour leurs applications et adopter les nouveaux champs pendant cette période de 12 mois.
  3. Suppression définitiveÀ la date de suppression, la fonctionnalité est définitivement retirée. Toute requête ultérieure utilisant cette fonctionnalité échouera à la validation du schéma avec une erreur GraphQL.

Suivi des dépréciations

Identifiez et suivez les retraits à venir via trois canaux :

  • Inspectez les directives @deprecated(reason: "...") dans vos outils de schéma.
  • Consultez les dates de fin de support et les guides de migration dans la section héritée de l’API ou sur le portail des dépréciations.
  • Surveillez les avertissements DEPRECATED_FEATURE renvoyés directement dans les réponses de l’API.
Exemple de réponse
Example request and response
graphql
{  "data": {    "station": {      "id": "5e8c22366f9c5f23ab0eff39",      "amenityList": [        {          "name": "Coffee Shop",          "foursquareUrl": "https://foursquare.com/v/example"        }      ]    }  },  "extensions": {    "warnings": [      {        "code": "DEPRECATED_FEATURE",        "path": ["amenityList", "foursquareUrl"],        "message": "This feature is deprecated and will be removed. To prevent errors and service disruptions, migrate to the recommended alternative before the scheduled removal date. Visit https://developers.chargetrip.com/deprecations for more information."      }    ]  }}

Ce contenu vous a-t-il été utile ?

Développeurs

Chargetrip ©

Gérer les cookies

En vigueur depuis le : 20 mars 2024 · Mis à jour le : 1er septembre 2026

Politique relative aux cookies

Nous utilisons des cookies pour améliorer votre expérience sur developers.chargetrip.com. Cette politique relative aux cookies fait partie de la politique de confidentialité et couvre l’utilisation des cookies entre votre appareil et notre site. Nous fournissons également des informations de base sur les services tiers que nous pouvons utiliser, qui peuvent eux aussi utiliser des cookies dans le cadre de leur service, bien qu’ils ne soient pas couverts par notre politique.

Si vous ne souhaitez accepter aucun cookie de notre part, vous devez demander à votre navigateur de refuser les cookies de developers.chargetrip.com, en sachant que nous pourrions ne pas être en mesure de vous fournir certains des contenus et services souhaités.

Vérifier vos choix de consentement aux cookies

Un cookie est une petite donnée qu’un site web enregistre sur votre appareil lors de votre visite. Il contient généralement des informations sur le site lui-même, un identifiant unique qui permet au site de reconnaître votre navigateur à votre retour, des données supplémentaires servant à la finalité du cookie lui-même, ainsi que la durée de vie du cookie lui-même.

Les cookies sont utilisés pour activer certaines fonctionnalités (par ex. la connexion), pour suivre l’utilisation du site (par ex. l’analyse), pour enregistrer vos paramètres d’utilisateur (par ex. le fuseau horaire, les préférences de notification) et pour personnaliser votre contenu (par ex. la publicité, la langue).

Les cookies déposés par le site web que vous visitez sont généralement appelés « cookies internes » et ne suivent normalement que votre activité sur ce site en particulier. Les cookies déposés par d’autres sites et entreprises (c’est-à-dire des tiers) peuvent être utilisés pour vous suivre sur d’autres sites web qui utilisent le même service tiers.

Cookies essentiels

Les cookies déposés par le site web que vous visitez sont généralement appelés « cookies internes » et ne suivent normalement que votre activité sur ce site en particulier. Les cookies déposés par d’autres sites et entreprises (c’est-à-dire des tiers) peuvent être utilisés pour vous suivre sur d’autres sites web qui utilisent le même service tiers.

Cookies de performance

Les cookies de ciblage / publicitaires servent à déterminer quel contenu promotionnel est le plus pertinent et approprié pour vous et vos centres d’intérêt. Les sites web peuvent les utiliser pour diffuser de la publicité ciblée ou pour limiter le nombre de fois où vous voyez une publicité. Cela aide les entreprises à améliorer l’efficacité de leurs campagnes et la qualité du contenu qui vous est présenté. Ces cookies peuvent être déposés par le site web que vous visitez (internes) ou par des services tiers. Les cookies de ciblage/publicitaires déposés par des tiers peuvent être utilisés pour vous suivre sur d’autres sites web qui utilisent le même service tiers. Nous utilisons des cookies de ciblage/publicitaires sur notre site.

Cookies marketing / publicitaires

Les cookies de ciblage / publicitaires servent à déterminer quel contenu promotionnel est le plus pertinent et approprié pour vous et vos centres d’intérêt. Les sites web peuvent les utiliser pour diffuser de la publicité ciblée ou pour limiter le nombre de fois où vous voyez une publicité. Cela aide les entreprises à améliorer l’efficacité de leurs campagnes et la qualité du contenu qui vous est présenté. Ces cookies peuvent être déposés par le site web que vous visitez (internes) ou par des services tiers. Les cookies de ciblage/publicitaires déposés par des tiers peuvent être utilisés pour vous suivre sur d’autres sites web qui utilisent le même service tiers. Nous utilisons des cookies de ciblage/publicitaires sur notre site.

Engagement envers les tiers

Nous examinons les politiques de confidentialité de tous nos prestataires tiers avant de faire appel à leurs services, afin de garantir que leurs pratiques sont alignées sur les nôtres. Nous n’intégrerons jamais sciemment de services tiers qui compromettent ou violent la vie privée de nos utilisateurs.

Cookie
google-cookie-consent
Description
Enregistre vos préférences en matière de cookies, c’est-à-dire les catégories que vous avez acceptées ou refusées, afin que nous puissions respecter votre choix à chaque visite et ne charger que les outils d’analyse ou de marketing que vous avez autorisés.
Durée de vie
2 ans

Comment contrôler les cookies ou les refuser

Si vous ne souhaitez pas accepter les cookies de notre part, vous pouvez demander à votre navigateur de refuser les cookies de notre site web. La plupart des navigateurs sont configurés pour accepter les cookies par défaut, mais vous pouvez modifier ces paramètres pour refuser entièrement les cookies ou pour être averti lorsqu’un site web tente d’en déposer un.

Si vous naviguez sur des sites web depuis plusieurs appareils, vous devrez peut-être modifier vos paramètres sur chacun d’eux.

Bien que certains cookies puissent être bloqués avec peu d’impact sur l’expérience d’un site web, le blocage de tous les cookies peut vous empêcher d’accéder à certaines fonctionnalités et à certains contenus sur les sites que vous visitez.

Nous pouvons mettre à jour cette politique relative aux cookies de temps à autre afin de refléter, par exemple, des modifications des cookies que nous utilisons ou pour d’autres raisons opérationnelles, juridiques ou réglementaires. Veuillez consulter de nouveau cette politique relative aux cookies pour rester informé de notre utilisation des cookies et des technologies associées. La date en haut de cette politique relative aux cookies indique la dernière mise à jour.