Schritt-für-Schritt-Tutorial Integrationen

Kundenkontext an KI-Chatbot für E-Commerce übergeben

Lass eine angemeldete Bestellseite die aktuelle Bestell-ID liefern, belege ihre Verwendung im Connector, ersetze sie beim Seitenwechsel und sichere das Muster ab.

Fortgeschritten28 Min. Lesezeit05. August 2026
Kundenkontext an KI-Chatbot für E-Commerce übergeben

Kundenkontext an einen KI-Chatbot übergeben heißt: Die Seite wählt den aktuellen Datensatz, während eine serverseitig autorisierte API die Quelle der Wahrheit bleibt.

Eine angemeldete Shopseite kennt Kunde und Bestellung bereits. Sitzungskontext übergibt wenige aktuelle Werte an den Assistenten, damit „Where is my order?“ ohne erneute Eingabe der Bestellnummer funktioniert.

Dieses Tutorial nutzt das fiktive Northstar-Orders-Portal, das echte WebChatAgent-Widget und einen kontrollierten DummyJSON-HTTP-Endpunkt. Die Seite liefert `order_id`; ein reiner Lese-Connector liefert fiktiven Status und ETA. Echte Kunden-, Shop-, Zahlungs- oder Zugangsdaten werden nicht verwendet.

Du belegst drei getrennte Zustände: ohne Kontext fragt der Bot nach der ID, mit `A-1023` nutzt der Connector diesen Wert automatisch und ein Laufzeit-Event ersetzt ihn vollständig durch `A-2048`. Außerdem vergleichst du Attribut, globale Variable, Event, WordPress und White-Label-Aliase.

Browser-Kontext verbessert die Bedienung, ist aber keine Authentifizierung. Produktiv begrenzt du erlaubte Domains und übergibst einen kurzlebigen opaque Token, den deine API serverseitig prüft.

Datenschutzfreundlicher Zwei-Klick-Player

Kundenkontext an KI-Chatbot übergeben

Kundenkontext an KI-Chatbot übergeben: Bestellkontext zur Laufzeit aktualisieren und sicher als geprüftes Argument im API Connector verwenden.

YouTube · 6:51 · Englisch

Der YouTube-Player bleibt bis zu deinem Klick gesperrt. Beim Laden verbindet sich dein Browser mit YouTube; dabei können technische Daten an Google übertragen werden.

Direkt auf YouTube öffnen

Das hast du am Ende eingerichtet

  • Eine geprüfte Baseline ohne Kontext
  • Ein `context-data`-Embed für die aktuelle Bestellung
  • Ein echtes Lese-Connector-Ergebnis für A-1023
  • Ein Laufzeitwechsel, der danach nur A-2048 nutzt
  • Umsetzungswege für JavaScript, WordPress und White Label
  • Eine Produktionscheckliste mit Domains, opaque Tokens und Serverprüfung

Das brauchst du

  • Ein nicht produktiver WebChatAgent-Assistent mit API-Connector-Zugriff
  • Eine englische Light-Mode-Testseite auf einer erlaubten Domain
  • Ein reiner Lese-Mock-Endpunkt mit fiktiven Daten
  • Zugriff auf Widget-Embed oder WordPress-Platzierung
  • Schriftliche Erwartungen für Baseline, ersten und ersetzten Kontext
  • Produktiv: ein Backend für kurzlebige opaque Tokens und deren Prüfung

Seitenkontext wählt den Datensatz; die API liefert die Wahrheit

Die einbettende Seite sendet einen flachen Schlüssel-Wert-Datensatz mit jeder Chat-Anfrage. Passende Schlüssel können Pflichtfelder eines API Connectors erfüllen, werden aber kein dauerhaftes Wissen. Für Status und ETA bleibt die echte HTTP-Response maßgeblich.

Ein `webchatagent:context`-Event ersetzt den vollständigen aktuellen Datensatz. So bleibt keine alte Bestell-ID neben einer neuen erhalten. Beim Abmelden wird der Kontext mit leerem Objekt oder `null` gelöscht.

Jeder Browserwert ist veränderbare Eingabe. Domain-Beschränkungen steuern den Ladeort; kurzlebige oder opaque Tokens plus serverseitige Autorisierung steuern die Freigabe privater Datensätze.

Seite liefert KontextConnector ruft API aufAPI prüft und antwortet

01–08

Schritt für Schritt einrichten

1

Reinen Lese-Connector für Bestellstatus anlegen

Kontextschlüssel und Connector-Pflichtfeld müssen exakt gleich heißen.

Lege den Connector auf einem eigenen TEST-Assistenten an. Nutze GET und `https://dummyjson.com/http/200/Order_{order_id}_is_in_transit_eta_August_8`. Erstelle genau ein Text-Pflichtfeld `order_id`; Platzhalter und Feldname müssen Zeichen für Zeichen übereinstimmen.

