Tipp: Chat-Start mit Online-Abfragen aufbohren

Zusätzliche Daten wie z.B. die Kundennummer vorm Chat-Start abzufragen sollte jede bessere Live-Chat-Lösung können und selbstverständlich bietet Ihnen yalst diese Funktionalität seit vielen Jahren. Aber wir gehen hier einen entscheidenen Schritt weiter. In den Start-Fenstern können Sie neben Eingabe-, Auswahl- und Ankreuzfeldern auch sogenannte Online-Abfragen hinzufügen.

Die Konfiguration für das Start-Fenster erreichen Sie in der Administration unter Konfiguration > Einstellungen > Chat-Begrüßungsfenster mit Hilfe des Buttons „Benutzerdefinierte Zusatzfelder“ am unteren Ende dieses Abschnitts.

Chat-Begrüßungsfenster

Es wird eine neue Seite geöffnet mit unserem Editor für das Chat-Startformular.

Online-Abfragen sind versteckte Felder, die für ihre Besucher nicht sichtbar sind und beim Abschicken des Chat-Startformulars im Hintergrund einen HTTP(S)-Aufruf durchführen. Für den Aufruf müssen Sie ein Skript bereithalten, welches diesen entgegen nimmt und verarbeitet. Die URL dieses Skriptes tragen Sie in das Feld „Abfrage-URL“ ein, nachdem Sie in unserem Editor auf „Online-Abfrage hinzufügen“ geklickt haben:

Natürlich kann ihr URL-Aufruf auch sogenannte Parameter enthalten. Diese können sogar Bezug auf andere Zusatzfelder nehmen, die sie in unserem Editor konfiguriert haben. In der Regel ist das sogar sinnvoll.

 

Benutzerdefinierte ZusatzfelderZusatzfeld mit Onlineabfrage

Beispiel: Sie haben ein zusätzliches Eingabefeld für die Kundennummer erstellt. Es trägt sinnigerweise auch den Namen „Kundennummer“. Nun könnte die URL für Ihre Online-Abfrage etwa so aussehen:

https://www.example.com/chatstart.php?kunde=%Kundennumer%

Onlineabfrage

Die yalst-Software wird beim Abschicken des Chat-Startformulars dann die Zeichenkette %Kundennummer% durch die Eingabe des Besuchers ersetzen, welche dieser in das Zusatzfeld „Kundennummer“ getätigt hat. Wichtig ist, dass die Bezeichnung, hier also „Kundennummer“, an beiden Stellen absolut identisch ist. Tatsächlich wird dann also z.B. ein solcher Aufruf getätigt:

https://www.example.com/chatstart.php?kunde=12345

Ihr Skript „chatstart.php“, welches Sie natürlich selber erstellen und Ihren Bedürfnissen anpassen müssen, kann nun eine ganze Menge machen. Unsere Chat-Software ruft ihr Skript nämlich nicht nur einfach auf, es wertet auch seine Rückgaben aus.

Sie können z.B. in Ihrem System prüfen, ob diese Kundennummer überhaupt existiert.

Falls nicht, kann ihr Skript einfach den HTTP-Statuscode 422 zurückgeben und als Body den Text der Fehlermeldung. Dies führt den Besucher zurück ins Startformular unter Angabe Ihres Fehlermeldungstextes.

Durch die Rückgabe des HTTP-Statuscodes 423 erreichen Sie hingegen, dass es für Ihren Besucher so aussieht, als wäre der Chat offline. Das ist ideal für Kunden, die Sie vom Chat-Support aussperren möchten.

Soll der Besucher aufgrund der Kundennummer-Prüfung jedoch in den Chat gelassen werden, verwenden Sie bitte die HTTP-Statuscodes 200 oder 204. Der Unterschied zwischen den beiden ist, dass sich yalst beim Code 200 den Body Ihrer Rückgabe (bitte nur eine Zeile ausgeben!) merkt, und dem Operator anzeigt. In der Praxis bedeutet das, dass Sie Ihrem Chat-Agenten hier beliebige Informationen zu dieser Kundennummer in den Chat übermitteln können: Name, Saldo, Zahl der Bestellungen, … – was immer Sie möchten. Ein Tipp noch: Ihr Skript sollte natürlich eine kurze Laufzeit haben, um den Chat-Start nicht zu verzögern.

