Zum Inhalt springen
XICBOT

Einstellungen

English
Dokumentation · Widget auf der Website

Einwilligung und Besucherrechte

Wie Sie eine Einwilligung vor dem ersten Gespräch verlangen und wie Besucher im Chatfenster Auskunft erhalten, widerrufen und ihr Gespräch löschen.

In einfacher Sprache

Diese Seite erklärt die Zustimmung der Besucher. Sie können verlangen, dass Besucher zuerst zustimmen. Erst dann beginnt ein Gespräch. Im Chatfenster finden Besucher ihre Rechte. Sie können eine Kopie ihrer Daten bekommen. Sie können ihr Gespräch löschen. Ist die Zustimmung an, können sie diese auch zurücknehmen. Dafür brauchen sie kein Konto.

Stand

Alle Themen der Dokumentation

Sie können verlangen, dass Besucher der Speicherung zustimmen, bevor im Chatfenster das erste Gespräch entsteht. Unabhängig davon finden Besucher im Chatfenster unter Ihre Daten ihre Rechte am eigenen Gespräch: Auskunft und Löschen, bei eingeschalteter Einwilligung auch deren Widerruf, ohne Konto und ohne Anmeldung. Diese Seite beschreibt die Einstellung, den Ablauf im Fenster, die Prüfungen beim Dienst und die zugehörigen Endpunkte.

Einwilligung einschalten

Die Einstellung gehört zum Assistenten. Öffnen Sie in der Anwendung Assistenten unter app.xicbot.de/assistenten, wählen Sie den Assistenten und gehen Sie zum Abschnitt Chatfenster auf Ihrer Website. Ändern können das Mitglieder ab der Rolle Bearbeiten; mit der Rolle Lesen sind die Felder gesperrt. Speichern übernimmt die Werte, danach steht dort Gespeichert. Wie Sie einen Assistenten anlegen, beschreibt Assistenten, die Rollen Team und Rollen.

FeldVorgabeWirkung
Einwilligung vor dem ersten GesprächausDas Chatfenster zeigt vor dem ersten Gespräch einen Einwilligungsschirm. Ohne Zustimmung lässt sich nichts schreiben und nichts senden. Wer ablehnt, schließt das Fenster, ohne dass ein Gespräch entsteht.
Text der EinwilligungleerHöchstens 500 Zeichen. Bearbeitbar, solange die Einwilligung eingeschaltet ist. Leer heißt: es gilt der Vorgabetext in der Sprache des Fensters.

Die Sprache des Fensters bestimmt zuerst das Attribut data-sprache im Einbaucode, sofern es mit de oder en beginnt. Sonst gilt die Sprache der veröffentlichten Fassung, im Zweifel Deutsch. In dieser Sprache liefert der Dienst den Vorgabetext. Einen eigenen Text zeigt das Fenster in jeder Sprache so, wie Sie ihn eingetragen haben. Das Attribut beschreibt Script-Attribute.

SpracheVorgabetext
DeutschIch bin damit einverstanden, dass mein Gespräch gespeichert und zur Beantwortung meiner Frage verarbeitet wird.
EnglischI agree that my conversation is stored and processed in order to answer my question.

Das Tor im Einbaucode

Mit eingeschalteter Einwilligung trägt der Einbaucode zusätzlich data-einwilligung="erforderlich". Nach dem Speichern lädt die Anwendung den Einbaucode neu. Der Lader liest das Tor nur aus diesem Attribut, nicht aus der Einstellung. Haben Sie den Code schon früher eingebaut, übernehmen Sie ihn darum neu in Ihre Seite: ohne das Attribut baut der Lader das Chatfenster, sobald Ihre Seite geladen ist, und das Fenster lädt seine öffentliche Konfiguration, bevor Ihr Besucher in Ihrem Banner zugestimmt hat. Den Einwilligungsschirm im Fenster zeigt es auch dann. Wie Sie den Code einbauen, steht unter Widget einbauen.

index.html html

<script src="https://cdn.xicbot.de/einbetten.js" data-xicbot="…" data-api="…" data-einwilligung="erforderlich" defer></script>