Der Tool-Prompt beschränkt den Aufruf auf die fiktive Statusfrage, übernimmt die aktuelle `order_id` aus dem Besucherkontext und gibt nur ID, Status und ETA aus. Der Endpunkt ist ein öffentlicher Mock, keine Shop-Integration. Produktive Tokens oder Kundendaten gehören nie in den Prompt.

  • Methode: nur GET
  • Pflichtfeld: `order_id`
  • Daten: fiktiver DummyJSON-Mock
Kontextschlüssel und Connector-Pflichtfeld müssen exakt gleich heißen.
2

Baseline ohne Kontext aufzeichnen

Der Assistent muss nach der ID fragen und darf keinen Status erfinden.

Binde das Widget ohne `context-data` ein, starte ein frisches Gespräch und frage exakt: „Where is my order?“ Obwohl das Portal A-1023 zeigt, liest das Widget nicht beliebigen Seitentext und muss nach der Bestell-ID fragen.

Stoppe, wenn bereits A-1023, „in transit“ oder August 8 erscheint. Das spricht für alten Gesprächszustand, Prompt-Daten oder unsicheres Raten. Lösche Gespräch und Browser-Kontext vor dem nächsten Versuch.

Der Assistent muss nach der ID fragen und darf keinen Status erfinden.
3

A-1023 mit context-data übergeben

Nutze einen kleinen flachen Datensatz mit nur aktuell benötigten Werten.

Ergänze auf einer serverseitig gerenderten Seite `context-data="Customer=Jane Doe;order_id=A-1023;locale=en-US"` am Element `<web-chat-agent>`. Unterstützt werden Semikolon-Paare oder ein flaches JSON-Objekt.

Der normalisierte Datensatz erlaubt maximal 20 Schlüssel, 64 Zeichen je Schlüssel, 500 je Wert und insgesamt 4.000 serialisierte Zeichen. Nutze stabile Maschinenschlüssel wie `order_id`, keine Secrets und nur nötige Anzeigewerte.

Nutze einen kleinen flachen Datensatz mit nur aktuell benötigten Werten.
4

Belegen, dass A-1023 den Connector erreicht

Dieselbe Frage liefert nun den Status ohne erneute ID-Abfrage.

Starte ein neues Gespräch mit Kontext und wiederhole „Where is my order?“. Der Assistent übernimmt A-1023 als Pflichtargument `order_id`, ruft den GET-Endpunkt auf und nennt für die fiktive Bestellung „in transit“ sowie ETA August 8.

Der Nachweis kombiniert Embed mit A-1023, Connector-URL mit `{order_id}` und die echte Mock-Response mit A-1023 plus Status. Der Kontext wählt den Datensatz; die Response liefert den Status.

Dieselbe Frage liefert nun den Status ohne erneute ID-Abfrage.
5

Kontext nach Login oder Navigation ersetzen

Das Laufzeit-Event ersetzt den gesamten Datensatz bei geöffnetem Widget.

Beim Wechsel zu A-2048 sendest du `new CustomEvent('webchatagent:context', { detail: { Customer: 'Jane Doe', order_id: 'A-2048', locale: 'en-US' } })`. Die Seite und die autorisierte Sitzung müssen bereits denselben neuen Datensatz meinen.

Das Event ersetzt bewusst: nicht enthaltene Schlüssel verschwinden. Beim Logout sendest du ein leeres Objekt oder `null`. Vermische alte Kunden- und Bestellwerte nur, wenn dieses Verhalten ausdrücklich gefordert und getestet ist.

Das Laufzeit-Event ersetzt den gesamten Datensatz bei geöffnetem Widget.
6

Prüfen, dass danach nur A-2048 verwendet wird

Der nächste Connector-Aufruf darf die alte ID aus dem Chatverlauf nicht verwenden.

Lass das Widget geöffnet und frage: „What is the status of the order now shown on this page?“ Die nächste Antwort muss A-2048 und den Mock-Status enthalten und darf A-1023 nicht nennen.

Speichere den Dreischritt als Regressionstest: fehlender Kontext, erster Kontext und Laufzeitersetzung. Wiederhole ihn nach Änderungen an Connector, System Prompt, Modell, Widget oder Host-Anwendung und dokumentiere Frage, Kontext, Toolargument, Response und Zeit.

Der nächste Connector-Aufruf darf die alte ID aus dem Chatverlauf nicht verwenden.
7

Attribut, globale Variable, Event oder Plattformweg wählen

Alle unterstützten Wege normalisieren zum gleichen aktuellen Besucherkontext.

Nutze das HTML-Attribut für serverseitige Werte, `window.webchatagentContext` vor dem asynchronen Widget-Skript für JavaScript-Initialisierung und `webchatagent:context` für Login-, Konto-, Warenkorb-, Produkt- oder Routenwechsel nach dem Laden.

In WordPress nutzt du den Filter `webchatagent_context_data` für zentral erzeugte Werte oder `[webchatagent_inline context-data="order_id=A-1023"]` für Inline-Platzierung. White-Label-Kunden verwenden `window.chatWidgetContext` und `chat-widget:context` mit derselben Ersetzungslogik.

Alle unterstützten Wege normalisieren zum gleichen aktuellen Besucherkontext.
8

Produktiven Abruf absichern

Browser-Kontext ist veränderbare Eingabe und nie Identitätsnachweis.