Sie sehen also: Die Online-Abfragen eröffnen Ihnen völlig neue Möglichkeiten! Für Ihre Rückfragen hierzu steht unser Support-Team gerne zur Verfügung. Eine kleine Einschränkung sollten wir vielleicht noch erwähnen, für dieses Feature benötigen Sie die Business-Edition von yalst.

Das yalst Live-Chat und die EU Datenschutz-Grundverordnung DSGVO

Momentan herrscht wegen der DSGVO, die am 25. Mai 2018 in Kraft getreten ist, noch eine ziemlich große Verwirrung. Da geht es um Datenschutzerklärungen, ADV-Verträge, Tracking, Cookies, Opt-Ins in Kontaktformularen und im Live Chat usw.

Wir haben uns schon eine ganze Weile auf diesen Tag vorbereitet, mit vielen Datenschützer und Anwälten gesprochen, Kurse besucht und natürlich auch unseren eigenen Datenschutzbeauftragten intensiv beschäftigt.

Dabei sind eine Reihe von Fakten, Tipps und Vorschlägen entstanden, die wir an dieser Stelle an Sie weitergeben möchten. Und das Schöne ist, wir können das am Beispiel unserer eigenen Seite zeigen, da an uns dieselben Datenschutzanforderungen gestellt werden wie an alle unsere Kunden.

Aber trotzdem: Wir wollen und dürfen hier keine Rechtsberatung machen und übernehmen für die hier getroffenen Aussagen keine rechtliche Garantie. Sie sollten immer auch Ihren Datenschutzbeauftragten, Ihren Anwalt oder Ihre Rechtsabteilung konsultieren.

Die Datenschutzerklärung

Unsere Datenschutzerklärung befindet sich hier. Die Zwecke B (Tracking) und C (Chat) im Abschnitt „Zweck der Verarbeitung“ beziehen sich dabei auf den yalst Live-Chat:

Zweck B: Protokollierung der Besuche der Webseite auf Basis der um ein Oktett anonymisierten IP-Adresse bzw. des um die Subdomain anonymisierten Hostnamen zur Auswertung der Besucheranzahl und der aufgerufenen Seiten

Zweck C: Bereitstellung eines LiveSupports in Form eines Live-Chats für die unmittelbare und zuverlässige Erreichbarkeit einer Kontaktperson in unserem Unternehmen

Die beiden Punkte werden im Abschnitt „Rechtsgrundlage der Verarbeitung“ näher erläutert. Beide Zwecke erfolgen dabei auf Grund der freiwilligen Einwilligung gemäß Art. 6 Abs. 1 Buchstabe a EU-DSGVO durch den Besucher der Webseite oder den Benutzer des Chats.

Wie wir diese Einwilligung beim Besucher einholen, wird in den nächsten Abschnitten für den Chat, das Kontaktformular und das Tracking erläutert.

Die Datenschutz-Informationen und Datenschutz-Einwilligung

In der Version 9.5 haben wir die Datenschutzmöglichkeiten erweitert. Neben den Datenschutz-Informationen gibt es nun auch die Datenschutz-Einwilligung im neuen Datenschutz-Abschnitt in der Administration unter Einstellungen.

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Datenschutzeinstellungen im Chat

Sobald man eine spezielle Datenschutzerklärung für den Chat als Text angibt oder einen HTML-Link zu einer bereits vorhanden Datenschutzerklärung in der Seite, wird dieser entsprechend im inPage-Chatfenster des Besuchers unten links verlinkt. Das gilt auch im Kontaktformular, falls der Chat offline ist. Es öffnet sich also entweder ein kleines Flyout im Chatfenster selbst oder die Datenschutzerklärung der Seite in einem neuen Tab.

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Datenschutzinformationen im Chat

