Öffentliche read-only API

API Dokumentation

Die Repository-API kann für eigene Updateprüfungen, Deployment-Skripte, Monitoring oder die Einbindung von CW-Modulen und Projektvorlagen genutzt werden.

Nur öffentliche Lesefunktionen. Veröffentlichen, Installieren und Verwalten bleiben geschützt im Releaser-Backend. Die öffentlichen Endpunkte unterstützen CORS für eigene browserbasierte Integrationen.

Schnellstart

Alle Endpunkte sind öffentlich und read-only. JSON-Antworten sind UTF-8-kodiert. Für Paketdownloads werden die im Katalog gelieferten download_url- und checksum_url-Werte verwendet.

Service-Index mit curl

curl -fsSL https://cw.teitges.de/api/v1/service.php

Modulkatalog mit curl

curl -fsSL 'https://cw.teitges.de/api/v1/modules/catalog.php?channel=stable'

Komplette Changelogs mit curl

curl -fsSL 'https://cw.teitges.de/api/v1/releases/changelog.php?channel=all'
curl -fsSL 'https://cw.teitges.de/api/v1/modules/changelog.php?module=glossary&channel=all'
curl -fsSL 'https://cw.teitges.de/api/v1/templates/changelog.php?template=cw-demo-site&channel=all'

Updateprüfung mit PHP

<?php
$url = 'https://cw.teitges.de/api/v1/latest.php?product=cw-control-watch&version=3.0.0&channel=stable';
$json = file_get_contents($url);
$data = json_decode($json, true, 512, JSON_THROW_ON_ERROR);

if (!empty($data['update_available'])) {
    echo 'Update verfügbar: ' . $data['next_version'];
}

Browser / JavaScript

const response = await fetch('https://cw.teitges.de/api/v1/modules/catalog.php?channel=stable');
const catalog = await response.json();
console.log(catalog.modules);

Service-Index

Gibt die wichtigsten öffentlichen URLs des Release-Servers zurück und eignet sich als Einstiegspunkt für eigene Integrationen.

GEThttps://cw.teitges.de/api/v1/service.php

Die frühere JSON-Ansicht der Startseite bleibt zusätzlich über /?format=json erreichbar.

Health

Prüft, ob Release-Index, Storage und grundlegende Serverfunktionen verfügbar sind.

GEThttps://cw.teitges.de/api/v1/health.php

HTTP 200 bedeutet betriebsbereit, HTTP 503 signalisiert einen Fehler im Release-Service.

CW Releases

Liefert alle veröffentlichten CW-Releases eines Kanals inklusive Paketvarianten, Release Notes und Download-URLs. Die Antwort enthält zusätzlich changelog_url und public_changelog_url.

GEThttps://cw.teitges.de/api/v1/releases.php?channel=stable

Parameter

channel: stable oder ein auf dem Server vorhandener Release-Kanal.

Komplettes CW-Changelog

Liefert die vollständige veröffentlichte Versionshistorie des CW-Core inklusive Release Notes und aller öffentlichen Paketvarianten.

GEThttps://cw.teitges.de/api/v1/releases/changelog.php?channel=all

Parameter

channel: optional all (Standard) oder ein vorhandener Release-Kanal wie stable.

Antwort

Enthält release_count, erstes und letztes Release, latest_version sowie die komplette Liste der Releases mit Release Notes und Paketvarianten.

Updateprüfung

Ermittelt ausgehend von einer installierten Version die Updatekette bis zur aktuellsten freigegebenen Version.

GEThttps://cw.teitges.de/api/v1/latest.php?product=cw-control-watch&version=3.0.0&channel=stable

Parameter

product: cw-control-watch
version: aktuell installierte CW-Version
channel: gewünschter Release-Kanal

Für eine reine manuelle Wiederherstellung muss keine Updatekette nachgebaut werden: Auf der öffentlichen Downloadseite stehen freigegebene Fullsource-, Update- und Reparaturpakete direkt bereit.