Mit dem Attribut baut der Lader das Chatfenster von sich aus erst, wenn Ihre Seite window.xicbot.einwilligen() aufruft. Diese Zustimmung merkt er sich 180 Tage im Speicher Ihrer Seite und lädt das Fenster in dieser Zeit auch bei späteren Seitenaufrufen von selbst. Lässt sich der Speicher nicht beschreiben, etwa weil er gesperrt oder voll ist, gilt die Zustimmung nur für den laufenden Seitenaufruf; auf der nächsten Seite wartet der Lader wieder auf den Aufruf. Ebenso lädt er es, wenn der Besucher im Chatfenster einer vorigen Seite einen Vorschlag bestätigt hat, ein Formular auf dieser Seite auszufüllen; das beschreibt Formulare vorausfüllen. Klickt der Besucher vorher auf den Auslöser, lädt es trotzdem: wer klickt, hat gefragt. Die Zustimmung in Ihrem Banner ersetzt die Einwilligung im Chatfenster nicht; das eine ist das Banner Ihrer Seite, das andere der Schirm vor dem ersten Gespräch. Wie Sie Ihr Banner anbinden, beschreibt JavaScript und Speicher.

Der Einwilligungsschirm im Chatfenster

Ob der Schirm erscheint, entscheidet der Dienst: die öffentliche Konfiguration des Fensters enthält consent und den Text consent_text. Eine Seite kann den Schirm darum nicht umgehen, indem sie ein Feld weglässt. Ist die Einwilligung verlangt und besteht noch kein Gespräch, zeigt das Fenster den Schirm mit Ihrem Text. Eingabefeld und Senden bleiben gesperrt, bis der Besucher zustimmt. Das gilt, sobald der Assistent eine veröffentlichte Fassung hat; bis dahin sperrt das Fenster die Eingabe mit Dieser Assistent ist noch nicht bereit.

ElementDeutschEnglisch
ÜberschriftBevor es losgehtBefore we start
ZustimmenEinverstanden, Chat startenI agree, start the chat
AblehnenAblehnen und schließenDecline and close
Meldung nach dem AblehnenOhne Einwilligung entsteht kein Gespräch.No conversation without consent.
Meldung bei geändertem TextDer Einwilligungstext wurde geändert. Bitte lesen Sie ihn und stimmen Sie erneut zu.The consent text has changed. Please read it and agree again.
  1. Schritt 1

    Zustimmen

    Mit Einverstanden, Chat starten verschwindet der Schirm, das Eingabefeld wird frei und das Fenster legt das Gespräch mit consent: true an. Für die Einwilligung schickt es zwei weitere Angaben mit: als consent_text den Text, den der Schirm gezeigt hat, und als language denselben Sprachwunsch wie beim Abruf der Einstellungen, also den Wert von data-sprache. Fehlt das Attribut, bleibt der Wert leer, und der Dienst wählt wie beim Abruf der Einstellungen die Sprache der veröffentlichten Fassung, im Zweifel Deutsch. Stimmt der gezeigte Text mit dem geltenden überein, zählt für den Prüfwert die Sprache, in der er gezeigt wurde.

  2. Schritt 2

    Prüfung beim Anlegen

    Der Dienst prüft das, bevor er das Gespräch anlegt: Ist consent nicht genau true, antwortet er mit 422 consent_missing, und es entsteht kein Gespräch. Weicht der mitgeschickte Text vom geltenden Einwilligungstext ab, antwortet er mit 422 consent_changed und schickt den geltenden Text als consent_text mit; auch dann entsteht kein Gespräch. Unterschiede im Leerraum, etwa ein Zeilenumbruch statt eines Leerzeichens, mehrere Leerzeichen statt eines oder ein Leerzeichen am Ende, zählen dabei nicht als Abweichung. Verglichen wird mit dem Text in beiden Sprachen, ein Wechsel der Sprache der veröffentlichten Fassung zwischen Laden und Zustimmen gilt darum nicht als geänderter Text.

  3. Schritt 3

    Einwilligung festhalten

    Am neuen Gespräch speichert der Dienst Zeitpunkt und Prüfwert und gibt die Gesprächskennung an das Fenster zurück. An dieser Kennung hängen alle weiteren Rechte des Besuchers.