Im PopUp-Chat gibt es keinen Textink, sondern ein entsprechendes §-Icon.

Die Einstellung „auch im Besucher-Chatfenster verlinken“ bewirkt, dass der Link zu den Datenschutzinformationen im kompletten Chat und nicht nur im Chatstartfenster verlinkt ist.

Wenn man im Eingabefeld „Datenschutz-Einwilligung“ einen Text einträgt, wird im Chatstartfenster, also noch vor Beginn des eigentlichen Chats, eine Checkbox angezeigt:Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Datenschutzeinwilligung im Chat
Dieser Opt-In ist der sichere Weg seinen Besuchern vor Start des Chats über die Speicherung der Chatdaten zu informieren. Die Checkbox ist ein Pflichtfeld, d.h., der Besucher muss also auf jeden Fall einwilligen oder das Chatfenster schließen.

Die Datenschutz-Einwilligung im Kontaktformular

Wenn man das in yalst integrierte Kontaktformular nutzen möchte, sollte auch dort ein entsprechender Opt-In integriert werden. Dazu gibt es die benutzerdefinierten Zusatzfelder im Unterpunkt „Kontaktformular“:

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Datenschutzeinwilligung im Kontaktformular

Dieses Zusatzfeld (hier für zwei Sprachen) erzeugt im Kontaktformular eine analoge Checkbox mit einem Text, in den der Besucher vor dem Abschicken der Anfrage einwilligen muss.

Opt-In oder Opt-Out beim Tracking?

Der yalst Live-Chat ist allerdings mehr als ein Chat, sondern auch ein Tracking-Tool. Man kann damit die Wirksamkeit der Seite prüfen und die Chatagenten bei ihrer Arbeit unterstützen, denn es kann sehr hilfreich sein, wenn der Agent sieht, z. B. auf welcher Seite der Besucher sich befindet oder welche Produkte er im Warenkorb hat.

An welcher Stelle und wie man den Besucher fragen soll, ob er dem Tracking zustimmt oder es nicht möchte, ist noch unklar, da es in diesem Punkt selbst unter den Datenschützern noch Diskussionen gibt. In diesem Blogartikel haben wir erläutert, wie ein Opt-Out funktioniert. Dabei kann der Besucher in der Datenschutzerklärung das Tracking abwählen. Das Ergebnis in unserer Datenschutzerklärung sah dann so aus:Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Opt-Out in der Datenschutzerklärung

Wir haben uns aber auf unserer Seite für eine radikalere Methode entschieden. So nutzen wir auf unserer Seite ein Opt-In und damit ein sehr altes Feature von yalst, die Trennung zwischen dem eigentlichen Chat und dem Tracking in zwei verschiedenen Einbindungen, welches plötzlich wieder ziemlich aktuell ist.

Unsere Webseite ist eine WordPress-Seite, aber auch in allen anderen Systemen sollte es ähnliche oder analoge Möglichkeiten geben. Wir haben erst einmal die Chatkomponente ohne Tracking ganz normal über unser yalst-WordPress-Plugin eingebunden. Dort wird der Einbindungscode benötigt, den wir im HTML-Codegenerator mit der Option:

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Ohne Tracking

erzeugen. Letztendlich führt das zu einem Einbindungscode mit „\x26count=no“, also zu einer „nichtzählenden“, also „nicht-trackenden“ Einbindung:

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Einbindungscode ohne Tracking

Wenn diese Code dann mittels des Plugins oder direkter Änderung des z. B. Footers-Templates in anderen Systemen dann dort eingebunden wird, kann der Besucher chatten, wird aber noch nicht getrackt.

Das Ganze haben wir nun mit einer Cookierichtlinie komplettiert, bei der es die Möglichkeit gibt, nach der Bestätigung durch den Besucher einen neuen Einbindungscode auszuführen. In WordPress benutzen wir dafür den Plugin Cookie Notice.