Modulkatalog

Liefert die jeweils aktuelle freigegebene Version aller Module inklusive Anforderungen, Release Notes, SHA-256, Download-URL sowie Icon- und Cover-URLs.

GEThttps://cw.teitges.de/api/v1/modules/catalog.php?channel=stable

Optionale Parameter

channel: stable, preview oder all
cw_version: lokale CW-Version
php_version: lokale PHP-Version

Presentation Assets

GEThttps://cw.teitges.de/api/v1/modules/asset.php?package=<package-id>&kind=icon
GEThttps://cw.teitges.de/api/v1/modules/asset.php?package=<package-id>&kind=cover

Komplettes Modul-Changelog

Liefert die vollständige veröffentlichte Versionshistorie eines einzelnen Moduls. Das ist für das CW-Backend gedacht, damit dort Release-Historie, Release Notes, Datum, Prüfsumme und Download-Links ohne HTML-Scraping angezeigt werden können.

GEThttps://cw.teitges.de/api/v1/modules/changelog.php?module=glossary&channel=all

Parameter

module: Modulkennung, z. B. glossary oder environment
channel: optional all (Standard), stable oder preview

Antwort

Enthält unter anderem release_count, first_release_at, last_release_at, latest_version und das Array releases. Jeder Release-Eintrag enthält Version, Kanal, Datum, Mindestanforderungen, vollständige release_notes, SHA-256 sowie Download- und Prüfsummen-URL.

Im Modulkatalog besitzt jedes Modul zusätzlich changelog_url und public_changelog_url. Das CW-Backend muss die API-URL also nicht selbst zusammensetzen.

Projektvorlagen / Templates

Liefert den öffentlichen Vorlagenkatalog inklusive benötigter Module, Preview, Version, Prüfsumme und Download-URL.

GEThttps://cw.teitges.de/api/v1/templates/catalog.php?channel=stable

Optionale Parameter

channel: stable, preview oder all
cw_version: lokale CW-Version
php_version: lokale PHP-Version

Komplettes Template-Changelog

Liefert die vollständige veröffentlichte Versionshistorie einer Projektvorlage inklusive Release Notes, Anforderungen, SHA-256 und Download-Links.

GEThttps://cw.teitges.de/api/v1/templates/changelog.php?template=cw-demo-site&channel=all

Parameter

template: Template-Kennung, z. B. cw-demo-site
channel: optional all (Standard), stable oder preview

Im Template-Katalog besitzt jede Vorlage zusätzlich changelog_url und public_changelog_url.

Downloads & SHA-256

Die Kataloge liefern fertige Download-URLs. Anwendungen sollten diese URLs verwenden, statt Paketpfade selbst zusammenzubauen.

GEThttps://cw.teitges.de/lastversion/ → neuester veröffentlichter Fullsource
GEThttps://cw.teitges.de/lastversion/info/ → Metadaten zum neuesten Fullsource
GEThttps://cw.teitges.de/download.php?package=<package-id>
GEThttps://cw.teitges.de/module-download.php?package=<package-id>
GEThttps://cw.teitges.de/template-download.php?package=<package-id>

Die jeweilige Prüfsumme ist über die im Katalog gelieferte checksum_url verfügbar. Technisch wird dazu &type=checksum verwendet.

Für automatisierte Installationen sollte die heruntergeladene Datei immer gegen den veröffentlichten SHA-256-Wert geprüft werden.

CORS & Cache

Die öffentlichen JSON-Endpunkte sind per GET erreichbar und beantworten CORS-Preflights per OPTIONS. Paket- und Fullsource-Downloads unterstützen zusätzlich HEAD. Es werden keine Admin-Cookies oder Zugangsdaten über diese Schnittstellen benötigt.

Assets und Pakete können Cache-Header und ETags verwenden. Automatisierungen sollten deshalb normale HTTP-Cachemechanismen respektieren und unnötige Polling-Frequenzen vermeiden.