CDA (Content Delivery API)

Zuletzt aktualisiert: 3. Juli 2026

Die CDA (Content Delivery API) ist eine schreibgeschützte API, die veröffentlichte Content- und Media-Ressourcen sowie weitere Inhalte an Besucher ausliefert. Wenn die Seite, die einen Space betreibt, Inhalte über das Content-Studio oder die CMA erstellt und veröffentlicht, lesen Website und App diese Veröffentlichung über die CDA und zeigen sie auf dem Bildschirm an. Für das Erstellen, Bearbeiten und Veröffentlichen ist nicht die CDA, sondern die CMA zuständig.

Die Basis-URL lautet https://cda.weegloo.com/v1. Für die Authentifizierung wird in der Regel ein DeliveryAccessToken nach dem Least-Privilege-Prinzip verwendet. Das ist ein Token, der nur den benötigten Umfang besitzt, damit die Auslieferung an öffentliche Browser sicher bleibt. Das Lesen ist auch mit einem Weegloo-User-Bearer-Token möglich, doch dieser ist für die Browser-Verteilung überprivilegiert, weshalb ein DeliveryAccessToken empfohlen wird.

Gemeinsames Verhalten

Das Folgende gilt für alle CDA-Ressourcen. Jede Ressourcenseite setzt dieses Verhalten voraus und behandelt nur ihre eigenen spezifischen Inhalte.

  • Schreibgeschützt. Alle Endpunkte sind Abfragen (GET). Schreiben und Veröffentlichen fallen in den Zuständigkeitsbereich der CMA.

  • Nur Veröffentlichtes ist sichtbar. Von Content, Media und Content Type wird nur der veröffentlichte Snapshot ausgeliefert. Draft-Stände oder unveröffentlichte Änderungen aus der CMA erscheinen nicht in der CDA.

  • Veröffentlichungs-Snapshot sys. Das sys der drei genannten Ressourcen enthält kein verwaltungsbezogenes version, status oder publish, sondern nur revision, das auf die zum Veröffentlichungszeitpunkt freigegebene Version verweist. (Locale ist keine zu veröffentlichende, sondern eine Konfigurationsressource und behält daher sein version.)

  • Sprachauswahl über locale. Bei Abfragen von Content und Media legt der Query-Parameter locale fest, in welcher Sprache die Daten zurückgegeben werden. Es gibt drei Verhaltensweisen.

    • Wird ein Code wie locale=ko-KR angegeben, werden die fields als ein einzelner Wert dieser Locale zurückgegeben (keine Locale-Map). Gibt es keinen Wert und greift auch kein Fallback, ist das Feld leer oder null.
    • Wird er weggelassen, erfolgt die Rückgabe auf dieselbe Weise mit der Standard-Locale des Space.
    • Wird locale=* angegeben, wird nicht eine einzelne Sprache ausgewählt, sondern eine Map mit allen Locale-Werten ({ apiName: { locale: value } }) unverändert zurückgegeben.

    In den ersten beiden Fällen, in denen eine einzelne Sprache zurückgegeben wird, enthält die Antwort den Header x-weegloo-locale, der die tatsächlich verwendete Locale angibt (bei locale=* wird er nicht mitgeliefert). (Content Type ist das Schema der Vorlage und nimmt daher kein locale entgegen; Sync wählt keine Sprache aus, sondern liefert die Locale-Map unverändert aus.)

  • Autorenangabe. Die Felder createdBy und updatedBy eines Content werden nur dann ausgeliefert, wenn publishWithAuthor des zugehörigen Content Type aktiviert ist. Bei Media werden die Autoreninformationen stets weggelassen.

Ressourcen

  • Content Type: Fragt veröffentlichte Content Type-Ressourcen ab (die Vorlage und Felddefinition des Inhalts).
  • Content: Fragt veröffentlichten Content als Gesamtliste, einzeln oder nach Content Type ab.
  • Media: Fragt veröffentlichte Media (Dateiassets) und deren Auslieferungs-URLs ab.
  • Locale: Fragt die vom Space unterstützten Spracheinstellungen ab (code, Standardkennzeichnung und fallbackCode). Da es sich um eine Konfigurationsressource handelt, besitzt sie ein version im sys.
  • Sync: Eine inkrementelle Synchronisierung, die nur das abruft, was sich seit der letzten Synchronisierung geändert hat oder gelöscht wurde. Die Werte werden als Locale-Map unverändert ausgeliefert, ohne dass eine einzelne Sprache ausgewählt wird.
  • CMA Content Type: Die Management-API zum Erstellen, Bearbeiten und Veröffentlichen der Inhaltsvorlage und der Inhalte.
  • ACDA: Die Variante, die dieselbe Auslieferung mit der Identität eines Mitglieds (ServiceUser) durchführt.