Mit einigen Einstellungen:

Das yalst-LiveSupportTool und die EU Datenschutz-Grundverordnung DSGVO - Cookie Notice

haben wir das Gewünschte erreicht.

Wichtig ist hierbei, dass man im Abschnitt „Script-Blockierung“ nochmal den analogen, jetzt kompletten Einbindungscode (ohne „\x26count=no) einfügt. Im HTML-Codegenerator also:

Datenschutz-Grundverordnung (EU-DSGVO) im yalst Live Chat - Mit Tracking

auswählen.

Auf der Webseite sieht das dann so aus, wenn der Besucher diese das erste Mal besucht:

Datenschutz-Grundverordnung (EU-DSGVO) im yalst Live Chat - Trackingeinwilligung

Wenn der Besucher einwilligt, wird die Seite neu geladen (muss bei diesem Plugin leider so sein) und wird ab dann getrackt. Wenn er nichts tut, bleibt die Layer offen und die „nicht-zählende“ Chateinbindung aktiv, so dass er trotzdem noch chatten kann.

Automatische Löschung von Chats

Das automatische Löschen von Chats nach einem bestimmten Zeitraum ist kein in yalst integriertes Feature, insbesondere weil dabei bestimmte Chats ausgenommen werden sollen, da diese bei Vertragsabschlüssen o.ä. zur Dokumentation erforderlich sind. Daher stellen wir dafür individuelle Cronjobs zur Verfügung. Wenn sie daran Interesse haben, kontaktieren Sie uns bitte.

Serverstandort und ADV-Verträge

Alle unsere Server stehen in Deutschland. Außerdem wird yalst auch ausschließlich in Deutschland programmiert. Das vereinfacht den Datenschutz außerordentlich.

Trotzdem sollten wir, wenn Sie einen Testzugang oder eine reguläre Version bestellen, zu Ihrer und zu unserer Absicherung einen ADV-Vertrag abzuschließen. Insbesondere bei der Nutzung der Cloud-Variante unserer Software durch Ihre Firma ist das notwendig, da wir verschiedene personenbezogene Daten Ihrer Kunden in den Chats und Statistiken auf unseren Servern gespeichert haben. Und damit Sie und natürlich auch die jeweilige Datenschutzbehörde verstehen, was wir wie mit Ihren Daten machen oder eben genau nicht machen, ist das unumgänglich. Eine bereits von uns unterschriebene Vorlage finden Sie hier. Bitte ergänzen Sie die noch fehlenden Informationen in den gelbfarbenen Feldern und senden Sie ein unterschriebenes und gescanntes Exemplar an info@visisoft.de zurück.

Wie wir hoffentlich zeigen konnten, bietet yalst alle Möglichkeiten, um sowohl den Chat selbst als auch das Tracking rechtssicher anzuwenden. Wenn Sie Fragen haben, kontaktieren Sie uns bitte per Chat, per E-Mail oder Telefon.

„Silent Mode“-Option im Installer der Desktop-App

  Zum leichteren Verteilen der yalst Desktop-App auf Windows-Clients bietet der Installer eine Still-Option („Silent Mode“) die über den /S Parameter auf der Kommandozeile aktiviert wird. In diesem Modus wird die Anwendung automatisch mit den Standardoptionen installiert ohne das weitere Eingaben erforderlich sind.

Bei Durchführung eines Upgrades im Silent Mode muss gewährleistet sein, dass keine alte Programm-Instanz ausgeführt wird, da der Uninstaller keine Warnung ausgibt. Das geht einfach, indem man dem Installer ein

voranschickt.

Ab Version 1.4.1 wird der Silent Mode umfassender unterstützt:

  • Die schon bestehende Version wird auch „Silent“ deinstalliert.
  • Das Standard-Ziel-Verzeichnis kann mit /D geändert werden: Z.B. /D=C:Program Filesyalst_foo. (Ohne Anführungszeichen auch bei Leerzeichen im Pfad)
  • Die Standard-Sprache (deutsch) kann mit /LANGUAGE=en-US auf englisch geändert werden
