Integration in eine Webseite
Der Website-Messenger von Bubble Chat lässt sich einfach und schnell auf jeder Webseite einbinden. Die Integration erfolgt über ein Script-Tag und erfordert keine komplexen Setup-Schritte.
Zwei Integrationsvarianten für die Anzeige
Grundsätzlich gibt es zwei Arten, wie der Chat auf einer Webseite angezeigt und geöffnet werden kann:
-
Standard-Variante mit FAB (Floating Action Button): Der Messenger blendet unten auf der Webseite ein Chat-Icon ein. Klickt der Benutzer auf diesen Button, öffnet sich das Chatfenster.
-
Gesteuerte Variante durch die Webseite: Die Webseite übernimmt selbst die Steuerung, wann das Chatfenster angezeigt wird. So kann z. B. ein eigenes Eingabefeld wie "Frage unsere KI ..." verwendet werden. Sendet der Benutzer das Formular ab, kann die Webseite das Chatfenster öffnen und die eingegebene Frage direkt an den Chatbot übergeben.
Für diese zweite Variante nutzt der Webseitenersteller die JavaScript API von Bubble Chat. Typischerweise wird der FAB dabei mit data-fab-visible="false" ausgeblendet und der Chat über API-Aufrufe gesteuert.
Script-Tag Integration
Die Integration des Chatbots erfolgt durch das Einbinden eines Script-Tags im HTML-Code deiner Webseite:
<script
id="chatbot"
data-server="https://my-chatbot.bubble-chat.ch"
data-expand-at-start="all"
data-link-handling="default"
defer
src="https://my-chatbot.bubble-chat.ch/webclient/embed/bundle.js"
></script>
Wichtiger Sicherheitshinweis
Damit die Integration funktioniert, muss die Domain deiner Webseite in der Server-seitigen Konfiguration unter allowedEmbedOrigins hinterlegt sein. Kontaktiere dein Bubble Chat Team, um deine Domain freizuschalten.
Konfigurationsattribute
data-server (erforderlich)
Die vollständige URL zum Chatbot-Server.
Beispiel:
data-server="https://my-chatbot.bubble-chat.ch"
Query-Parameter
Beim data-server können Query-Parameter angegeben werden, um dem Chatbot bei der Integration zusätzliche Informationen mitzuteilen:
data-server="https://my-chatbot.bubble-chat.ch?systemId=123&userRole=editor"
Hinweis: Die Query-Parameter userId und sessionId sind nicht erlaubt und werden ignoriert.
data-expand-at-start (optional)
Steuert, ob das Chatfenster beim Laden der Seite automatisch geöffnet werden soll. Die Option berücksichtigt dabei das verwendete Endgerät.
Mögliche Werte:
"all"- Das Chatfenster wird auf allen Geräten automatisch geöffnet"desktop"- Das Chatfenster wird nur auf Desktop-Geräten (≥ 768px Bildschirmbreite) automatisch geöffnet"mobile"- Das Chatfenster wird nur auf mobilen Geräten (< 768px Bildschirmbreite) automatisch geöffnet- nicht gesetzt (Standard) - Das Chatfenster bleibt geschlossen
Beispiel:
data-expand-at-start="desktop"
Wichtig: Das Chatfenster wird nur automatisch geöffnet, wenn der Benutzer es nicht zuvor explizit geschlossen hat. Der Fensterstatus wird in einem Cookie (bubble-chat-window-state) für 8 Stunden gespeichert.
data-fab-visible (optional)
Steuert, ob der FAB (Floating Action Button) angezeigt wird.
Mögliche Werte:
"true"(Standard) - Der FAB wird angezeigt"false"- Der FAB wird ausgeblendet
Wenn der FAB ausgeblendet ist, bleibt der Messenger weiterhin vollständig funktionsfähig und kann über die JavaScript API gesteuert werden (z. B. mit openChatWindow()).
Beispiel:
data-fab-visible="false"
data-link-handling (optional)
Steuert, wie Links im Chatbot geöffnet werden.
Mögliche Werte:
"default"(Standard) - Links der gleichen Domain werden im selben Tab geöffnet, Links einer anderen Domain in einem neuen Tab"existing-tab"- Alle Links werden im selben Tab geöffnet"new-tab"- Alle Links werden in einem neuen Tab geöffnet
Beispiel:
data-link-handling="new-tab"
Design-Anpassung
Das Aussehen des Website-Messengers kann individuell angepasst werden, um perfekt zur Corporate Identity deiner Webseite zu passen. Alle Informationen zu CSS-Anpassungen, Farben, Logos und weiteren Design-Optionen findest du im Kapitel Design-Anpassung.
JavaScript API
Der Webclient bietet eine JavaScript API, über welche der Chat programmatisch gesteuert werden kann. Alle API-Funktionen stehen über den Namespace chatbot zur Verfügung.
Verfügbare Funktionen
openChatWindow()
Öffnet das Chat-Fenster.
Beispiel:
chatbot.openChatWindow();
closeChatWindow()
Schliesst das Chat-Fenster.
Beispiel:
chatbot.closeChatWindow();
toggleChatWindow()
Öffnet das Chatfenster wenn es geschlossen ist und schliesst es, wenn es offen ist.
Beispiel:
chatbot.toggleChatWindow();
enterGuestMessage(message)
Sendet eine Nachricht im Namen des Gastes an den Chatbot.
Parameter:
message(String) - Die zu sendende Nachricht
Beispiel:
chatbot.enterGuestMessage("Hallo Welt");
triggerStory(intent)
Gibt den Befehl, eine Story (Intent) auszuführen.
Parameter:
intent(String) - Der Name des auszuführenden Intents
Beispiel:
chatbot.triggerStory("GET_STARTED");
isChatbotLoaded()
Gibt true zurück, wenn der Chatbot geladen ist.
Beispiel:
const isLoaded = chatbot.isChatbotLoaded();
if (isLoaded) {
console.log("Chatbot ist bereit");
}
subscribe(event, callback)
Erlaubt das Registrieren von Event-Handlers.
Verfügbare Events:
ON_CHAT_WINDOW_STATE_CHANGE
Wird aufgerufen, wenn sich der Zustand des Chat-Fensters ändert (öffnen/schliessen).
Beispiel:
chatbot.subscribe("ON_CHAT_WINDOW_STATE_CHANGE", function onChange(open) {
console.log("Chat-Fenster ist " + (open ? "offen" : "geschlossen"));
});
Vollständiges Integrationsbeispiel
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Meine Webseite mit Chatbot</title>
</head>
<body>
<h1>Willkommen auf meiner Webseite</h1>
<!-- Chatbot Integration -->
<script
id="chatbot"
data-server="https://my-chatbot.bubble-chat.ch"
data-expand-at-start="desktop"
data-link-handling="default"
defer
src="https://my-chatbot.bubble-chat.ch/webclient/embed/bundle.js"
></script>
<!-- Optional: JavaScript API verwenden -->
<script>
// Warten bis der Chatbot geladen ist
window.addEventListener("load", function () {
// Event-Handler registrieren
if (typeof chatbot !== "undefined") {
chatbot.subscribe("ON_CHAT_WINDOW_STATE_CHANGE", function (open) {
console.log("Chat ist jetzt " + (open ? "offen" : "geschlossen"));
});
}
});
// Chatbot via Button öffnen
function openChat() {
if (typeof chatbot !== "undefined") {
chatbot.openChatWindow();
}
}
</script>
<!-- Optional: Custom Button zum Öffnen des Chats -->
<button onclick="openChat()">Chat mit uns!</button>
</body>
</html>
Troubleshooting
Der Chatbot wird nicht angezeigt
- Überprüfe, ob die Domain deiner Webseite in
allowedEmbedOriginskonfiguriert ist - Kontrolliere die Browser-Konsole auf Fehlermeldungen
- Stelle sicher, dass das Script-Tag das Attribut
deferenthält
Das Chatfenster öffnet sich nicht automatisch
- Prüfe, ob der Benutzer das Chatfenster zuvor manuell geschlossen hat (Cookie-Speicherung)
- Überprüfe das Attribut
data-expand-at-start - Lösche testweise die Cookies der Webseite
JavaScript API funktioniert nicht
- Stelle sicher, dass der Chatbot vollständig geladen ist, bevor du API-Funktionen aufrufst
- Verwende
chatbot.isChatbotLoaded()um zu prüfen, ob die API verfügbar ist - Überprüfe die Browser-Konsole auf JavaScript-Fehler