Shop anbinden: Shopify, WooCommerce oder eigene Schnittstelle

Verbinden Sie Ihren Online-Shop oder Ihre eigene Produkt-Schnittstelle, damit der Assistent Produktfragen mit aktuellen Preisen, Beständen und Varianten beantwortet.

Mit der Shop-Anbindung beantwortet Ihr Assistent Produktfragen ("Was kostet Produkt X?", "Ist Größe 42 in Blau vorrätig?") direkt mit aktuellen Daten aus Ihrem Shop — ohne dass Sie Preise oder Bestände zusätzlich in der Wissensbasis pflegen müssen. Neben Shopify und WooCommerce lässt sich auch eine selbst betriebene Produkt-Schnittstelle anbinden.

Die Shop-Anbindung ist ab dem Tarif Professional verfügbar.

Shop verbinden

  1. Öffnen Sie Wissensbasis Shop-Anbindung und wählen Sie Ihr Shop-System.
  2. Erzeugen Sie die Zugangsdaten einmalig in Ihrem eigenen Shop-Admin — Shopify: Einstellungen Apps und Vertriebskanäle Apps entwickeln Custom App erstellen Admin-API-Zugriffstoken kopieren. WooCommerce: WooCommerce Einstellungen Erweitert REST-API Schlüssel/App hinzufügen (Berechtigung „Lesen" genügt).
  3. Tragen Sie die Zugangsdaten in go33 ein und speichern Sie.

Die Zugangsdaten werden vor dem Speichern direkt gegen Ihren Shop getestet — bei einem Tippfehler erhalten Sie sofort eine Fehlermeldung, statt dass Kunden später eine leere Antwort erhalten.

Eigene Schnittstelle anbinden

Betreiben Sie Ihren Katalog nicht über Shopify oder WooCommerce, sondern über eine eigene Schnittstelle, wählen Sie unter Shop-System den Eintrag Eigene Shop-API. Sie beschreiben dort einmal, wohin die Suchanfrage geht und wo die Antwort welche Angabe enthält.

Anfrage

Tragen Sie die Adresse Ihrer Produktsuche ein und wählen Sie die Methode. Bei POST hinterlegen Sie zusätzlich eine Vorlage für den Anfragekörper, bei GET stehen die Platzhalter direkt in der Adresse. Zwei Platzhalter werden ersetzt:

PlatzhalterBedeutung
@queryDie Suchbegriffe aus der Kundenfrage. Füllwörter sind bereits entfernt: aus "Was kostet die Funkmaus M330?" wird "Funkmaus M330".
@limitWie viele Treffer der Assistent verwenden kann.

In der JSON-Vorlage gehören beide Platzhalter in Anführungszeichen. Steht ein Platzhalter allein im Feld, wird die Zahl als Zahl eingesetzt:

JSON
{
  "query": "@query",
  "count": "@limit"
}

Bei einer GET-Anfrage sieht dieselbe Angabe so aus: https://api.mein-shop.de/produkte?search=@query&limit=@limit. Fragt jemand allgemein nach dem Sortiment, ohne ein Produkt zu nennen, bleibt der Suchbegriff leer — der Parameter entfällt dann, statt leer mitgeschickt zu werden.

Unter Zusätzliche Header können Sie weitere Angaben mitschicken, etwa Accept-Language: de bei einem mehrsprachigen Katalog. Zugangsdaten gehören nicht dorthin, sondern in den Abschnitt Anmeldung: nur dort werden sie verschlüsselt gespeichert.

Anmeldung

Unterstützt werden ein fester Bearer-Token, ein API-Schlüssel in einem frei gewählten Header, Benutzername mit Passwort sowie OAuth2 im Verfahren client_credentials. Beim letzten Verfahren holt go33 den Token selbst und erneuert ihn rechtzeitig; Sie hinterlegen dafür Token-Adresse, Client-ID und Client-Secret. Das Geheimnis wird verschlüsselt gespeichert und nie wieder angezeigt — beim Bearbeiten der übrigen Angaben lassen Sie das Feld einfach leer, dann bleibt das gespeicherte Geheimnis bestehen. Wechseln Sie dagegen das Verfahren, tragen Sie es neu ein: ein Client-Secret ist kein Bearer-Token, und ein weiterverwendetes Geheimnis würde nur zu einer Fehlermeldung führen.

Für Kataloge hinter einem Keycloak gibt es zusätzlich das Verfahren Keycloak (Passwort und Merkmale). Es ist für Firmenkataloge gedacht, die je nach Standort oder Abteilung andere Artikel und Preise zeigen. go33 meldet sich dabei mit einem technischen Konto an und reicht anschließend die Merkmale des Kontos nach, etwa plant: 0110 oder country: DE. Erst diese Merkmale entscheiden, welchen Ausschnitt des Katalogs Ihre Schnittstelle herausgibt. Sie hinterlegen dafür Token-Adresse, Client-ID, Benutzername, Audience sowie zwei Geheimnisse: das Client-Secret und das Passwort des Kontos. Beide lassen sich einzeln ändern, ein leeres Feld behält das gespeicherte.

Alle Besucher im Chat sehen denselben Ausschnitt, nämlich den des hinterlegten Kontos. Unterscheiden sich Ihre Preise je Standort, wählen Sie das Konto entsprechend bewusst aus.

Feldzuordnung

Öffnen Sie eine Beispielantwort Ihrer Schnittstelle und tragen Sie ein, wo die einzelnen Angaben stehen. Ein Punkt führt in ein Objekt hinein, eckige Klammern in eine Liste. Für eine Antwort dieser Form

JSON
{
  "products": [
    {
      "utin": "1929203629186681322",
      "name": "Funkmaus M330",
      "price": { "min": 24.90, "currency": "EUR" },
      "medias": [{ "url": "https://cdn.mein-shop.de/m330.jpg" }],
      "offer_count": 3
    }
  ]
}

lauten die Angaben:

FeldEintrag
Liste der Produkteproducts
Produkt-IDutin
Namename
Preisprice.min
Währungprice.currency
Bildmedias[0].url
Verfügbarkeitoffer_count

Liefert Ihre Schnittstelle keine Adresse der Produktseite — im Beispiel ist das so —, hinterlegen Sie stattdessen eine Adress-Vorlage wie https://mein-shop.de/produkt/@id. Fehlt auch die Währung, greift der Wert aus Währung, falls nicht geliefert. Ein Feld, das Ihre Antwort nicht enthält, lassen Sie leer; ohne Angabe zur Verfügbarkeit gilt ein Produkt als verfügbar.

Die Schnittstelle muss öffentlich über https erreichbar sein. Adressen im internen Netz werden abgelehnt.

Probelauf

Ob Ihre Angaben stimmen, sehen Sie sofort: Unter Probelauf tippen Sie eine Frage ein, wie ein Kunde sie stellen würde, und go33 fragt damit Ihre Schnittstelle an. Sie erhalten die ersten fünf Treffer genau so, wie der Assistent sie liest, mit Bild, Name, Preis und Verfügbarkeit.

Drei Dinge sind dabei zu wissen:

  • Gesucht wird nicht Ihr ganzer Satz. Wie im echten Chat werden vorher die Füllwörter entfernt. Über der Trefferliste steht deshalb, was von Ihrer Frage übrig geblieben ist. Aus "Was kostet eine ergonomische Funkmaus?" wird "ergonomische Funkmaus".
  • Fehlende Angaben werden benannt. Kommt eine Angabe bei keinem einzigen Treffer an, erscheint ein Hinweis mit dem betroffenen Feld. Zusätzlich steht nach jedem Probelauf unter den Feldern der Feldzuordnung, welche davon Daten geliefert haben und welche in der Antwort nicht vorkamen. Sie müssen die Zuordnung dafür nicht mit der Trefferliste vergleichen. Fehlt eine Angabe nur bei einzelnen Produkten, ist das normal und wird nicht gemeldet, denn nicht jeder Artikel hat ein Bild.
  • Es wird nichts gespeichert. Der Probelauf nutzt die Angaben, die gerade im Formular stehen. Sie können also ausprobieren, korrigieren und erneut testen, ohne die bestehende Verbindung anzurühren. Auch vor dem allerersten Verbinden funktioniert er bereits. Lassen Sie die Felder für die Geheimnisse leer, verwendet der Probelauf die gespeicherten.

Antwortet Ihre Schnittstelle mit einem Fehler, benennt der Probelauf die Art des Fehlers und sagt Ihnen, wo Sie ihn beheben: eine abgelehnte Anmeldung, eine Antwort, die kein JSON war, oder gar keine Antwort innerhalb des Zeitlimits. Dazu stehen der Statuscode Ihres Systems, die Dauer, das Zeitlimit selbst und die Meldung im Wortlaut. Diese Meldung kommt von Ihrem eigenen System und nennt meist direkt die Ursache, etwa eine falsche Adresse oder Zugangsdaten, die der Katalog nicht annimmt.

Wie Produktfragen erkannt werden

Der Assistent liest jede Nachricht daraufhin, was der Kunde eigentlich will, und weiß dabei, was Sie eingerichtet haben: einen Shop, eine Terminbuchung, ein Formular. Fragt jemand nach einer Ware, sucht er live in Ihrem Shop und antwortet mit den gefundenen Daten statt mit einer Vermutung aus der Wissensbasis. Fragt jemand nach einem Termin, wird die Terminbuchung geöffnet und der Shop bleibt außen vor.

Dabei zählt der Sinn der Frage, nicht das einzelne Wort. „Habt ihr vielleicht Schränke für Akten?" sucht nach einem Aktenschrank, auch wenn keines dieser Wörter so im Katalog steht — Tippfehler und ungewöhnliche Formulierungen eingeschlossen. Und wonach gesucht wird, ist der Artikel selbst: Bei „Habt ihr Laptops für Studenten?" sucht der Assistent nach Laptops, denn kein Produktname enthält die Zielgruppe.

Ob Ihr Shop einen Artikel führt, entscheidet die Suche und nicht eine Vorannahme. Der Assistent behauptet deshalb nie von sich aus, etwas passe nicht zu Ihrem Unternehmen, wenn es in Ihrem Katalog steht.

Wie Treffer im Chat aussehen

Gefundene Produkte erscheinen als Karten unter der Antwort: Bild, Name, Preis und ein Link auf die Produktseite. Die Antwort selbst bleibt kurz und zählt die Produkte nicht noch einmal auf — die Angaben stehen ja auf den Karten, und zwar genau so, wie Ihr Shop sie geliefert hat.

Jede Angabe auf der Karte ist optional. Liefert Ihr Shop kein Bild, zeigen die Karten nur Text; fehlt die Adresse der Produktseite, entfällt der Link. Bei einer eigenen Schnittstelle entscheidet darüber die Feldzuordnung: Ohne zugeordnetes Bildfeld gibt es keine Bilder, ohne Adresse der Produktseite (oder eine Adress-Vorlage) keinen Link.

Die Bauart wählen Sie unter Kanäle Chat-Widget Produkte:

  • Karussell. Große Bilder, seitwärts geblättert. Für Ware, die man ansehen will. Über den Karten stehen die Trefferzahl und zwei Pfeile.
  • Liste. Zeilen untereinander mit kleinem Vorschaubild, Preise senkrecht vergleichbar. Für Technik und lange Produktnamen.

Beide Anzeigen nutzen dieselben Felder. Auf Bildschirmen unter 380 Pixel wechselt das Karussell selbst zur Liste, damit keine Karte angeschnitten bleibt.

Shopverbindung trennen

Über Wissensbasis Shop-Anbindung Trennen widerrufen Sie den Zugriff jederzeit. Der Assistent greift danach wieder ausschließlich auf Ihre Wissensbasis zurück.

Nächste Schritte