Installationsoptionen im Silent Mode (/S) des Installers ab Version 1.4.1
Installationsoptionen im Silent Mode (/S)StandardwertSilent-Mode Kommandozeilen-Parameter
Verzeichnis für Einstellungen%APPDATA%yalst(nicht möglich)
Verzeichnis für Programmdateien%ProgramFiles%yalst or %ProgramFiles(x86)%yalst on 64-bit/D z.B. /D=C:Program Filesfoo
Sprache der Anwendungsoberfächede-DE/LANGUAGE (z.Z. nur en-US und de-DE möglich)

Technische Basis unseres Installers ist das Nullsoft Scriptable Install System NSIS, das den  Silent Mode automatisch umsetzt.

Integrating the Chat in Native Apps

Overview

It is possible to offer the live chat for the visitor not just on web pages but in native apps as well. Such an app has to embed a WebView for the Chat Single Page App (SPA).

The Chat SPA powers the Chat on Mobile and the Tab Chat Directly on the Page in yalst. Basically it consists first of a customisable query form for collecting data pre-chat and seconds of the actual chat UI.

The Tab Chat Directly on the Page you’ll have most likely already encountered when creating the integration code as Admin as it is the first option there.

When embedding the chat in smartphone apps though, you’ll want to use the Chat on Mobile variant of the Chat SPA. It has the upper toolbar for changing the language and closing the chat and is optimised for touch screen.

Customising the Chat

The layout can be customised in the same ways as the Chat on Mobile by

  • define colours in the Admin Area,
  • customise the jQuery Mobile Theme using jQuery Themeroller

The functionality can be changed by injecting JavaScript into the SPA using

  • native WebView JavaScript bridge (see below), or
  • yalst Theme.

The Chat SPA offers a JavaScript API for interacting with your injected code.

Responsibilities for the Host App

There is no code generator for host apps as there is for host web pages in the yalst Admin Area.

It is the responsibility of the host app to guide the user towards the chat, e.g. by painting a chat button, detecting taps on the chat button and showing a view with the WebView containing the Chat SPA.

The app has to determine the availability of the service itself. Yalst provides web APIs for this purpose.

Here are some settings for configuring the Chat SPA using url query parameters:

  • site (required): yalst instance id (e.g. 1-1)
  • from (essential): text string shown in the incoming chat notification for the agent (could be the name of the host app)
  • direct(optional, boolean 1/0): skips the query form before chat start
  • dept (optional): character identifying a yalst department for routing the chat.
  • chat_id_param (optional): pick up a running chat
  • session_id_param (optional): pick up a running chat
  • department_id_param (optional): pick up a running chat

Embedding a WebView with the Chat SPA in a host app it needs not many more lines of code than for integration on a web page:

iOS

There is are a lot of guides and tutorials available for embedding a WKWebView in an iOS app.

The general procedure is given in a few lines of code as found e.g. on Stackoverflow:

As quick demo you can install the WKWebView Test app from the App Store and load a WKWebView with the address of the Chat SPA:

https://<yalst-server>/yalst/mobile/index.php?site<site id>&from=My%20Sample%App

For the JavaScript bridge between the Chat SPA and the host app one can use [WKWebView evaluateJavaScript] and WKUserContentController

Background Execution

Closing the host app has the same effect on a running chat as closing Mobile Safari or hiding the browser tab with the host web page on the desktop: The chat is put into a Sleep Mode indicated with a blue color bar in the agent’s chat window. The next time the app is activated it fetches the messages the agent might have send in the meantime.

In order to notify the user immediately the host app is required to enable Background Fetch Mode or Push Notifications. Background chat updates will be implemented in a later version or yalst.

Android

The procedure is similar to iOS: You’ll have to embed a WebView in your Android app. WebView is updated with Chrome from Android 4.4 on. However transferring files requires Android 5.

