logoDokumentation
Suchen

Erweiterter Leitfaden: LiveDesk Widget-SDK für Websites

Der Website-Kanal ermöglicht erweiterte Konfigurationsmöglichkeiten über die LiveDesk Widget-SDK-Schnittstelle, um individuelle Nutzerbedürfnisse optimal zu erfüllen. Mit diesem Leitfaden richten Sie Ihr Chat-Widget gezielt ein und passen es flexibel an Ihre Anforderungen an. Die folgenden Anleitungen unterstützen Sie bei der optimalen Nutzung der LiveDesk SDK-Funktionen und bei der effizienten Konfiguration Ihres LiveChat Widgets.

LiveDesk Widget-SDK-Schnittstelle

UserID und Nutzerinformationen setzen (Normalmodus)

window.addEventListener("livedesk:ready", function () { window.$livedesk.setUserId("Eindeutige User-ID (z. B. user_id)", { // Erster Parameter ist der eindeutige Bezeichner email: "user@example.com", name: "Benutzername", avatar_url: "https://example.com/avatar.jpg", // Optional phone_number: "+1234567890" // Optional }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setUserId("Eindeutige User-ID (z. B. user_id)", {  // Erster Parameter ist der eindeutige Bezeichner
    email: "user@example.com",
    name: "Benutzername",
    avatar_url: "https://example.com/avatar.jpg",  // Optional
    phone_number: "+1234567890"  // Optional
  });
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

UserID und Nutzerinformationen setzen (Verschlüsselter Modus)

Aktivieren Sie die Authentifizierung (empfohlen): So verhindern Sie Fälschungen und stellen die browserübergreifende Sitzungsbeständigkeit sicher. Aktivieren Sie dazu HMAC in der Konfiguration (verwenden Sie SHA256 zur Erstellung von identifier_hash). Beispiel (JavaScript):

const crypto = require('crypto'); const key = 'Ihr HMAC-Token'; // Aus den Postfacheinstellungen kopieren const message = 'Eindeutige User-ID'; const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex'); // Beim setUser anhängen window.$livedesk.setUserId("Eindeutige User-ID", { ...andere Infos, identifier_hash: identifier_hash });
              
              const crypto = require('crypto');
const key = 'Ihr HMAC-Token';  // Aus den Postfacheinstellungen kopieren
const message = 'Eindeutige User-ID';
const identifier_hash = crypto.createHmac('sha256', key).update(message).digest('hex');

// Beim setUser anhängen
window.$livedesk.setUserId("Eindeutige User-ID", {
  ...andere Infos,
  identifier_hash: identifier_hash
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Konversationsspezifische Attribute setzen

window.$livedesk.setConversationCustomAttributes({ utm_source: "google", // Beispiel: UTM auf Sitzungsebene session_type: "support" });
              
              window.$livedesk.setConversationCustomAttributes({
  utm_source: "google",  // Beispiel: UTM auf Sitzungsebene
  session_type: "support"
});

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • Diese benutzerdefinierten Variablen werden unter Livedesk – Konversation – Konversationsinformationen angezeigt.

Kontaktbezogene Attribute setzen

window.addEventListener("livedesk:ready", function () { window.$livedesk.setCustomAttributes({ pricing_plan: "premium", // Schlüssel: Vordefinierter eindeutiger Bezeichner, Wert: entsprechend Typ setzen (z. B. String) signup_date: new Date(), // Beispiel: Datumstyp account_id: 123 // Beispiel: Zahlentyp }); });
              
              window.addEventListener("livedesk:ready", function () {
  window.$livedesk.setCustomAttributes({
    pricing_plan: "premium",  // Schlüssel: Vordefinierter eindeutiger Bezeichner, Wert: entsprechend Typ setzen (z. B. String)
    signup_date: new Date(),  // Beispiel: Datumstyp
    account_id: 123           // Beispiel: Zahlentyp
  });
});

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • Diese benutzerdefinierten Variablen werden unter „Livedesk – Konversation – Kontaktattribute“ angezeigt.

Nutzerattribut löschen

Löscht das angegebene benutzerdefinierte Nutzerattribut.

window.$livedesk.deleteCustomAttribute("pricing_plan"); // Name des Attribut-Schlüssels (String)
              
              window.$livedesk.deleteCustomAttribute("pricing_plan"); // Name des Attribut-Schlüssels (String)

            
Diesen Codeblock im schwebenden Fenster anzeigen

Chat-Widget-Status umschalten

Öffnet oder schließt das Chat-Widget.

window.$livedesk.toggle(); // Widget gezielt öffnen/schließen window.$livedesk.toggle("open"); // Chat-Widget öffnen window.$livedesk.toggle("close"); // Chat-Widget schließen
              
              window.$livedesk.toggle();

// Widget gezielt öffnen/schließen
window.$livedesk.toggle("open"); // Chat-Widget öffnen
window.$livedesk.toggle("close"); // Chat-Widget schließen

            
Diesen Codeblock im schwebenden Fenster anzeigen

Chat-Bubble ein- oder ausblenden

window.$livedesk.toggleBubbleVisibility('hide'); // einblenden/ausblenden
              
              window.$livedesk.toggleBubbleVisibility('hide'); // einblenden/ausblenden

            
Diesen Codeblock im schwebenden Fenster anzeigen

Popout-Modus

Öffnet die Chat-Oberfläche im Popout-Fenster.

window.$livedesk.popoutChatWindow();
              
              window.$livedesk.popoutChatWindow();

            
Diesen Codeblock im schwebenden Fenster anzeigen

Sprache festlegen

Widget-Sprache festlegen

window.$livedesk.setLocale("de"); // Sprachcode als String, Beispiel: zh-CN
              
              window.$livedesk.setLocale("de"); // Sprachcode als String, Beispiel: zh-CN

            
Diesen Codeblock im schwebenden Fenster anzeigen

Labels hinzufügen/entfernen

Fügt dem aktuellen Gespräch ein Label hinzu (vor Beginn der Konversation); das Label wird automatisch zugeordnet.

window.$livedesk.setLabel('support-ticket'); // String: Label-Bezeichner window.$livedesk.removeLabel('support-ticket');
              
              window.$livedesk.setLabel('support-ticket'); // String: Label-Bezeichner
window.$livedesk.removeLabel('support-ticket');

            
Diesen Codeblock im schwebenden Fenster anzeigen

LiveDesk Widget-Konfigurationsobjekt

Das globale Konfigurationsobjekt wird während der Initialisierung (vor dem Laden des SDKs) gesetzt, um das Verhalten des Widgets individuell anzupassen. Definieren Sie es über window.livedeskSettings und übergeben Sie es anschließend an window.livedeskSDK.run().

Objekt-Eigenschaften

Eigenschaftsname Typ Erläuterung Standardwert Beispiel
hideMessageBubble boolean Nachrichten-Bubble ausblenden false true
showUnreadMessagesDialog boolean Dialog für ungelesene Nachrichten anzeigen true false
position string Widget-Position 'right' 'left'
locale string Standard-Sprachcode Dashboard-Sprache 'zh-CN'
useBrowserLanguage boolean Browsersprache verwenden (locale ignorieren) false true
type string Widget-Typ 'standard' 'expanded_bubble'
darkMode boolean Dunkelmodus aktivieren false true
baseDomain string Basis-Domain (optional, für Multi-Domain) 'example.com'
launcherTitle string Titel des Launchers 'Support'
showPopoutButton boolean Popout-Button anzeigen true false
welcomeTitle string Titel der Begrüßung 'Willkommen!'
welcomeDescription string Begrüßungsbeschreibung 'Wie können wir Ihnen helfen?'
availableMessage string Online-Nachricht 'Wir sind online.'
unavailableMessage string Offline-Nachricht 'Wir antworten später.'
enableFileUpload boolean Dateiupload aktivieren true false
enableEmojiPicker boolean Emoji-Auswahl aktivieren true false
enableEndConversation boolean Schaltfläche „Konversation beenden“ aktivieren true false

Beispielcode

<script> // 1. Globale Konfiguration vor dem Laden von sdk.js setzen (muss am Anfang des Skripts stehen) window.livedeskSettings = { // Widget-Position: unten links (Standard ist unten rechts) position: "left", // Sprache auf vereinfachtes Chinesisch festlegen (zeigt Chinesisch auch bei englischem Browser) locale: "zh-CN", // Automatische Erkennung der Browsersprache (bei Priorisierung der Nutzersprache auf true setzen und locale entfernen) // useBrowserLanguage: true, // Widget-Typ: expanded_bubble = große Bubble (mit Begrüßung), standard = klassische kleine Bubble type: "expanded_bubble", // Dunkelmodus (automatisch nach System oder erzwingen) darkMode: "auto", // Mögliche Werte: true | false | "auto" // Kleines Bubble-Icon unten ausblenden (geeignet für eigene Buttons) hideMessageBubble: false, // „Popout-Fenster“-Pfeil unten rechts ausblenden showPopoutButton: false, // Benutzerdefinierter Launcher-Titel (wird im expanded_bubble-Modus angezeigt) launcherTitle: "Online-Support", // Begrüßung (nur im expanded_bubble-Modus wirksam) welcomeTitle: "Hallo! Wie können wir Ihnen helfen?", welcomeDescription: "Wir antworten in der Regel innerhalb weniger Minuten~", // Hinweistext bei Online-/Offline-Status availableMessage: "Wir sind online und für Sie da", unavailableMessage: "Wir sind aktuell offline und melden uns schnellstmöglich während der Geschäftszeiten", // Funktionsschalter enableFileUpload: true, // Dateiupload erlauben enableEmojiPicker: true, // Emojis erlauben enableEndConversation: true, // Nutzer können Konversation aktiv beenden // Weitere Optionen (bei Bedarf aktivieren) // showUnreadMessagesDialog: true, // Pop-up bei ungelesenen Nachrichten (Standard: true) // baseDomain: "yourcompany.com", // Für Multi-Domain-Einsatz }; </script> <!-- 2. LiveDesk Widget SDK laden (eigene Domain und Token eintragen) --> <script> (function(d,t) { var BASE_URL="https://www.engagelab.com"; // ← Eigene LiveDesk-Adresse eintragen var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; g.src=BASE_URL+"/packs/js/sdk.js"; g.defer = true; g.async = true; s.parentNode.insertBefore(g,s); g.onload=function(){ window.livedeskSDK.run({ websiteToken: 'abcdefgh1234567890abcdefgh123456', // ← Eigenen Website-Token einfügen baseUrl: BASE_URL }); } })(document,"script"); </script>
              
              <script>
// 1. Globale Konfiguration vor dem Laden von sdk.js setzen (muss am Anfang des Skripts stehen)
window.livedeskSettings = {
  // Widget-Position: unten links (Standard ist unten rechts)
  position: "left",

  // Sprache auf vereinfachtes Chinesisch festlegen (zeigt Chinesisch auch bei englischem Browser)
  locale: "zh-CN",

  // Automatische Erkennung der Browsersprache (bei Priorisierung der Nutzersprache auf true setzen und locale entfernen)
  // useBrowserLanguage: true,

  // Widget-Typ: expanded_bubble = große Bubble (mit Begrüßung), standard = klassische kleine Bubble
  type: "expanded_bubble",

  // Dunkelmodus (automatisch nach System oder erzwingen)
  darkMode: "auto",        // Mögliche Werte: true | false | "auto"

  // Kleines Bubble-Icon unten ausblenden (geeignet für eigene Buttons)
  hideMessageBubble: false,

  // „Popout-Fenster“-Pfeil unten rechts ausblenden
  showPopoutButton: false,

  // Benutzerdefinierter Launcher-Titel (wird im expanded_bubble-Modus angezeigt)
  launcherTitle: "Online-Support",

  // Begrüßung (nur im expanded_bubble-Modus wirksam)
  welcomeTitle: "Hallo! Wie können wir Ihnen helfen?",
  welcomeDescription: "Wir antworten in der Regel innerhalb weniger Minuten~",

  // Hinweistext bei Online-/Offline-Status
  availableMessage: "Wir sind online und für Sie da",
  unavailableMessage: "Wir sind aktuell offline und melden uns schnellstmöglich während der Geschäftszeiten",

  // Funktionsschalter
  enableFileUpload: true,       // Dateiupload erlauben
  enableEmojiPicker: true,      // Emojis erlauben
  enableEndConversation: true,  // Nutzer können Konversation aktiv beenden

  // Weitere Optionen (bei Bedarf aktivieren)
  // showUnreadMessagesDialog: true,   // Pop-up bei ungelesenen Nachrichten (Standard: true)
  // baseDomain: "yourcompany.com",    // Für Multi-Domain-Einsatz
};

</script>

<!-- 2. LiveDesk Widget SDK laden (eigene Domain und Token eintragen) -->
<script>
  (function(d,t) {
    var BASE_URL="https://www.engagelab.com";          // ← Eigene LiveDesk-Adresse eintragen
    var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
    g.src=BASE_URL+"/packs/js/sdk.js";
    g.defer = true;
    g.async = true;
    s.parentNode.insertBefore(g,s);
    g.onload=function(){
      window.livedeskSDK.run({
        websiteToken: 'abcdefgh1234567890abcdefgh123456',  // ← Eigenen Website-Token einfügen
        baseUrl: BASE_URL
      });
    }
  })(document,"script");
</script>

            
Diesen Codeblock im schwebenden Fenster anzeigen

LiveDesk Widget Event-Listener

Event-Name Beschreibung Beispiel für einen Event-Listener
livedesk:ready Das SDK ist vollständig geladen; Methoden können jetzt sicher aufgerufen werden. window.addEventListener('livedesk:ready', () => { /* Initialisierung */ });
livedesk:on-message Wird ausgelöst, sobald eine neue Nachricht eingeht. window.addEventListener('livedesk:on-message', (data) => { console.log(data); });
livedesk:error Wird bei einem SDK-Fehler ausgelöst (ab Version 2.3.0). window.addEventListener('livedesk:error', (error) => { console.error(error); });

Mit dieser Anleitung konfigurieren Sie Ihr Chat-Widget effizient und individuell – für optimale Nutzererlebnisse und maximale Kontrolle über Ihre LiveChat-Kommunikation.

Weitere Informationen:
LiveDesk SDK Dokumentation
Jetzt Demo buchen

icon
Vertrieb kontaktieren