Ablehnen und schließen steht gleichrangig daneben. Das Fenster legt dann kein Gespräch an, sperrt die Eingabe mit Ohne Einwilligung entsteht kein Gespräch. und bittet Ihre Seite, das Fenster zu schließen.

Prüfungen beim Dienst

Das Chatfenster prüft die Einwilligung, der Dienst prüft sie ein zweites Mal. Diese Vorgänge weist er ab:

VorgangBedingungAntwort
Gespräch anlegenEinwilligung verlangt, consent ist nicht true422 consent_missing
Gespräch anlegenEinwilligung verlangt, mitgeschickter consent_text weicht vom geltenden Text ab422 consent_changed
Nachricht sendenEinwilligung widerrufen403 consent_revoked
Nachricht sendenEinwilligung verlangt, am Gespräch keine festgehalten403 consent_missing
Antwort bewertenEinwilligung widerrufen403 consent_revoked
Datei anhängenEinwilligung widerrufen422 consent_revoked
Gespräch durch Ihr Team übernehmenEinwilligung widerrufen403 consent_revoked
Nachricht Ihres Teams in einem übernommenen GesprächEinwilligung widerrufen, auch nach der Übernahme403 consent_revoked

Die Einwilligung hängt am Gespräch und nicht an einem Wert im Browser. Ein solcher Wert kann verschwinden, und eine Einwilligung daran wäre danach weder nachweisbar noch widerrufbar. Am Gespräch stehen drei Felder:

FeldInhalt
consent_atZeitpunkt der Zustimmung, gesetzt beim Anlegen des Gesprächs.
consent_hashSHA-256 über drei Werte, getrennt durch |: den Einwilligungstext, der beim Anlegen des Gesprächs gilt, also Ihren eingetragenen Text oder bei leerem Feld den Vorgabetext in der Sprache, in der der Schirm ihn gezeigt hat. Da der Dienst bei einem geänderten Text kein Gespräch anlegt, ist das der Text, dem der Besucher zugestimmt hat. Dazu kommen der Versionsstand der Datenschutzerklärung des Dienstes und der Rechnername der Seite, die das Fenster gemeldet hat.
consent_revoked_atZeitpunkt des Widerrufs, sonst leer.

Ihre Daten: die Rechte im Chatfenster

Im Kopf des Chatfensters steht neben dem Schließen-Knopf ein Schild-Symbol mit der Bezeichnung Datenschutz. Es klappt den Bereich Ihre Daten auf und setzt den Fokus auf den ersten Knopf. Oben steht bei eingeschalteter Einwilligung vor dem ersten Gespräch dieser Text:

Dieses Gespräch wird vom Betreiber dieser Website gespeichert. Sie können eine Kopie anfordern, Ihre Einwilligung widerrufen oder das Gespräch löschen. Anfragen, Terminwünsche und Warenkörbe, die Sie über den Chat an den Betreiber übergeben haben, bleiben auch nach dem Löschen als dessen eigener Vorgang bei ihm.
Bereich „Ihre Daten“ im Chatfenster

Ist die Einwilligung ausgeschaltet, lautet der mittlere Satz „Sie können eine Kopie anfordern oder das Gespräch löschen.“ Der Knopf Einwilligung widerrufen fehlt dann: ohne Einwilligung gibt es nichts zu widerrufen.

KnopfWirkungMeldung bei ErfolgMeldung bei Fehler
AuskunftRuft die Auskunft zum Gespräch ab und zeigt sie im Bereich Ihre Daten: eine Zusammenfassung, darunter Nachrichten und Vorgänge.Gespeichert: *Anzahl* Nachrichten seit *Beginn*. Verantwortlich: *Name*. Gespräche werden *n* Tage nach Beginn gelöscht. Ist keine Frist eingetragen, endet sie stattdessen mit Eine feste Löschfrist ist nicht hinterlegt.Die Auskunft konnte nicht geladen werden.
Einwilligung widerrufenNur bei eingeschalteter Einwilligung sichtbar. Widerruft die Einwilligung für dieses Gespräch und sperrt die Eingabe.Einwilligung widerrufen. Lief gerade eine Antwort, folgt Die laufende Antwort wurde gestoppt.Der Widerruf ging nicht durch. Hat das Gespräch keine festgehaltene Einwilligung: Für dieses Gespräch wurde keine Einwilligung erteilt, es gibt nichts zu widerrufen. Löschen können Sie es trotzdem.
Gespräch löschenLöscht das Gespräch beim Dienst und leert den Verlauf im Fenster.Gespräch gelöscht.Das Gespräch konnte nicht gelöscht werden.

