API & Integration
Ein PIM entfaltet seinen Wert erst im Zusammenspiel mit den übrigen Systemen – ERP, Shop, DAM, Marktplätze. buzzle ist deshalb von Grund auf als offenes, integrierbares System konzipiert. Dieser Abschnitt richtet sich an externe Entwicklerinnen und Entwickler, die buzzle in eine bestehende Systemlandschaft einbinden oder darauf aufbauen möchten. Er gibt einen konzeptionellen Überblick – die konkreten Endpunkte und Felder stimmst du mit deinem Ansprechpartner bei bambit ab.
Architektur im Überblick
Abschnitt betitelt „Architektur im Überblick“buzzle besteht aus zwei Hauptkomponenten:
- Backend – eine Anwendung auf Basis von .NET / C#, die eine REST-API bereitstellt, Geschäftslogik kapselt und Daten verwaltet. Ergänzt wird sie durch eine Elasticsearch-gestützte Suche und eine Workflow-Engine für Automatisierung.
- Frontend – eine Vue 3 Single-Page-Application. Sie wird zusätzlich als
wiederverwendbares npm-Paket (
buzzle-pim) bereitgestellt und lässt sich so in bestehende Web-Oberflächen einbetten.
Die Kommunikation zwischen Frontend und Backend läuft vollständig über die REST-API. Echtzeit-Ereignisse – etwa Job-Fortschritt oder Benachrichtigungen – werden zusätzlich über eine WebSocket-Verbindung (SignalR) ausgeliefert.
Im Hintergrund kombiniert buzzle mehrere Datenspeicher: SQL Server für Strukturen und Konfiguration, MongoDB für die Business-Object-Inhalte, Elasticsearch für die Suche und optional Redis als verteilten Cache. Details und die vollständige Konfiguration findest du unter Installation & Betrieb.
REST-API
Abschnitt betitelt „REST-API“Die Funktionalität von buzzle ist über REST-Endpunkte zugänglich, die einem
einheitlichen Muster folgen (typischerweise unter api/<bereich>). Praktisch jede
Domäne ist über die API ansprechbar, darunter:
- Business Objects, Familien und Attribute
- Preise, Preislisten und Price-Chain-Berechnungen
- Channels, Übersetzungen und Referenzdaten
- Suche und Filter (inkl. Export anhand von Filterkriterien)
- Benutzer, Rollen und Berechtigungen
Daten werden als JSON ausgetauscht. Komplexe, strukturierte Werte – etwa die Attributwerte eines Business Objects – werden dabei als JSON-Strukturen transportiert.
Interaktive API-Dokumentation (Swagger / OpenAPI)
Abschnitt betitelt „Interaktive API-Dokumentation (Swagger / OpenAPI)“Jede laufende buzzle-Instanz stellt eine Swagger-/OpenAPI-Oberfläche bereit, über
die sich alle Endpunkte erkunden und direkt ausprobieren lassen. Sie ist unter dem Pfad
/swagger erreichbar (in einer lokalen Entwicklungsinstanz z. B.
https://localhost:7235/swagger/index.html). Dort sind Parameter, Request- und
Response-Schemata sowie die Authentifizierung per Bearer-Token dokumentiert – die
verbindliche, stets aktuelle Referenz für die Integration.
Für eine eigene, in diese Dokumentation eingebettete API-Referenz lässt sich das OpenAPI-Schema zusätzlich als Datei exportieren und automatisiert einbinden.
Authentifizierung
Abschnitt betitelt „Authentifizierung“Der Zugang zur API erfolgt über zwei Mechanismen:
- Benutzer-Login mit Token – über einen Login-Endpunkt erhältst du ein Zugriffstoken (JWT), das den nachfolgenden Anfragen mitgegeben wird. Ein Refresh-Token-Mechanismus erneuert abgelaufene Token, ohne dass eine erneute Anmeldung nötig ist.
- API-Keys – für System-zu-System-Integrationen lassen sich API-Keys ausstellen. Sie eignen sich für automatisierte Zugriffe, etwa durch angebundene Systeme oder Skripte.
Berechtigungen
Abschnitt betitelt „Berechtigungen“buzzle verfügt über ein feingranulares Berechtigungssystem. Zugriffsrechte werden über Rollen, Scopes und Sicherheitsdefinitionen gesteuert. So lässt sich genau festlegen, welche Benutzer und welche Integrationen welche Daten sehen und verändern dürfen. Details unter Benutzer, Rollen & Rechte.
Integration über Connectors
Abschnitt betitelt „Integration über Connectors“Für die Datenanbindung an Quellsysteme musst du nicht zwingend direkt gegen die API programmieren. Über Data Pots & Connectors bindet buzzle externe Datenquellen strukturiert an – mit konfigurierbaren Import-Workflows und Mapping-Profilen. Für viele Integrationsszenarien ist das der schnellere und robustere Weg als eine Punkt-zu-Punkt-Anbindung.
Erweiterbarkeit
Abschnitt betitelt „Erweiterbarkeit“Das Frontend ist als Komponentenbibliothek aufgebaut und lässt sich in eigene Anwendungen integrieren. Das Backend ist modular nach Features organisiert, sodass sich Funktionalität gezielt erweitern lässt. Sprich mit bambit, wenn du buzzle an spezifische Anforderungen anpassen oder erweitern möchten.
Dein Nutzen
Abschnitt betitelt „Dein Nutzen“- Saubere Integration in ERP, Shop und weitere Systeme
- Zwei Zugangswege – interaktiv per Login oder automatisiert per API-Key
- Sicher durch feingranulare Scopes und Berechtigungen
- Erweiterbar über modulare Architektur und Komponentenbibliothek
Das Wichtigste in Kürze
Abschnitt betitelt „Das Wichtigste in Kürze“- REST-API als zentrale Schnittstelle, Datenaustausch über JSON
- Authentifizierung per JWT-Login (mit Refresh-Token) oder API-Key
- Feingranulare Berechtigungen über Rollen, Scopes und Sicherheitsdefinitionen
- Echtzeit-Events über SignalR
- Connectors & Mapping-Profile als robuster Integrationsweg
- .NET-Backend und Vue-3-Frontend (auch als npm-Paket)