Zum Hauptinhalt springen

Website Messenger API

Die Website Messenger API ermöglicht die bidirektionale Kommunikation zwischen der Webseite und dem Chatbot. Über diese Schnittstelle kann die Website programmatisch mit dem Chatbot interagieren und umgekehrt.

Zweck und Einsatzmöglichkeiten​

Die API ermöglicht es, den Chatbot nahtlos in die Website-Logik zu integrieren und bietet erweiterte Steuerungsmöglichkeiten über die Standard-Chat-Funktionalität hinaus.

Anwendungsszenarien​

Chatbot programmatisch steuern​

  • Chatbot öffnen/schliessen: Die Website kann den Chatbot bei bestimmten Ereignissen automatisch öffnen oder schliessen
  • Nachrichten senden: Von der Website aus können automatisch Nachrichten an den Chatbot gesendet werden
  • Chat initialisieren: Gespräche mit vordefinierten Parametern oder Kontext starten

Benutzerkontext übermitteln​

  • Authentifizierungsdaten: Eingeloggte Benutzer können automatisch im Chatbot identifiziert werden
  • Seitenkontextinformationen: Der Chatbot erhält Informationen darüber, auf welcher Seite sich der Benutzer befindet
  • Produktinformationen: Bei E-Commerce-Websites können Produktdaten an den Chatbot übergeben werden

Ereignisse empfangen​

  • Chat-Ereignisse: Die Website kann auf Ereignisse wie «Chat geöffnet», «Nachricht gesendet» oder «Chat geschlossen» reagieren
  • Benutzeraktionen: Tracking und Analyse von Chatbot-Interaktionen
  • Konversationsstatus: Die Website kann auf den aktuellen Status des Gesprächs zugreifen

Integration in Geschäftsprozesse​

  • Formulardaten: Vom Chatbot erfasste Daten können direkt an die Website übergeben werden
  • Navigation: Der Chatbot kann den Benutzer auf bestimmte Seiten der Website weiterleiten
  • Dynamische Inhalte: Chatbot-Antworten können basierend auf Website-Daten personalisiert werden

Erweiterte Event-Verarbeitung mit Middlewares​

Mittels projektspezifischen Middlewares können eigens definierte Events zwischen Website und Chatbot ausgetauscht werden:

  • Custom Events an Website senden: Der Chatbot kann über Middlewares benutzerdefinierte Ereignisse an die Website senden
  • Events von Website empfangen: Von der Website gesendete Events können in der Middleware verarbeitet und an den Chatbot weitergeleitet werden
  • Flexible Integration: Ermöglicht massgeschneiderte Integrationsszenarien, die über die Standard-API-Funktionalität hinausgehen

Weitere Informationen zu Middlewares finden sich im Kapitel Middlewares.

Vorteile​

Die Website Messenger API ermöglicht eine tiefgreifende Integration des Chatbots in die bestehende Website-Architektur und schafft ein nahtloses, kontextbezogenes Benutzererlebnis.

Javascript API​

Die API-Funktionen stehen via Namespace chatbot zur Verfügung.

openChatWindow​

Öffnet das Chat-Fenster.

Beispiele:

chatbot.openChatWindow();

closeChatWindow​

Schliesst das Chat-Fenster.

Beispiel:

chatbot.closeChatWindow();

toggleChatWindow​

Öffnet das Chat-Fenster, wenn es geschlossen ist, und schliesst es, wenn es offen ist.

Beispiel:

chatbot.toggleChatWindow();

sendTextMessage​

Sendet eine Nachricht im Namen des Benutzers an den Chatbot.

Beispiel:

chatbot.sendTextMessage("Hallo Welt");

isChatbotLoaded​

Gibt true zurück, wenn der Chatbot geladen und der FAB sichtbar ist.

Beispiele:

const isLoaded = chatbot.isChatbotLoaded();

if (isLoaded) {
chatbot.openChatWindow();
}

subscribe​

Erlaubt das Registrieren von Event-Handlern.

Folgende Events sind unterstützt:

  • ON_CHATBOT_LOAD
  • ON_CHAT_WINDOW_STATE_CHANGE
  • ON_FAB_CLICK

ON_CHATBOT_LOAD​

Wird ausgelöst, sobald der Website Messenger initial geladen und gemountet wurde.

  • Callback-Signatur: () => void
  • Parameter: keine
  • Typischer Einsatz: Initiale Integrationslogik starten, sobald window.chatbot bereit ist

Hinweis: Der Handler wird beim Laden ausgelöst. Falls du ihn erst nach dem abgeschlossenen Ladevorgang registrierst, wird das Event nicht rückwirkend erneut ausgelöst.

ON_CHAT_WINDOW_STATE_CHANGE​

Wird bei jeder Zustandsänderung des Chat-Fensters ausgelöst (öffnen/schliessen), unabhängig davon, ob dies durch Benutzeraktion oder per API erfolgt.

  • Callback-Signatur: (open: boolean) => void
  • Parameter: open
    • true: Chat-Fenster ist offen
    • false: Chat-Fenster ist geschlossen

ON_FAB_CLICK​

Wird ausgelöst, wenn der Floating Action Button (FAB) geklickt wird.

  • Callback-Signatur: () => void
  • Parameter: keine
  • Reihenfolge: Das Event wird vor dem eigentlichen Umschalten des Chat-Fensters ausgelöst

Beispiel:

chatbot.subscribe("ON_CHATBOT_LOAD", function onLoad() {
console.log("chatbot is ready");
});

chatbot.subscribe("ON_CHAT_WINDOW_STATE_CHANGE", function onChange(open) {
console.log("chat window is " + (open ? "open" : "close"));
});

chatbot.subscribe("ON_FAB_CLICK", function onFabClick() {
console.log("fab clicked");
});