Zum Hauptinhalt springen
API

Lebenszyklus

Die API basiert auf einem einzigen, sich weiterentwickelnden GraphQL-Endpunkt. Diese Architektur stellt sicher, dass neue Funktionen und Leistungsverbesserungen fortlaufend bereitgestellt werden, ohne dass eine Migration zwischen API-Versionen erforderlich ist.

Diese Seite beschreibt die verschiedenen Stabilitätsstufen der API, die Stabilitätsgarantien der stabilen API, die Arten von Änderungen (Breaking vs. Non-Breaking) und wie Verwerfungen gehandhabt werden. Informationen zu Funktionen in der Vorschau finden Sie unter experimentelle Funktionen.

Funktions-Lebenszyklus

Jede Funktion befindet sich auf einer von drei Stabilitätsstufen: Alpha, Beta oder Stabil. Die meisten Funktionen durchlaufen sie der Reihe nach, und stabile Funktionen können nur über einen Verwerfungsprozess eingestellt werden.

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

Stabile API

Stabile Funktionen bilden den produktionsreifen Kern der API. Änderungen werden in zwei Kategorien eingeteilt: Non-Breaking und Breaking.

Non-Breaking Changes

Abwärtskompatible Ergänzungen, die bestehende Integrationen nicht stören. Sie werden fortlaufend ohne Vorankündigung oder Verwerfung veröffentlicht.

Zu den Non-Breaking Changes gehören:

  • Hinzufügen einer neuen Query, Mutation oder Subscription.
  • Hinzufügen eines neuen optionalen Eingabearguments zu einer bestehenden Operation.
  • Hinzufügen eines neuen Arguments mit einem Standardwert, der das bestehende Verhalten beibehält.
  • Hinzufügen eines neuen Felds zur Ausgabe einer bestehenden Operation.
  • Ändern eines erforderlichen Eingabearguments zu optional.
  • Hinzufügen eines neuen Werts zu einem bestehenden Enum-Typ.

Auf Non-Breaking Changes vorbereiten

Non-Breaking Changes können dennoch Clients beeinträchtigen, die starre Annahmen treffen. So bleiben Integrationen robust:

  • Vermeiden Sie strikte Objekt-Deserialisierung, die fehlschlägt, wenn zusätzliche Eigenschaften in Payloads auftauchen.
  • GraphQL-enum-Typen sind nicht abschließend und wachsen im Lauf der Zeit. Implementieren Sie in der Client-Logik immer einen Standardfall als Fallback.
  • Prüfen Sie die Werte von extensions.exception.code bei Fehlern, statt gegen für Menschen lesbare Fehlertexte zu vergleichen.

Breaking Changes und Verwerfungen

Ein Breaking Change kann aktive bestehende Integrationen beeinträchtigen. Daher muss jeder Breaking Change zunächst einen 12-monatigen Verwerfungsprozess durchlaufen.

Zu den Breaking Changes gehören:

  • Entfernen oder Umbenennen einer bestehenden Query, Mutation, Subscription, eines Felds oder eines Eingabearguments.
  • Entfernen oder Umbenennen von Enum-Werten.
  • Ändern des Datentyps eines bestehenden Felds oder Eingabearguments.
  • Hinzufügen eines neuen erforderlichen Eingabearguments.
  • Ändern eines optionalen Eingabearguments zu erforderlich.
  • Ändern der Geschäftslogik oder des Verhaltens eines bestehenden Felds.
  • Ändern eines Ausgabefelds von nicht nullable (!) zu nullable.
  • Ändern des Standardwerts eines Eingabearguments oder Felds.
  • Ändern von Pagination-Standardwerten, maximalen Seitengrößen oder der dokumentierten Sortierreihenfolge.

Verwerfungszeitplan

