50_API.md 1.6 KB

HTTP-API

Die Schnittstelle zwischen Client und Manage-Server, Protokoll v1. Wer den mitgelieferten Client übernimmt, braucht dieses Kapitel nicht – es ist für eigene Clients, für Debugging und für die Fehlersuche mit curl gedacht.

Basis-URL dieser Installation: {{BASE_URL}}/api/v1

Die vier Endpunkte

Methode Pfad Zweck
GET /manifest.php Welches Release soll installiert werden
GET /package.php?version=vX.Y.Z Das Release-ZIP
POST /backup.php Backup-Archiv hochladen (multipart/form-data)
POST /heartbeat.php Status melden, Update-Information erhalten

Jede Anfrage trägt zwei Header:

X-Manage-Instance: meinprojekt-prod
X-Manage-Token:    e4032c4dc51e9100…

Es gibt keine Sitzung, kein Cookie und kein gemeinsames Passwort. Der Server speichert nur den SHA-256-Hash des Tokens und vergleicht in konstanter Zeit.

Wo was steht

  • Beschreibung mit Beispielaufrufen, Fehlerfällen und den Regeln, an die sich ein eigener Client halten muss: 08_PROTOCOL.md.
  • Maschinenlesbar, als OpenAPI 3.1: <{{SELF_URL}}/openapi.php>. Enthält Schemata für alle Antworten, die Fehlercodes und die Muster für Version, Dateiname und Prüfsumme.
  • Zum Nachschlagen und Ausprobieren im Browser: Swagger UI. „Try it out“ spricht diese Installation an und braucht eine gültige Instanz samt Token.
  • Als Referenzimplementierung: manage-client/lib/client.php baut die Anfragen, lib/updater.php und lib/backup.php benutzen sie.