The sample app is configured to embed the live support chat for yalst.

The source code of the Android Sample App will be available on Github.

Background Execution

When closing the Android host app the Chat SPA can continue to run in the background to fetch messages from the agent. It however has no means to show a notification to the user. This must be implemented by the native host app.

On the other hand the Chat SPA can be put into Sleep Mode like on iOS. Entering and leaving Sleep Mode is not done automatically – events need to be sent by the host app.

Screenshots

Limitations (Roadmap)

  • The download of transferred images into the Camera Roll is currently not working on iOS.
  • The next update of the Android Sample App will resolve these issues:
    • The upload of files e.g. from the Photo Gallery
    • Download of the chat transcript
    • Cache performance

 

yalst als Schreibtelefon für Gehörlose

Mit Schreibtelefonen können Gehörlose miteinander oder auch mit Hörenden kommunizieren. Klassische Schreibtelefone sind seit 1975 verfügbar und besitzen eine Tastatur zur Texteingabe und LCD-Bildschirme, auf denen der geschriebene und der empfangene Text erscheinen. Die Schweizer Gehörlosenzentrale (www.gehoerlosenzentrale.ch), eine Einrichtung der Stiftung „Graham Bell“, hat es sich zur Aufgabe gemacht, Gehörlosen zu ermöglichen, hörende Gesprächspartner anzurufen. Der per Schreibtelefon übermittelte Text wird dem hörenden Teilnehmer vorgelesen und dessen Antwort als Text an den Gehörlosen zurückgesendet. Der Dienst ist für seine Nutzer kostenfrei und wird über Spenden finanziert.

Obwohl heute immer noch herkömmliche Schreibtelefone im Einsatz sind, spielt im 21. Jahrhundert das Internet bei diesem Vermittlungsdienst eine immer größere Rolle. So nutzt die Gehörlosenzentrale bereits seit einigen Jahren das yalst-LiveSupportTool als Alternative. Die Live-Chat-Software ist rein browserbasiert, so daß die Chats problemlos ohne zusätzliche Hard- oder Software geführt werden können. Zehntausende über yalst vermittelte Gespräche bestätigen die hohe Akzeptanz dieser Lösung.

Startfenster

Aber was ist, wenn ein Gehörloser unterwegs jemanden anrufen muß, z.B. weil ein vereinbarter Termin aufgrund einer Zugverspätung nicht eingehalten werden kann? Um dieses Problem zu lösen, hat Visisoft für die Gehörlosenzentrale eine angepaßte Version der yalst-ChatApp entwickelt, mit der Gehörlose den Vermittlungsdienst nun mobil und von überall nutzen können. Das Benutzerinterface während eines Chats mit der Vermittlung ähnelt dabei dem eingebauten Nachrichtenprogramm des iPhones. Bisherige Gespräche können in einer Historie nachgelesen werden, zusätzlich kann der Gehörlose eine Mitschrift der Konversation per E-Mail erhalten. Ist der gewünschte Gesprächspartner nicht sofort erreichbar, hat der Vermittler die Möglichkeit, den Gehörlosen über eine sogenannte Push-Notification zu benachrichtigen, sobald der hörende Teilnehmer verfügbar ist. Auf Vermittlerseite laufen die Gesprächsanfragen genau wie die Chats, welche von einem PC ausgehen, im Operator-Frontend vom yalst-LiveSupportTool auf.

 

Gehörlosen-App 1

 

Gehörlosen-App 2

 

Somit sind gehörlose Menschen nicht mehr von der mobilen Kommunikation ausgeschlossen – ein großer Schritt zu einer höheren Lebensqualität. Visisoft hat in diesem Projekt nicht nur die iPhone-App entwickelt, sondern auch die Hälfte der Entwicklungskosten getragen.

Die kostenlose App ist unter der Bezeichnung „gehörlosenzentrale.ch“  ausschließlich im Schweizer App Store erhältlich.