Wenn ein Breaking Change das Entfernen oder Ersetzen einer stabilen Funktion erfordert, folgt er einem strikten Zeitplan in drei Phasen:

  1. Ankündigung der VerwerfungDie Funktion wird im GraphQL-Schema mit der Direktive @deprecated gekennzeichnet. Falls zutreffend, wird ein Migrationspfad bereitgestellt. Die Verwerfung und das jeweilige Entfernungsdatum werden gleichzeitig über drei Überwachungskanäle angekündigt.
  2. Aktive Hinweisphase (Monate 1–12)Die verworfene Funktion bleibt voll funktionsfähig. Wenn ein Migrationspfad bereitgestellt wird, sollten Integratoren ihre Anwendungen in diesem 12-monatigen Zeitraum aktualisieren und die neuen Felder übernehmen.
  3. Endgültiges EntfernenZum Entfernungsdatum wird die Funktion endgültig entfernt. Alle folgenden Anfragen, die die Funktion verwenden, schlagen bei der Schemavalidierung mit einem GraphQL-Fehler fehl.

Verwerfungen nachverfolgen

Erkennen und verfolgen Sie bevorstehende Einstellungen über drei Kanäle:

  • Prüfen Sie @deprecated(reason: "...")-Direktiven in Ihren Schema-Tools.
  • Sehen Sie sich Sunset-Daten und Migrationsleitfäden im Legacy-Bereich der API oder im Verwerfungsportal an.
  • Beobachten Sie DEPRECATED_FEATURE-Warnungen, die direkt in API-Antworten zurückgegeben werden.
Antwortbeispiel
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."      }    ]  }}

War dieser Inhalt hilfreich?

Entwickler

Chargetrip ©

Cookies verwalten

Gültig ab: 20. März 2024 · Aktualisiert: 1. September 2026

Wir verwenden Cookies, um Ihre Erfahrung auf developers.chargetrip.com zu verbessern. Diese Cookie-Richtlinie ist Teil der Datenschutzerklärung und regelt die Verwendung von Cookies zwischen Ihrem Gerät und unserer Website. Außerdem geben wir grundlegende Informationen zu Diensten von Drittanbietern, die wir möglicherweise einsetzen und die im Rahmen ihres Dienstes ebenfalls Cookies verwenden können, obwohl sie nicht von unserer Richtlinie abgedeckt sind.

Wenn Sie keine Cookies von uns akzeptieren möchten, sollten Sie Ihren Browser anweisen, Cookies von developers.chargetrip.com abzulehnen. Bitte beachten Sie, dass wir Ihnen dann möglicherweise einige der gewünschten Inhalte und Dienste nicht bereitstellen können.

Ein Cookie ist eine kleine Datei, die eine Website beim Besuch auf Ihrem Gerät speichert. Sie enthält in der Regel Informationen über die Website selbst, eine eindeutige Kennung, anhand derer die Website Ihren Webbrowser bei Ihrer Rückkehr wiedererkennt, zusätzliche Daten, die dem Zweck des Cookies dienen, sowie die Lebensdauer des Cookies.

Cookies werden verwendet, um bestimmte Funktionen zu ermöglichen (z. B. die Anmeldung), die Nutzung der Website zu verfolgen (z. B. Analysen), Ihre Benutzereinstellungen zu speichern (z. B. Zeitzone, Benachrichtigungseinstellungen) und Ihre Inhalte zu personalisieren (z. B. Werbung, Sprache).

Cookies, die von der besuchten Website gesetzt werden, bezeichnet man üblicherweise als „Erstanbieter-Cookies“, und sie verfolgen in der Regel nur Ihre Aktivität auf dieser bestimmten Website. Cookies, die von anderen Websites und Unternehmen (d. h. Drittanbietern) gesetzt werden, können verwendet werden, um Sie auf anderen Websites zu verfolgen, die denselben Drittanbieterdienst nutzen.

Essenzielle Cookies

Cookies, die von der besuchten Website gesetzt werden, bezeichnet man üblicherweise als „Erstanbieter-Cookies“, und sie verfolgen in der Regel nur Ihre Aktivität auf dieser bestimmten Website. Cookies, die von anderen Websites und Unternehmen (d. h. Drittanbietern) gesetzt werden, können verwendet werden, um Sie auf anderen Websites zu verfolgen, die denselben Drittanbieterdienst nutzen.

