Appearance
API Übersicht
Die WebKatalog API besteht aus drei Modulen, die über REST aufgerufen werden.
Architektur
mermaid
graph TB
subgraph "Client"
APP[Applikation / Webshop]
end
subgraph "WebKatalog API"
XCF[XCF<br/>Katalog]
OFML[OFML<br/>Artikel & Preise]
ODB[ODB<br/>3D Grafik]
end
subgraph "Daten"
OFML_DB[(OFML Daten)]
ODB_DB[(3D Modelle<br/>Texturen)]
end
APP -->|token| XCF
APP -->|token| OFML
APP -->|token| ODB
XCF --> OFML_DB
OFML --> OFML_DB
ODB --> ODB_DBModule
| Modul | Basis-URL | Beschreibung |
|---|---|---|
| XCF | /api/xcf.dll/xcf | Katalognavigation, Suche, Breadcrumbs, Ressourcen |
| OFML | /api/ofml.dll/ofml | Artikeldaten laden/ändern, Merkmale, Preise, Preview-Bilder |
| ODB | /api/odb.dll/odb | Gerenderte Bilder, Bauteillisten, Blöcke, Texturen |
Gemeinsame Parameter
Diese Parameter werden von allen Endpunkten verwendet:
| Parameter | Pflicht | Beschreibung |
|---|---|---|
token | Pflicht | Authentifizierungstoken |
profile | Optional | Server-Profil (derzeit nicht implementiert) |
Antwortformat
Alle API-Aufrufe geben im Erfolgsfall JSON zurück. Im Fehlerfall wird ein Fehler-JSON mit Statuscode und Meldung zurückgegeben (siehe Fehlerbehandlung).
Ausnahme: /articlesimage.jpg und Texturen — diese geben direkt das Bild/die Textur zurück und verwenden HTTP-Statuscodes für Fehler.
Datenflüsse
Artikel anzeigen
1. /getnodes → Katalog navigieren
2. /articles → Artikel laden (Merkmale, Preise, Reinitstring)
3. /articlesimage.jpg → Bild rendernArtikel konfigurieren
1. /articles (GET) → Artikel laden
2. /articles (POST) → Merkmal ändern
3. Antwort enthält neuen Reinitstring → Bild neu rendern3D-Darstellung
1. /btg → Bauteilliste holen (Hierarchie + Materialien)
2. /block/{name} → Einzelne Bauteile laden
3. /materials/{manu}/{name} → Texturen laden
4. → WebGL Rendering im Client