Chatbot in eine Webseite einbinden
Diese Seite richtet sich an Entwickler und beschreibt die technische Einbindung des Chatbots in eine eigene Webseite über das Skript chatbot.js. Sie finden alle hier beschriebenen Werte und Code-Schnipsel auch in der App in der Detailansicht des Chatbots unter Einbinden.
Das Einbettungs-Skript
Um den Chatbot zu integrieren, binden Sie ein einzelnes <script>-Tag in den HTML-Code Ihrer Webseite ein. Danach erscheint der Chatbot als rundes Symbol in der unteren rechten Ecke des Bildschirms.
Das Skript erzeugt eine schwebende Schaltfläche und lädt die Chat-Oberfläche in einem <iframe>. Es liest folgende Attribute:
data-token(erforderlich) – Identifiziert den Chatbot. Das Token wird automatisch erzeugt und auf der Seite Einbinden des jeweiligen Chatbots angezeigt. Es ist fest an diesen einen Chatbot gebunden.data-client(optional) – Ein signiertes Token mit Anmeldedaten, Kontext und Tools für angemeldete Besucher (siehe Anmeldedaten und Kontext übergeben).async– Empfohlen, damit das Skript das Laden Ihrer Seite nicht blockiert.
Aussehen und Position anpassen
Optional können Sie Aussehen und Position über CSS-Custom-Properties am :root-Element überschreiben. Das folgende Beispiel zeigt alle verfügbaren Eigenschaften mit ihren Standardwerten:
Eigenschaft | Bedeutung |
|---|---|
| Abstand der Schaltfläche (und des Fensters) vom unteren bzw. rechten Bildschirmrand. |
| Zusätzlicher Abstand nur für das geöffnete Chat-Fenster. |
| Skalierungsfaktor der Schaltfläche. |
| Eckenradius der Schaltfläche (Standard: rund). |
| Höhe und Breite der Schaltfläche. |
| Innenabstand der Schaltfläche. |
| Stapelreihenfolge (z-index) von Schaltfläche und Fenster. |
Anmeldedaten und Kontext übergeben
Für angemeldete Besucher können Sie dem Chatbot zusätzliche Informationen mitgeben: Name und E-Mail des Nutzers, freien Kontext für die KI sowie Tools, über die der Chatbot anwendungsspezifische Daten abrufen kann.
Diese Daten werden als JWT (JSON Web Token) mit folgender Payload-Struktur (TypeScript) kodiert. Aktuell sind nur Eigenschaften der Typen string, array, integer und boolean erlaubt:
Beispielkonfiguration:
Die Signierung erfolgt mit dem HMAC-Algorithmus. Das benötigte Geheimnis finden Sie auf der Seite Einbinden des Chatbots.
Das erzeugte Token übergeben Sie anschließend über das Attribut data-client:
Ändert sich das data-client-Attribut zur Laufzeit (z. B. beim An- oder Abmelden eines Nutzers), übernimmt der Chatbot die neuen Daten automatisch – ein Neuladen der Seite ist nicht erforderlich.
Tools bereitstellen
Über das Feld tools in den Client-Daten stellen Sie dem Chatbot Funktionen Ihrer Anwendung zur Verfügung. Möchte der Chatbot ein solches Tool ausführen, ruft er einen Callback auf, den Sie am window-Objekt hinterlegen:
Aus Sicherheitsgründen muss die Validierung des übergebenen JWT nicht im Browser, sondern auf einer sicheren Serverseite erfolgen. Validierung und Signierung erfolgen mit dem RSA256-Algorithmus. Die Antwort des Callbacks muss ebenfalls ein signiertes JWT sein. Beispiel für die serverseitige Implementierung in JavaScript:
Die dafür benötigten Schlüssel erzeugen Sie auf der Seite Einbinden über die Schaltfläche Generieren. Es entstehen zwei Schlüssel:
Öffentlicher Schlüssel – zur Validierung der Tool-Aufrufe des Chatbots (entspricht
publicKeyim Beispiel).Privater Schlüssel – zur Signierung Ihrer Tool-Antworten (entspricht
privateKeyim Beispiel).