Handbuch · Kapitel 28 · Teil G Entwickler

Einbettungs-Referenz

Wozu

Der Baukasten erzeugt den Einbettungs-Code; wer ihn von Hand schreibt, in Vorlagen einbaut oder mit eigenem JavaScript verbindet, findet hier alle Attribute, Variablen, Ereignisse und Endpunkte. Alles Folgende gilt für den Script-Tag, den Kapitel 8 und 9 beschreiben.

Der Chat-Lader

<script src="https://<instanz>/js/embed.js"
        data-project="93"
        data-title="Musterfirma Service-Chat"
        data-accent="#1f4e79"></script>

Der Lader holt Stylesheet, Chat-Logik und bei Bedarf die Sprachfunktion selbst nach und liest die Einstellungen der Sammlung vom Server. Nur Abweichungen stehen als Attribute am Tag.

Sammlung, Assistent, Sprache

AttributBedeutung
data-projectNummer der Sammlung. Pflicht.
data-taskNummer eines Assistenten. Begrüßung, Einstiegsfragen, Akzentfarbe und Wissens-Scope kommen dann aus dem Profil.
data-languageSprache der Seite; auto liest sie aus <html lang>. Antworten, Wissensbasis und Texte folgen ihr.
data-llmNummer einer weiteren LLM-Konfiguration der Sammlung.
data-endpointNur für Sonderfälle: eine andere Adresse der Instanz.

Darstellung und Verhalten

AttributBedeutung
data-mode="inline"Fest in der Seite statt als Blase; data-target="#selektor" montiert in ein Element, sonst hinter dem Script-Tag.
data-positionEcke der Blase: bottom-right, bottom-left, top-right, top-left.
data-offset-x, data-offset-yAbstand der Blase von den Rändern in Pixeln.
data-open="1"Panel startet geöffnet. data-open-delay="5" nach Sekunden, data-open-scroll="50" ab Scrolltiefe in Prozent.
data-open-selectorCSS-Selektoren eigener Elemente, deren Klick das Panel öffnet.
data-remember="0"Merkt sich offen/geschlossen nicht mehr für den Besuch.
data-mobilefull, bubble oder hidden auf Smartphones.
data-pagesPfade, auf denen der Chat lädt; als Platzhalter, ! schließt aus: /support/, !/support/intern.
data-stream="0"Antworten ohne Streaming.
data-voice="1"Sprach-Chat an, wenn die Sammlung ihn anbietet.
data-offFunktionen dieser Einbettung ausblenden, mit Komma: upload, feedback, sources, reset, simple, help, escalation, attest. Das Mikrofon steuert data-voice.

Aussehen

AttributBedeutung
data-themelight, dark oder auto nach Systemeinstellung.
data-accentAkzentfarbe #rrggbb.
data-header, data-header-textKopfzeile und ihre Schrift.
data-text, data-bg, data-surface, data-borderTextfarbe, Hintergrund, Eingabefeld und Knöpfe, Rahmen.
data-bubble, data-user-bubbleAntwort- und Besucher-Blase.
data-chip-hover, data-send-hoverFarben beim Überfahren der Einstiegsfragen und des Senden-Knopfs.
data-radiusEckenradius des Chats in Pixeln.
data-shapeBedienelemente: leer = rund, square = dezent gerundet, sharp = eckig.
data-shadow="0"Ohne Schatten.
data-font, data-font-sizeSchriftfamilie und Größe in Pixeln.
data-width, data-heightMaße des Panels in Pixeln.
data-css="0"Kein Stylesheet laden; Sie liefern das CSS (siehe Variablen).

Einwilligung

AttributBedeutung
data-consentcookiebot:<Kategorie>, usercentrics:<Dienst>, event:<Name> oder cookie:<Name>[=<Wert>]. Das Widget lädt erst nach Einwilligung.
data-consent-textText an der Stelle des Chats bis dahin, nur bei fester Einbettung.

Beim Modus event löst Ihre Website nach der Zustimmung ein Ereignis mit dem angegebenen Namen auf window aus.

Angemeldete Besucher