Leistungs-Cookies

Targeting-/Werbe-Cookies werden verwendet, um zu bestimmen, welche Werbeinhalte für Sie und Ihre Interessen relevanter und passender sind. Websites können sie einsetzen, um gezielte Werbung auszuliefern oder die Häufigkeit zu begrenzen, mit der Sie eine Anzeige sehen. Das hilft Unternehmen, die Wirksamkeit ihrer Kampagnen und die Qualität der Ihnen angezeigten Inhalte zu verbessern. Diese Cookies können von der besuchten Website (Erstanbieter) oder von Drittanbieterdiensten gesetzt werden. Von Dritten gesetzte Targeting-/Werbe-Cookies können verwendet werden, um Sie auf anderen Websites zu verfolgen, die denselben Drittanbieterdienst nutzen. Wir verwenden Targeting-/Werbe-Cookies auf unserer Website.

Marketing-/Werbe-Cookies

Targeting-/Werbe-Cookies werden verwendet, um zu bestimmen, welche Werbeinhalte für Sie und Ihre Interessen relevanter und passender sind. Websites können sie einsetzen, um gezielte Werbung auszuliefern oder die Häufigkeit zu begrenzen, mit der Sie eine Anzeige sehen. Das hilft Unternehmen, die Wirksamkeit ihrer Kampagnen und die Qualität der Ihnen angezeigten Inhalte zu verbessern. Diese Cookies können von der besuchten Website (Erstanbieter) oder von Drittanbieterdiensten gesetzt werden. Von Dritten gesetzte Targeting-/Werbe-Cookies können verwendet werden, um Sie auf anderen Websites zu verfolgen, die denselben Drittanbieterdienst nutzen. Wir verwenden Targeting-/Werbe-Cookies auf unserer Website.

Versprechen zu Drittanbietern

Wir prüfen die Datenschutzrichtlinien aller unserer Drittanbieter, bevor wir deren Dienste in Anspruch nehmen, um sicherzustellen, dass deren Praktiken mit unseren übereinstimmen. Wir werden niemals wissentlich Drittanbieterdienste einbinden, die die Privatsphäre unserer Nutzer gefährden oder verletzen.

Cookie
google-cookie-consent
Beschreibung
Speichert Ihre Cookie-Einstellungen, also welche Kategorien Sie akzeptiert oder abgelehnt haben, damit wir Ihre Wahl bei jedem Besuch respektieren und nur die Analyse- oder Marketing-Tools laden, die Sie zugelassen haben.
Lebensdauer
2 Jahre

So können Sie Cookies kontrollieren oder ablehnen

Wenn Sie keine Cookies von uns akzeptieren möchten, können Sie Ihren Browser anweisen, Cookies von unserer Website abzulehnen. Die meisten Browser sind standardmäßig so konfiguriert, dass sie Cookies akzeptieren, aber Sie können diese Einstellungen ändern, um Cookies entweder komplett abzulehnen oder sich benachrichtigen zu lassen, wenn eine Website versucht, ein Cookie zu setzen.

Wenn Sie Websites von mehreren Geräten aus aufrufen, müssen Sie Ihre Einstellungen möglicherweise auf jedem Gerät einzeln anpassen.

Obwohl sich einige Cookies mit geringen Auswirkungen auf die Nutzung einer Website blockieren lassen, kann das Blockieren aller Cookies dazu führen, dass Sie auf bestimmte Funktionen und Inhalte der von Ihnen besuchten Websites nicht zugreifen können.

Wir können diese Cookie-Richtlinie von Zeit zu Zeit aktualisieren, um beispielsweise Änderungen an den von uns verwendeten Cookies oder andere betriebliche, rechtliche oder regulatorische Gründe widerzuspiegeln. Bitte rufen Sie diese Cookie-Richtlinie erneut auf, um sich über unsere Verwendung von Cookies und verwandten Technologien auf dem Laufenden zu halten. Das Datum am Anfang dieser Cookie-Richtlinie gibt an, wann sie zuletzt aktualisiert wurde.