Allgemeines

Die BUZZ Schnittstelle ist eine Nachrichten-orientierte API zum Verbinden von unterschiedlichen Webseiten sowie nativen Anwendungen wie beispielsweise Apps in Electron, Android oder iOS. Über die Schnittstelle können beispielsweise Konfiguratoren oder Produkt-Auswahlhilfen (z. B. OXOMI) in Webshops integriert werden. Weiterhin kann ein Shop direkt mit einem Handwerker-ERP Daten austauschen.

Der Nachrichten-orientierte Ansatz gewährt eine konsistente und sichere API zwischen allen Plattformen. Über die BUZZ Bibliothek können mehrere „Links”, also Punkt-zu-Punkt Verbindungen definiert werden. Dies ist vor allem dann sinnvoll, wenn ein Shop-System sowohl mit einem Handwerker-ERP kommunizieren möchte als auch selbst Konfiguratoren oder andere Auswahl-Hilfen einbinden möchte.

Verwendung

Die BUZZ Schnittstelle ist standardmäßig im neuen OXOMI Frontend (Version 2.0) eingebunden (/assets/frontend/v2/oxomi.js). Sie bietet eine Vielzahl von Funktionen an und ist, sobald OXOMI eingebunden wurde, über das buzz Objekt verfügbar. Diese Funktionen werden capabilities genannt. Die unterstützten capabilities ermöglichen einfache und asynchrone Kommunikation - sowohl zwischen Anwendungen im Browser, als auch mit nativen Anwendungen oder Apps, welche entsprechende Callbacks im Browser hinterlegen.

Um auf die BUZZ Nachrichten der einzelnen capabilities reagieren zu können, muss zunächst ein Link mithilfe eines BUZZ-Connector erstellt werden. Dieser Link wird anschließend verwendet, um die einzelnen capabilities zu registrieren. Die Registrierung erfolgt über die addCapability Methode des BUZZ-Connector. Die Methode erwartet zwei Parameter: Den Namen der capability und eine Callback-Funktion, welche ausgeführt wird, sobald eine Nachricht mit der entsprechenden capability empfangen wurde. Die Callback-Funktion erhält als Parameter die Nachricht, welche an die entsprechenden capability versandt wurde.

Standardmäßig nutzt OXOMI den Haupt-Link für die Kommunikation. Falls Sie jedoch Buzz noch für andere Anwendungszwecke integrieren, können Sie beim Aufruf von oxomi.init einen alternativen Link angeben.

Das folgende Beispiel zeigt, wie ein Link erstellt und eine capability registriert wird:

// Wir warten bis die OXOMI JavaScript Bibliothek geladen ist...
document.addEventListener('oxomi-loaded', function oxomi_ready() {
    const shop = new buzz.Connector({
        name: 'MyShop', // Geben Sie hier einen beschreibenden Namen für Ihr System an. Dient v.a. der Fehleranalyse.
        link: 'oxomi' // optional - wenn angegeben, muss dies dem buzzLink Parameter in oxomi.init entsprechen.
});

// Capability registrieren...
shop.addCapability('...', function (message) {
    // Hier wird der Code ausgeführt, sobald eine Nachricht für die entsprechenden capability empfangen wurde.
});

// Initialisierung von OXOMI
oxomi.init({
    portal: 'SHOP',
    buzzLink: 'oxomi', // optional - wenn angegeben, muss dies dem link Parameter in buzz.Connector entsprechen.
    ...
});
Liste der BUZZ Capabilities

Die folgende Tabelle enthält eine Liste der BUZZ Capabilities, welche durch OXOMI aufgerufen werden, sofern diese registriert wurden. Die Registrierung erfolgt mithilfe von addCapability. Die Tabelle enthält eine kurze Beschreibung für jede Capability sowie einen Link zur detaillierten Dokumentation.

Capability Beschreibung Link
enhanceUserData Erlaubt es, die Kontaktdaten des aktuellen Benutzers zu erweitern oder zu überschreiben.
fetchPaperclipData Ermöglicht das Vorbefüllen des Paperclip-Dialogs mit eigenen Daten. Diese können anschließend vom Benutzer bearbeitet und ergänzt werden.
enhanceProductData Hiermit können die Daten eines Produktes erweitert werden. Insbesondere können Preis und Verfügbarkeit angezeigt werden.
addProductToBasket Hiermit werden Produkte in den Warenkorb gelegt.
fetchProductData Hiermit können die Daten eines Produktes abgerufen werden.
jumpToProduct Hiermit kann eine zusätzliche Schaltfläche zum direkt springen zu einem Produkt hinzugefügt werden.
provideJumpToProductLabel Hiermit wird die Bezeichnung der Schaltfläche für jumpToProduct festgelegt.
See also
Enthält die Grundlagen zum Thema Javascript Integration.
Enthält Informationen über die Integration von Dokumenten.
Beschreibt, wie die Anreicherung von Produktdaten mittels Infoplay funktioniert.