Begrenze `allowedDomains` auf exakte Produktions- und Staging-Hosts. Eine Kundenbezeichnung, E-Mail oder Bestellnummer im Kontext darf keinen Abruf autorisieren, denn Besucher können jeden Browserwert in DevTools ändern.

Lass dein Backend einen kurzlebigen opaque Token für die angemeldete Sitzung erstellen, übergib nur diesen als Kontext und rufe einen minimal berechtigten Lese-Endpunkt auf. Dieser prüft Token, Kundenzuordnung, Ablauf und Umfang serverseitig und liefert nur ID, Status und ETA. Beim Logout wird der Token ungültig.

Browser-Kontext ist veränderbare Eingabe und nie Identitätsnachweis.

Beispiel & Ergebnis

So sieht der echte Praxistest aus

Jedes Tutorial nennt eine feste Eingabe, das erwartete Ergebnis und transparent, was im lokalen Test tatsächlich verifiziert wurde.

Praxisbeispiel: Kundenkontext an einen KI-Chatbot für Bestellstatus übergeben

Dieses konkrete Szenario wurde mit dem temporären Tutorial-Konto vollständig ausgeführt.

End-to-End geprüft

Konkrete Testeingabe

Frage zuerst ohne Kontext und danach mit `order_id=A-1023`: „Where is my order?“ Sende im gleichen Widget anschließend `webchatagent:context` mit `order_id=A-2048` und frage nach der nun angezeigten Bestellung.

Erwartetes Ergebnis

Ohne Kontext fragt der Assistent nach der Bestell-ID. Mit Kontext nutzt der Connector A-1023 und liefert „in transit“ mit ETA August 8. Nach der Ersetzung verwendet die nächste Antwort A-2048 und nennt A-1023 nicht.

Tatsächlich geprüft

Der isolierte English-Light-Mode-Lauf bestand alle drei Zustände gegen den kontrollierten DummyJSON-Mock. Die Baseline fragte nach der fehlenden ID; der erste Kontext lieferte A-1023, „in transit“ und August 8; die Laufzeitersetzung lieferte A-2048 ohne A-1023 in der neuesten Antwort. Der Connector verlangte `order_id`; das Cleanup meldete exakt 0 Tutorial-Nutzer.

Der isolierte English-Light-Mode-Lauf bestand alle drei Zustände gegen den kontrollierten DummyJSON-Mock. Die Baseline fragte nach der fehlenden ID; der erste Kontext lieferte A-1023, „in transit“ und August 8; die Laufzeitersetzung lieferte A-2048 ohne A-1023 in der neuesten Antwort. Der Connector verlangte `order_id`; das Cleanup meldete exakt 0 Tutorial-Nutzer.

Tipps & Tricks

So wird die Einrichtung zuverlässig

Teste mit realistischen Beispielen, dokumentiere deine Ausgangswerte und ändere jeweils nur eine Einstellung. So erkennst du, was die Qualität tatsächlich verbessert.

Schlüssel auf Seite und Connector stabil halten

Nutze überall einen dokumentierten Maschinennamen wie `order_id`. Schon abweichende Schreibweise oder Großschreibung verhindert die automatische Übernahme.

Komfort und Autorisierung trennen

Kontext kann auswählen, was der Besucher betrachtet. Nur dein Backend entscheidet, was die angemeldete Person lesen oder ändern darf.

Kontext beim Logout löschen

Sende vor der nächsten Nutzung ein leeres Objekt oder null und starte bei Kontowechsel ein neues Gespräch.

Wenn etwas nicht klappt

Fehlerbehebung

Prüfe Status, Berechtigungen und Testdaten systematisch, bevor du Modell oder Prompt wechselst.

Der Bot fragt weiterhin nach der Bestell-ID

Prüfe gerendertes `context-data`, exakte Schreibweise `order_id`, Skript-Reihenfolge und erlaubte Domain. Starte ein frisches Gespräch, damit die alte Baseline den Vergleich nicht verfälscht.

Der Connector erhält die alte Bestellung

Prüfe, dass das Laufzeit-Event nach dem Seitenwechsel den vollständigen Detail-Datensatz ersetzt. Sichtbare Karte und Event-Payload müssen beide A-2048 enthalten.

Der Assistent nennt einen Status ohne Tool-Ergebnis

Stoppe den Rollout. Verschärfe die Systemrolle, halte Status aus Kontext und Prompt heraus und verlange den Lese-Connector für jede Statusantwort.

Private Bestelldaten erscheinen nach Änderung des Browserwerts

Behandle dies als Autorisierungsfehler. Entferne direkten ID-Zugriff, verlange einen kurzlebigen servergeprüften Token, rotiere betroffene Zugangsdaten und prüfe die Endpunkt-Logs.

Bereit für den Praxistest

Nutze das veröffentlichte Video als Anleitung. Ersetze produktiv den Mock durch einen Lese-Endpunkt mit geprüftem opaque Sitzungstoken, wiederhole alle drei Kontextzustände und ergänze sie im Release-Regressionstest.

Weiterführende Ressourcen