Zum Inhalt springen

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.

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.

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.

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.

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.

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.

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.

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.

  • 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
  • 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)