Besteht noch kein Gespräch, melden die drei Knöpfe Es gibt noch kein Gespräch. Als Verantwortlichen nennt die Auskunft den Namen Ihres Kontos: verantwortlich ist der Betreiber der Website, nicht XICBOT. Fehlt der Name, steht dort „der Betreiber der Website“.

Auskunft, Widerruf und Löschen stehen auch einem Besucher offen, den Sie gesperrt haben. Die Sperre prüft der Dienst beim Anlegen eines Gesprächs und beim Senden, nicht bei diesen drei Rechten.

Was ein Widerruf bewirkt

Der Dienst vermerkt den Widerruf am Gespräch, bevor er nachsieht, ob gerade eine Antwort läuft. Eine Antwort, die gerade entsteht, sieht den Widerruf und bricht ab.

  • Ein zweiter Widerruf ändert nichts, der erste Zeitpunkt bleibt stehen.
  • Eine laufende Antwort fragt höchstens einmal je Sekunde nach dem Widerruf und ein letztes Mal an ihrem Ende. Ihr Text wird nicht gespeichert; im Fenster verschwindet das angefangene Stück. In Gespräche steht an dieser Nachricht Einwilligung widerrufen.
  • Die bis dahin verbrauchten Token werden trotzdem gebucht, weil sie angefallen sind. Wie der Verbrauch zählt, beschreibt Pakete und Kontingente.
  • Danach nimmt das Gespräch vom Besucher keine Nachricht, keine Bewertung und keinen Anhang mehr an. Das Fenster sperrt die Eingabe; nach einer abgebrochenen Antwort meldet es Einwilligung widerrufen. Dieses Gespräch ist beendet.
  • Ihr Team kann ein widerrufenes Gespräch nicht mehr übernehmen und auch nach einer früheren Übernahme nichts mehr hineinschreiben. Die Anwendung meldet dann Der Besucher hat seine Einwilligung widerrufen. In dieses Gespräch lässt sich nichts mehr schreiben.
  • Der Widerruf löscht nichts. Die Nachrichten bis dahin bleiben gespeichert, bis das Gespräch gelöscht wird.
  • Ein Gespräch ohne festgehaltene Einwilligung lässt sich nicht widerrufen. Der Dienst antwortet dann mit 422 without_consent, das Fenster meldet Der Widerruf ging nicht durch.

Was die Auskunft enthält

Die Auskunft liefert der Dienst als JSON. Sie kommt aus dem Gespräch selbst; eine eigene Tabelle über Besucher gibt es nicht. Das Fenster zeigt sie unter der Zusammenfassung in einem Bereich, der in sich rollt: alle Nachrichten mit Absender (Sie, Assistent, Mitarbeiter), Zeit und Text. Darunter folgen die Vorgänge, also Anfragen, Terminwünsche, Warenkörbe mit Posten und Summe, Dateien mit Größe und Schritte des Assistenten mit ihrem Stand. Zeiten stehen im Datumsformat der Fenstersprache. Eine Datei zum Herunterladen gibt es nicht; alle Felder liefert der Endpunkt weiter unten.

