Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Schnittstelle

Diese Schnittstelle, welche mit der Version 9.0.8 eingeführt wurde, liefert eine zentrale Übersicht über die auf dem Server verfügbaren Ressourcen je Mandant. Neben allgemeinen Serverinformationen (Name, Version, Stage) enthält die Antwort strukturierte Listen zu Formularen, Global Components, Datapools und Code-Listen inklusive Links und CRC32-Hashes zur schnellen Änderungs- und Integritätsprüfung. 

Hinweis (Voraussetzung):

Bevor dieser Endpoint genutzt werden kann, muss sich der Benutzer zuerst über unseren Autorisierungs-Endpoint authentifizieren. Details siehe: Autorisierung.

GET /server/info/ressource

Liefert Server-Infos sowie eine Übersicht der Ressourcen pro Mandant (Formulare, Global Components, Datapools, Code-Listen) inklusive Hashes (CRC32) zur Change Detection / Cache-Invalidierung.

Berechtigungslogik (wichtig)

  • Normaler Mandant-User: bekommt nur Informationen zu seinem eigenen Mandanten (auch wenn mandant-ids gesetzt ist).

  • System-Mandant-User: kann mehrere Mandanten abfragen und bekommt dann die jeweiligen Informationen zurück.

Query Parameter

mandant-ids (optional)

Typ: string (Comma-separated list)
Beispiel: SHOWCASE,MY-MANDANT

Verhalten:

  • Wenn nicht gesetzt:

    • Normaler User → nur eigener Mandant

    • System-Mandant-User → alle Mandanten

  • Wenn gesetzt:

    • System-Mandant-User → genau diese Mandanten (sofern existent)

    • Normaler User → trotzdem nur eigener Mandant (Parameter wird ignoriert)

Response 200 application/json

Die Response besteht aus zwei Hauptbereichen:

  • serverInformation: Metadaten zur Instanz (Name, Link, Version, Stage) sowie ein serverCrc32Hash zur schnellen Erkennung, ob sich serverrelevante Informationen geändert haben (z.B. neues Deployment).

  • mandantResources[]: Liste der Ressourcen pro Mandant. Abhaengig von Berechtigung und Query-Parameter (mandant-ids) enthaelt diese Liste entweder nur den eigenen Mandanten oder mehrere/alle Mandanten.

Innerhalb eines Mandanten (mandantResources[i]) sind die Ressourcen in vier Kategorien gruppiert:

  1. formResources[]
    Enthält Formulare inklusive Status (active), Zeitstempel (lastUpdate), Gruppierung (group), Links zur aktiven Ressource (activeResourceLink, baseResourceLink) sowie Versionshistorie (formVersions[]).
    Pro Formular steht zusätzlich ein crc32Hash zur Verifikation/Cache-Invalidierung auf Formularebene zur Verfügung.

  2. globalComponents[]
    Wiederverwendbare Komponenten (z.B. globale Bausteine). Der Block reference zeigt, wo die Komponente verwendet wird (Form- und Component-Referenzen). Auch hier gibt es einen crc32Hash pro Komponente.

  3. datapoolResources[]
    Datapools inkl. Aktiv-Flag und Gruppierung. previewLink ist ein Key/Value-Objekt (flexibel erweiterbar), das z.B. mandant- oder systemabhängige Preview-URLs enthalten kann.

  4. codeListResources[]
    Code-Listen mit key, resourceLink, lastUpdate und crc32Hash.

Zusätzlich enthält der Mandant-Block aggregierte CRC32-Hashes:

  • mandantCrc32Hash: Hash über den gesamten Mandant-Block

  • formsCrc32Hash, globalsCrc32Hash, codesCrc32Hash: Hashes je Ressourcentyp

JSON-SCHEMA 

{
  "serverInformation": {
    "serverName": "string",
    "serverLink": "string",
    "version": "string",
    "stage": "string",
    "serverCrc32Hash": "string"
  },
  "mandantResources": [
    {
      "mandantId": "string",
      "formResources": [
        {
          "id": "string",
          "name": "string",
          "lastUpdate": "string",
          "active": true,
          "group": "string",
          "activeVersion": "string",
          "activeResourceLink": "string",
          "baseResourceLink": "string",
          "formVersions": [
            {
              "version": "string",
              "uuid": "string"
            }
          ],
          "formLink": "string",
          "expirationDate": "string",
          "crc32Hash": "string"
        }
      ],
      "globalComponents": [
        {
          "id": "string",
          "category": "string",
          "refId": "string",
          "componentType": "string",
          "lastUpdate": "string",
          "resourceLink": "string",
          "reference": {
            "formReferences": [
              "string"
            ],
            "componentReferences": [
              "string"
            ]
          },
          "crc32Hash": "string"
        }
      ],
      "datapoolResources": [
        {
          "name": "string",
          "lastUpdate": "string",
          "active": true,
          "guid": "string",
          "group": "string",
          "previewLink": {
            "additionalProp1": "string",
            "additionalProp2": "string",
            "additionalProp3": "string"
          }
        }
      ],
      "codeListResources": [
        {
          "name": "string",
          "key": "string",
          "lastUpdate": "string",
          "resourceLink": "string",
          "crc32Hash": "string"
        }
      ],
      "mandantCrc32Hash": "string",
      "formsCrc32Hash": "string",
      "globalsCrc32Hash": "string",
      "codesCrc32Hash": "string"
    }
  ]
}


  • Keine Stichwörter