data-user-token übergibt das signierte Token (Kapitel 13). Alternativ schickt Ihre Seite es nach dem Laden mit dem Ereignis aic:user-token. Das Token ist ein HS256-JWT, signiert mit dem Identitäts-Geheimnis der Sammlung, mit den Claims sub (Pflicht), exp (Pflicht, höchstens 24 Stunden), name, groups (Liste) und attrs (Objekt).

JavaScript-Schnittstelle

window.aicChat steht nach dem Laden bereit: open(), close(), toggle(), isOpen() und ask("Frage"), das eine Frage stellt, als käme sie vom Besucher.

Ereignisse auf document:

EreignisWann
aic:readyDas Widget ist geladen.
aic:open, aic:closeDas Panel wurde geöffnet oder geschlossen.
aic:sent, aic:answerEine Frage wurde gesendet, eine Antwort ist da.
aic:navigateDer Besucher klickt eine Quelle oder einen Link; für Websites, die Seitenwechsel selbst steuern.
aic:helpDas Hilfe-Overlay wird geöffnet.
aic:langDie Gesprächssprache wurde erkannt oder gewechselt.
aic:restoredEin Gesprächsverlauf wurde aus dem Sitzungsspeicher wiederhergestellt.

CSS-Variablen

Mit data-css="0" liefern Sie das Stylesheet selbst. Der Baukasten erzeugt eine CSS- oder SCSS-Vorlage mit allen Variablen; die wichtigsten:

VariableBedeutung
--aic-chat-primaryAkzentfarbe.
--aic-chat-bg, --aic-chat-surface, --aic-chat-text, --aic-chat-muted, --aic-chat-borderGrundfarben.
--aic-chat-assistant-bg, --aic-chat-user-bgBlasen.
--aic-chat-chip-hover, --aic-chat-send-hoverHover-Farben.
--aic-chat-radius, --aic-chat-shadow, --aic-chat-font, --aic-chat-font-sizeRundung, Schatten, Schrift.
--aic-embed-accent, --aic-embed-header-bg, --aic-embed-header-text, --aic-embed-width, --aic-embed-height, --aic-embed-x, --aic-embed-y, --aic-embed-radius, --aic-embed-shadowBlase und Panel.

Der Such-Lader

<script src="https://<instanz>/js/search-embed.js"
        data-project="93"
        data-target="#site-search"></script>
AttributBedeutung
data-projectNummer der Sammlung. Pflicht.
data-languageSuchsprache; auto liest <html lang>.
data-modehybrid, keyword oder semantic.
data-limitTreffer je Seite, 5 bis 50.
data-live="1"Suche beim Tippen.
data-targetElement, in das die Suche gesetzt wird.
data-title, data-placeholder, data-buttonÜberschrift, Platzhalter, Knopftext. Je weiterer Sprache mit Sprachzusatz, etwa data-title-en; bei data-language="auto" gilt die Fassung der Seitensprache, sonst das Attribut ohne Zusatz. Der Baukasten schreibt sie.
data-accent, data-border, data-shape, data-fontAussehen.
data-css="0"Kein Stylesheet; Variablen --aic-s-primary, --aic-s-border, --aic-s-muted, --aic-s-text, --aic-s-font, --aic-s-radius.

Nach dem Laden steht window.aicSearchInit für Seiten bereit, die die Suche selbst montieren; ein Klick auf einen Treffer löst aic:search-navigate aus.

Öffentliche Endpunkte

AdresseZweck
/api/chat, /api/chat/streamFragen des Widgets, gestreamt oder am Stück.
/api/chat/help, /api/chat/starters, /api/chat/attestEinstellungen und Hilfetext der Einbettung, automatische Einstiegsfragen, Nachweis der Verarbeitungsregion.
/api/searchDie Suche.
/api/mcpEndpunkt für KI-Agenten (Kapitel 14).
/js/embed.js, /js/search-embed.jsDie Lader, mit Versionsstempel.

Alle prüfen die erlaubten Websites der Sammlung. Nutzt die einbettende Seite eine Content-Security-Policy, muss die Adresse der Instanz in script-src, style-src, connect-src und img-src stehen, für den Sprach-Chat zusätzlich die WebSocket-Adresse in connect-src.

Siehe auch