v2 — Letzte Bereitstellung: 29. Oktober 2026
Apps — bannerMedia
GET appsGET apps/{slug}
Wenn bannerMedia gesetzt ist, wird der Block mit dem ersten Bild aus description und contentSections entfernt, auch bei einem anderen Bannerbild. Bei jeder Synchronisierung angewendet; WordPress-Inhalte bleiben erhalten. Ohne Banner unverändert. Apps erneut synchronisieren und lokale Inhalte ersetzen. V1 unverändert.
Dokumente nur für WordPress
GET productsGET products/{slug}GET solutionsGET solutions/{slug}GET servicesGET services/{slug}
Dokumente mit der Klasse api-hidden werden bei der V2-Synchronisierung ausgeschlossen. Sie bleiben in WordPress verfügbar. Keine neuen JSON-Felder. Nach der Bereitstellung erneut synchronisieren und lokale documents-Arrays ersetzen. V1 bleibt unverändert.
Vollständige App-Auszüge
GET appsGET apps/{slug}
App-Auszüge (subtitle) sind nicht mehr auf 255 Zeichen begrenzt. Das Feld bleibt Klartext ohne HTML. Kompatibel mit dem bestehenden Vertrag; Apps erneut synchronisieren, um vollständige Texte abzurufen. V1 unverändert.
Videos in App-Inhalten
GET appsGET apps/{slug}
ACF-Video-Shortcodes werden in description und contentSections an ihrer Position als YouTube- oder Vimeo-HTML-Player ausgegeben. Das Array videos bleibt unverändert. Zeilen mit api-hidden bleiben ausgeschlossen. Nach Veröffentlichung Inhalte erneut synchronisieren und Player-Iframes im Client zulassen. V1 unverändert.
Inhalte nur für WordPress
GET appsGET apps/{slug}GET servicesGET services/{slug}GET solutionsGET solutions/{slug}GET productsGET products/{slug}GET categoriesGET categories/{slug}
HTML- oder WPBakery-Elemente mit der Klasse api-hidden und ihre untergeordneten Inhalte werden aus Beschreibungen und strukturierten Abschnitten des V2-Katalogs entfernt. WordPress bleibt unverändert. Keine neuen JSON-Felder; eine vollständige Synchronisierung entfernt diese Inhalte aus lokalen Kopien. V1 unverändert.
Produktpreise entfernt
GET productsGET products/{slug}GET apps/{slug}GET solutions/{slug}GET services/{slug}
Das Feld price (bisher Betrag/Währung oder null) entfällt auch bei verknüpften Produkten. Der Filter price entfällt; Auswahlen werden ignoriert. Inkompatible V2-Änderung: Preiszugriffe, Anzeigen und Filter entfernen; vollständige Synchronisierung zum Löschen gespeicherter Preise ausführen. V1 unverändert.
Optionaler zweiter Button
GET page/{slug}
Zweiter Button im Karten-HTML data.content: eigene Beschriftung und URL, beide erforderlich. Klasse api-sync-button--secondary. Bestehende Karten bleiben kompatibel, kein neues JSON-Feld; Stil bei Bedarf anpassen.
Produktserie
GET productsGET products/{slug}
Kompatible Ergänzung von series in Produktlisten und Produktdetails: { label, slug, order } oder null ohne Serie. Bezeichnung und Slug entsprechen der Produktsprache. series.order ist die Position des Produkts innerhalb seiner Serie, unabhängig von der allgemeinen Reihenfolge; ohne Angabe gilt null. Bestehende Felder bleiben unverändert. Keine Migration erforderlich; null vor Verwendung berücksichtigen.
Links zu neu erstellten Seiten
GET menusGET menu/{slug}
Ein Menüeintrag zu einer aktiven Seite bleibt sichtbar, wenn diese mit dem Slug einer gelöschten Seite neu erstellt wurde. Gelöschte oder nicht autorisierte Ziele bleiben ausgeblendet. Kompatible Korrektur mit und ohne lang, ohne Änderung des JSON-Formats.
Quelle des Kategorie-Banners
GET categoriesGET categories/{slug}
bannerImage verwendet jetzt „Bannière Sheet Category“ (banner-sheet-category) statt „Bannière Product Sheet“ (category_image). Kein Rückgriff auf das alte Feld: Ein fehlender Wert oder ein ungültiges Bild ergibt null. JSON-Name und Format bleiben in Listen, Details und Unterkategorien unverändert; primaryMedia bleibt unabhängig. Bestehende Banner vor der nächsten Synchronisierung in das neue Feld übernehmen.
Collection-Slugs in Menüs
GET menu/{slug}
Menüziele vom Typ collection enthalten jetzt slug mit demselben Wert wie collection (apps, solutions oder services). Mit und ohne lang verfügbar, in items[].target oder den nach Sprache gruppierten Einträgen. Kompatible Erweiterung in v2; andere Zieltypen bleiben unverändert.
Bilder für Links
GET apps/{slug}
Jeder Eintrag in links enthält jetzt media: ein Medienobjekt im Format von primaryMedia oder null, wenn dem Link kein gültiges Bild zugeordnet ist. Bild und Metadaten stammen aus dem Datensatz der angeforderten Sprache, ohne Rückgriff auf eine andere Sprache. Bestehende Felder bleiben erhalten; kompatible Erweiterung nur in v2. App-Listen bleiben unverändert.
Beitragsbilder der Seiten
GET pagesGET page/{slug}
Das WordPress-Beitragsbild wird in Seitenlisten und Seitendetails als bannerMedia im Medienformat des Katalogs ausgegeben. null, wenn kein gültiges Bild hinterlegt ist. Seiten erhalten kein Attribut primaryMedia. Die Metadaten stammen vom Bild der jeweiligen Sprachversion, ohne Rückgriff auf eine andere Sprache. Kompatible Ergänzung nur in v2.
Headerbilder für Kategorien
GET categoriesGET categories/{slug}
Kategorien enthalten bannerImage, ein Medienobjekt im gleichen Format wie primaryMedia, aus dem Feld „Category image“ des Headers. Verfügbar in Listen, Details und Unterkategorien; null, wenn kein gültiges Bild hinterlegt ist. Das Vorschaubild primaryMedia bleibt unabhängig. Kein Rückgriff auf eine andere Sprache. Abwärtskompatible Ergänzung nur in v2.
Migration von v1 zu v2 — Auswirkungen für Verbraucher
GET productsGET products/{slug}GET categoriesGET categories/{slug}GET appsGET apps/{slug}GET solutionsGET solutions/{slug}GET servicesGET services/{slug}GET pagesGET page/{slug}GET menusGET menu/{slug}
Bei direktem API-Zugriff mit einer Lizenz für die benötigten Gruppen und Unterstützung zusätzlicher JSON-Felder genügt im Wesentlichen der Wechsel von /api/ zu /api/v2/. Beispiel: /api/products?lang=fr wird zu /api/v2/products?lang=fr.
**Unverändert:** Lizenz-Token, Authentifizierung (Authorization: Bearer oder x-api-token), Sprachparameter, Filter, Paginierung und vorhandene Felder. Die Nutzung von groups, groupsByLanguage und bannerMedia ist optional; Clients, die unbekannte JSON-Eigenschaften ablehnen, müssen ihr Schema anpassen.
**Zugängliche Inhalte:** v2 berücksichtigt die freigegebenen Lizenzgruppen. Bestehende Lizenzen erhielten alle bei der Migration verfügbaren Gruppen; spätere Gruppen werden nicht automatisch freigegeben. Ohne freigegebene Gruppe sind Listen leer und Details liefern 404. Alte technische Tokens ohne Lizenz mit Gruppen erlauben keinen v2-Katalogzugriff.
**Lokaler Katalog:** zunächst vollständig mit v2 synchronisieren, ohne delta oder syncUntil aus v1 zu übernehmen. Den lokalen Katalog durch das vollständige freigegebene Ergebnis ersetzen und anschließend den neuen v2-Wert syncUntil verwenden. Bei 410 ist eine neue vollständige Synchronisierung erforderlich, insbesondere nach Änderungen der Lizenzgruppen. Dies entfällt bei direktem API-Zugriff ohne lokale Kopie.
V1 bleibt unter /api/* verfügbar; es gibt keine automatische Migration oder Weiterleitung.
Gruppen in Antworten
GET productsGET products/{slug}GET categoriesGET categories/{slug}GET appsGET apps/{slug}GET solutionsGET solutions/{slug}GET servicesGET services/{slug}GET pagesGET page/{slug}GET menusGET menu/{slug}
Listen- und Detailressourcen enthalten jetzt groups: alle zugewiesenen Gruppen-Slugs (Beispiel: ["standard", "BSD"]). [] bedeutet Inhalt ohne Gruppe. Dies sind Inhaltsgruppen, keine Token-Berechtigungen; die Filterung bleibt unverändert. Identifizierte strukturierte Verweise werden ebenfalls ergänzt. Menüs ohne lang liefern groupsByLanguage; data bleibt erhalten. Delta-Löschungen bleiben unverändert. Kompatible Ergänzung nur für v2; gespeicherte Daten durch vollständiges Einlesen ergänzen.
Gruppenbasierter Zugriff
GET productsGET products/{slug}GET categoriesGET categories/{slug}GET appsGET apps/{slug}GET solutionsGET solutions/{slug}GET servicesGET services/{slug}GET pagesGET page/{slug}GET menusGET menu/{slug}
V2-Inhalte werden nach den für das Token freigegebenen Gruppen gefiltert. Bei mehreren Inhaltsgruppen genügt eine Übereinstimmung. Inhalte ohne Gruppe bleiben für Tokens mit mindestens einer gültigen Gruppe zugänglich. Tokens ohne Gruppen liefern keine Inhalte: leere Listen und Status 404 für Details.
Bestehende Lizenzen erhalten bei der Migration alle verfügbaren Gruppen. Künftige Gruppen werden nicht automatisch hinzugefügt. Gruppen werden beim Erstellen oder Bearbeiten einer Lizenz im Dashboard ausgewählt. Eine neue Lizenz ohne Auswahl hat keinen v2-Zugriff.
Die Filterung umfasst auch verknüpfte Inhalte, Menüs, Zähler, Facetten und Seitennavigation. Generierte Kataloglinks verwenden v2-Routen. Verlässt ein Inhalt die erlaubten Gruppen, meldet die inkrementelle Synchronisierung eine Löschung.
Führen Sie für diese Änderung und nach Änderungen an den Lizenzgruppen eine vollständige Synchronisierung durch und ersetzen Sie die bisherigen lokalen Daten. Eine inkompatible inkrementelle Anfrage liefert 410 und erfordert eine neue vollständige Synchronisierung. V1 bleibt unverändert.
Neues Feld bannerMedia
GET productsGET products/{slug}GET solutionsGET solutions/{slug}GET servicesGET services/{slug}GET appsGET apps/{slug}
Das Feld bannerMedia ist in den Listen und den über den Slug abgerufenen Detailansichten von Produkten, Lösungen, Dienstleistungen und Apps verfügbar. Es enthält das Bannerbild im selben Format wie primaryMedia oder null, wenn für die angeforderte Sprache kein Banner hinterlegt ist.