FeldInhalt
conversation.startedBeginn des Gesprächs
conversation.hostRechnername der Seite, auf der das Gespräch begann
conversation.message_countAnzahl der Nachrichten
conversation.consent_at, conversation.consent_revoked_atZeitpunkt der Zustimmung und des Widerrufs, sonst leer
messagesAlle Nachrichten in zeitlicher Reihenfolge, je mit role, text und time
records.tool_callsWas der Assistent im Auftrag des Besuchers ausgelöst hat, in gekürzter Fassung
records.requestsAnfragen mit Name, E-Mail-Adresse, Telefon, Betreff und Zeitpunkt
records.appointmentsTerminwünsche mit Beginn, Art, Name, E-Mail-Adresse, Telefon, Stand und Zeitpunkt
records.attachmentsAngehängte Dateien mit Name, Typ, Größe und Prüfsumme, ohne den Inhalt
records.cartsÜbergebene Warenkörbe mit Positionen, Beträgen in Cent, Gutscheincode, Währung und Stand
controllerName Ihres Kontos als Verantwortlicher
retention_daysDer in Ihrem Konto eingetragene Wert für die Aufbewahrung von Gesprächen in Tagen; leer, wenn keiner eingetragen ist

Die Einstellung zur Aufbewahrung von Gesprächen beschreibt Aufbewahrung und Löschung.

Gespräch löschen

Gespräch löschen entfernt das Gespräch mit seinen Nachrichten beim Dienst. Einen Widerruf vorher verlangt das Löschen nicht. Im Fenster verschwindet der Verlauf, und der Lader entfernt die gemerkte Gesprächskennung aus dem Speicher Ihrer Seite.

  • Bei Ihnen bleiben Anfragen, Terminwünsche und Warenkörbe, die über den Chat an Sie übergeben wurden. Sie sind Ihre eigenen Vorgänge und verlieren nur den Verweis auf das Gespräch.
  • Protokoll: Vor dem Löschen und in derselben Transaktion schreibt der Dienst eine Zeile Gespräch gelöscht in das Protokoll Ihres Kontos, mit Kanal widget, der Anzahl der Nachrichten und by: visitor. Als Handelnder steht dort niemand aus Ihrem Team.
  • Ohne Zeile kein Löschen: Lässt sich die Protokollzeile nicht schreiben, löscht der Dienst nichts und antwortet mit 500 not_logged. Das Fenster meldet dann Das Gespräch konnte nicht gelöscht werden.

Weitere Wege, auf denen Gespräche gelöscht werden, beschreibt Aufbewahrung und Löschung; wie Sie Gespräche im Konto finden, Gespräche.

Endpunkte

Die drei Rechte liegen im öffentlichen Zweig der Widget-Schnittstelle, den das Chatfenster von fremden Websites aus aufruft. Eine Anmeldung gibt es dort nicht: der Besucher hat kein Konto. Die Rechte hängen darum an der Gesprächskennung, die der Dienst beim Anlegen an das Fenster zurückgibt. {key} ist der Widget-Schlüssel aus data-xicbot, {conversation} die Gesprächskennung. Die übrigen Endpunkte des Zweigs beschreibt Widget-Endpunkte, die Grenzen API-Grenzen.

POST /api/v1/public/widget/{key}/conversation/{conversation}/revoke

Widerruft die Einwilligung für das Gespräch. Antwort 200 mit revoked: true und run_aborted; das ist true, wenn am Gespräch zu diesem Zeitpunkt eine Antwort als laufend vermerkt war. Ein zweiter Aufruf antwortet ebenso mit 200, der erste Zeitpunkt bleibt. Ein unbekanntes Gespräch ergibt 404 not_found, ein Gespräch ohne festgehaltene Einwilligung 422 without_consent.

Anmeldung
Keine; Widget-Schlüssel und Gesprächskennung im Pfad
Begrenzung
60 Aufrufe je Minute je Besucher. Dazu die Minuten- und Tagesgrenze, die für Ihr Konto gilt, gezählt je Besucher und je Gespräch; darüber antwortet der Dienst mit 429 too_many_requests, limit_per_min, limit_per_day, wait und dem Kopf Retry-After.

GET /api/v1/public/widget/{key}/conversation/{conversation}/export

Liefert die Auskunft als JSON mit conversation, messages, records, controller und retention_days. Ein unbekanntes Gespräch ergibt 404 not_found.

Anmeldung
Keine; Widget-Schlüssel und Gesprächskennung im Pfad
Begrenzung
60 Aufrufe je Minute je Besucher. Dazu die Minuten- und Tagesgrenze, die für Ihr Konto gilt, gezählt je Besucher und je Gespräch; darüber antwortet der Dienst mit 429 too_many_requests, limit_per_min, limit_per_day, wait und dem Kopf Retry-After.

