Content- und API-Vertrag
Die öffentliche App konsumiert zwei CMS-Ressourcen:
GET /api/cms/categories
GET /api/cms/storiesDer App-Proxy überträgt erlaubte Query-Parameter an Strapi, setzt den
Publikationsstatus aber selbst. Andere Ressourcen liefern 404.
Kategorievertrag
Die App benötigt je Kategorie insbesondere:
documentId- lokalisierter
label rank- optionales Icon
- Parent- und Child-Beziehungen
- TTS-Jobs für den Titel
Storyvertrag
Die App benötigt je Story insbesondere:
documentId- lokalisierter
label rank- Kategoriebeziehung
- optionales Icon
- geordnete Text-, Link- oder Video-Slides
- TTS-Jobs für Titel und Textfelder
Stabilitätsregeln
documentIdist die sprachübergreifende fachliche Identität.- Beziehungen werden in derselben Locale aufgelöst.
rankbestimmt die sichtbare Reihenfolge.- Medien-URLs können vom API-Origin abweichen.
- Draft-Daten benötigen authentifizierten serverseitigen Zugriff.
- Neue Slide-Typen erfordern abgestimmte Änderungen in CMS-Schema, App-Mapping, Rendering, Tests und Dokumentation.
Die derzeitigen TTS-Verwaltungsrouten sind technisch getrennt von der öffentlichen Content API. Ihre Absicherung ist eine bekannte, priorisierte Aufgabe; sie dürfen nicht als öffentliche Integrationsschnittstelle behandelt werden.