zum Hauptinhalt springen
Dokumentation durchsuchen

Laufzeit-API des Widgets

Steuern Sie das Widget aus JavaScript über das window.syncanix-Objekt.

Sobald das Widget geladen ist, installiert es ein window.syncanix-Objekt, das Sie aus Ihrem eigenen Code aufrufen können.

Was Sie tun können

  • open() / close() / toggle() — den Chat aus Ihrem eigenen Code öffnen, schließen oder umschalten.
  • isOpen — ob das Panel gerade offen ist, damit Ihre eigene Schaltfläche den passenden Zustand zeigt.
  • setPosition(position) — den Starter in eine andere Ecke verschieben.
  • enable() / disable() — schaltet den Chat zur Laufzeit ein oder aus, ohne ihn auszuhängen (für Vorfälle, Checkout oder Supportzeiten).
  • unmount() — das Widget von der Seite entfernen.
  • registerComponent() / unregisterComponent() / getComponentCatalog() — eigene React-Komponenten registrieren, die der Assistent darstellt, validiert über ein Schema.
  • exposeShadowRoot(host, root) — teilt dem Widget einen mit Web Components gebauten Teil Ihrer Seite mit, damit der Assistent die Bedienelemente darin sehen und bedienen kann. Gibt eine Funktion zurück, die es rückgängig macht.
  • registerDataSource() / unregisterDataSource() / getDataSourceCatalog() — geben Sie dem Assistenten einen benannten Weg, Daten aus Ihrer App zu holen, damit eine zusammengesetzte Antwort echte Zahlen zeigt statt sie zu beschreiben.
  • registerAction() / unregisterAction() / getActionCatalog() — lässt den Assistenten Ihre eigenen Funktionen aufrufen, optional schema-validiert und bestätigungspflichtig.
  • setContext() / clearContext() — den Live-Zustand der App (Nutzer, Seite, Warenkorb) in den nächsten Zug einspeisen. Nur begrenztes JSON — niemals Geheimnisse.
  • setTokenProvider(fn) — das Token des Endnutzers je Zug bereitstellen (hat Vorrang vor dem data-Attribut).
  • setStepUpProvider(fn) — den Ablauf der erhöhten Neuauthentifizierung bereitstellen.
  • setHeadersProvider(fn) — fügt jedem Tool-Aufruf Anfrage-Header hinzu (etwa Authorization oder ein CSRF-Token); hat Vorrang vor dem Daten-Attribut.
  • setTheme(key) — wechselt das Live-Theme über den Namen, ohne den Chat neu einzuhängen (für einen Hell/Dunkel-Umschalter der Host-Seite).
  • setConsent(signal) — teilen Sie dem Widget mit, wozu der Besucher zugestimmt hat, damit es der Wahl folgt, die Ihr eigenes Consent-Banner bereits erfasst hat.
  • mapSite() / stopSiteWalk() und teach() / stopTeach() — starten und beenden Sie von Ihrer eigenen Seite die beiden vom Betreiber geführten Kartierungssitzungen. Jede braucht ein Einmal-Token aus dem Dashboard, und ohne das startet keine.

Beispiel

// Open the chat programmatically
window.syncanix.open();

// Feed live host-app context into the next turn (bounded JSON, no secrets)
window.syncanix.setContext({ page: 'checkout', cartItems: 3 });

// Provide the signed-in user's token per turn (recommended for SSR apps)
window.syncanix.setTokenProvider(async () => await getAccessToken());

Was der Assistent darstellen kann — und was er nicht sieht

Die darstellbare Oberfläche ist bewusst explizit: die eingebauten Primitiven, die Komponenten, die Sie mit registerComponent registrieren, und Embeds von Ursprüngen, die Ihr Administrator freigegeben hat. Der Assistent kann nur steuern, was Sie ihm gezielt übergeben haben.

Was das Widget von Ihrer Seite liest, ist eine eigene Frage. Entdeckung ist standardmäßig aktiv und liest die STRUKTUR Ihrer Seiten — welche Formulare es gibt, wie deren Felder heißen, wohin Ihre Links führen — und schlägt jedes als Fähigkeit zur Prüfung vor. Es liest nie, was jemand getippt hat, und alles Gefundene kommt ausgeschaltet an.

Einmal geladen

Das Installieren des globalen Objekts ist idempotent — wird das Script zweimal eingebunden, wird das Duplikat mit einer Warnung ignoriert, sodass Sie nie zwei Widgets haben.

Nächste Schritte