DELETE /api/v1/public/widget/{key}/conversation/{conversation}

Löscht das Gespräch mit seinen Nachrichten. Antwort 200 mit deleted: true und messages, der Anzahl gelöschter Nachrichten. Ein unbekanntes Gespräch ergibt 404 not_found; lässt sich die Protokollzeile nicht schreiben, antwortet der Dienst mit 500 not_logged und löscht nichts.

Anmeldung
Keine; Widget-Schlüssel und Gesprächskennung im Pfad
Begrenzung
60 Aufrufe je Minute je Besucher. Dazu die Minuten- und Tagesgrenze, die für Ihr Konto gilt, gezählt je Besucher und je Gespräch; darüber antwortet der Dienst mit 429 too_many_requests, limit_per_min, limit_per_day, wait und dem Kopf Retry-After.

Einwilligungen im Kontoexport

Den Export Ihres Kontos darf nur die Rolle Inhaber abrufen; er ist unter Datenschutz und Recht beschrieben. Sein Teil consents führt jedes Gespräch mit festgehaltener Einwilligung auf, sortiert nach dem Zeitpunkt der Zustimmung, mit conversation_id, granted_at, revoked_at und content_hash. Auch der Teil conversations führt an jedem Gespräch consent_at und consent_revoked_at.

Häufige Fragen

Ersetzt die Zustimmung in meinem Banner den Einwilligungsschirm im Chatfenster?

Nein. Mit data-einwilligung="erforderlich" steuert Ihr Banner über window.xicbot.einwilligen(), wann der Lader das Chatfenster lädt. Die Einwilligung in die Speicherung des Gesprächs holt das Fenster selbst ein, wenn Einwilligung vor dem ersten Gespräch eingeschaltet ist.

Was geschieht, wenn ein Besucher ablehnt?

Es entsteht kein Gespräch. Das Fenster meldet Ohne Einwilligung entsteht kein Gespräch. und schließt sich über Ihre Seite.

Wo sehe ich, wann ein Besucher zugestimmt hat?

Am Gespräch stehen Zeitpunkt und Prüfwert der Zustimmung. Im Kontoexport finden Sie beides im Teil consents, zusammen mit dem Zeitpunkt eines Widerrufs.

Bleiben Anfragen aus dem Chat erhalten, wenn ein Besucher sein Gespräch löscht?

Ja. Anfragen, Terminwünsche und Warenkörbe, die über den Chat an Sie gingen, bleiben als Ihre eigenen Vorgänge erhalten und verlieren nur den Verweis auf das Gespräch. Vor dem Löschen schreibt der Dienst die Zeile Gespräch gelöscht in Ihr Protokoll. Verlangt ein Besucher auch die Löschung seiner Anfrage oder seines Termins, löschen Sie den einzelnen Vorgang unter Vorgänge, siehe Termine und Vorgänge.

Kann ein gesperrter Besucher sein Gespräch noch löschen?

Ja. Die Sperre gilt beim Anlegen und Senden. Auskunft, Widerruf und Löschen bleiben dem Besucher offen.

Eine Stelle ist unklar geblieben?

Schreiben Sie uns, welche Seite und welcher Schritt gemeint ist. Wir antworten persönlich.

Anfrage in drei Schritten

  1. 1. Anliegen
  2. 2. Ihr Fall
  3. 3. Kontakt

Worum geht es?

Ein Klick genügt, alles Weitere ist freiwillig.

Erzählen Sie kurz von Ihrem Fall

Alle Angaben in diesem Schritt sind freiwillig. Sie helfen uns, gleich mit etwas Konkretem zu antworten statt mit Rückfragen.

Anfragen im Monat, ungefähr (optional)
Wann soll es losgehen? (optional)
Wie erreichen wir Sie?

Name und E-Mail-Adresse genügen. Wir antworten persönlich.

Wir verwenden Ihre Angaben, um Ihre Anfrage zu bearbeiten. Mehr dazu in der Datenschutzerklärung.