Funktionen

Die API Funktionen können direkt aus JavaScript aufgerufen werden. Beachten Sie dabei, dass die meisten Funktionen einen bestimmten Status voraussetzen, bspw. dass eine Serververbindung besteht.

Die Funktionen sind im globalen Objekt window.lcapi verfügbar, bspw. window.lcapi.me.setPresence().

Queue

Anstatt die Funktionen in window.lcapi direkt zu rufen, können Sie Ihre Befehle in eine Queue legen, die abgearbeitet wird, sobald sich der Client mit dem Server verbunden hat. Die Queue ist unter der globalen Variable window.lcapiQueue erreichbar. Um einen Befehl abzulegen, müssen Sie folgendes Format verwenden lcapiQueue.push([<Funktionsname>, <Parameter1>, <Parameter2>, ...]).

Beispiel um den Vor- und Nachnamen zu setzen, sobald eine Serververbindung besteht:

lcapiQueue = lcapiQueue || [];
lcapiQueue.push(['me.setPublicContactData', {u8sFirstName: 'Lena', u8sLastName: 'Frisch'}]);

Konventionen

Führt eine Funktion eine asynchrone Operation aus, kann als letzter Parameter eine Callback Funktion angegeben werden. Diese Funktion muss zwei Parameter besitzen. Der erste Parameter ist ein Error Objekt, welches im Fehlerfall gesetzt ist. Der zweite Parameter ist ein Response Objekt welches die Antwort bzw. das Ergebnis enthält. Beispiel:

lcapi.me.setPresence(0, function(err, res) {
    // Do something after the presence is set.
});

lcapi.me

Um den eigenen Kontakt zu ändern, stehen folgene Funktionen zur Verfügung.

lcapi.me.setPublicContactData(contactdata[, disablesContactForm, cb])

Setzt die Kontaktdetails für einen Webseitenbesucher.

Als Argument wird ein Kontaktobjekt erwartet. Die möglichen Felder sind in Datenstruktur Kontakt - öffentliche Felder beschrieben.

Die angegeben Felder werden mit evtl. existierenden zusammengeführt. D.h. wenn Sie ein Feld löschen wollen, müssen Sie den Wert mit einem Leerstring überschreiben.

Sie können diese Methode nur für Webseitenbesucher rufen. Nicht für Agenten.

Parameters:
  • contactdata (object) – Das Kontaktobjekt für den anonymen Benutzer.
  • disablesContactForm (boolean) – Das Kontaktdatenformular wird dem Webseitenbesucher initial einmal angezeigt, damit er seine Kontaktdaten eintragen kann. Wenn Sie über diese Funktion bereits alle relevanten Kontaktdaten setzen, können Sie mit diesem Flag einstellen, dass das Formular in Zukunft nicht mehr für diesen Benutzer angezeigt werden soll. Default: false.
  • cb (function or null) – Callback Funktion, die aufgerufen wird sobald die Daten an den Server übermittelt wurden.
lcapi.me.setPresence(presence[, cb])

Setzt die eigene Präsenz.

Mögliche Werte: 0 (verfügbar), 1 (abwesend), 2 (beschäftigt), 3 (nicht stören).

Sie können diese Methode nur für Agenten rufen. Nicht für Webseitenbesucher.

Parameters:
  • presence (number) – Die neue Präsenz.
  • cb (function or null) – Callback Funktion, die aufgerufen wird sobald die Präsenz an den Server übermittelt wurde.

Folgendes Beispiel setzt die Präsenz auf verfügbar.

lcapi.me.setPresence(0, function(err, res){});
lcapi.me.setCustomNote(note[, cb])

Setzt die eigene Notiz.

Diese Methode können Sie nur bei Agenten aufrufen.

Sie können diese Methode nur für Agenten rufen. Nicht für Webseitenbesucher.

Parameters:
  • note (string) – Die neue Notiz.
  • cb (function or null) – Callback Funktion, die aufgerufen wird sobald die Notiz am Server gesetzt wurde.

Folgendes Beispiel setzt die Notiz.

lcapi.me.setCustomNote('Some custom note', function(err, res){});

lcapi.presence

lcapi.presence.get(sip[, cb])

Liefert die Präsenz (siehe Datenstruktur Präsenz) zu einer SIP-Adresse. Falls kein Kontakt mit der Sip Adresse bekannt ist, wird ein Fehler zurückgeliefert.

Parameters:
  • sip (string) – Die Sip Adresse des Kontakts.
  • cb (function) – Callback Funktion, die aufgerufen wird sobald eine Präsenz ermittelt wurde.

Folgendes Beispiel gibt die Präsenz auf der Konsole aus.

lcapi.presence.get('sip:user@yourcompany.com', function(err, res){
  if (err) {
    console.log('No presence found');
  }
  else {
    console.log('Got presence:', res);
  }
});

lcapi.storage

Warning

Für diese API benötigen Sie einen UCServer >= 6.2.0.1045

Um Daten serverseitig zu Speichern, können Sie eine Key-Value Datenbank über die lcapi.storage API nutzen.

lcapi.storage.user.get(pluginId, key[, cb])

Liest einen Wert aus der Key-Value Datenbank. Der Wert ist benutzerspezifisch. Andere Benutzer können diesen Wert nicht lesen.

Parameters:
  • pluginId (string) – Id des Plugins.
  • key (string) – Schlüssel für den Wert.
  • cb – Callback Funktion, die mit dem gespeicherten Wert, bzw. einem Fehler aufgerufen wird.
lcapi.storage.user.set(pluginId, key, value[, cb])

Speichert einen Wert in der Key-Value Datenbank. Der Wert ist benutzerspezifisch. Andere Benutzer können diesen Wert nicht lesen.

Parameters:
  • pluginId (string) – Id des Plugins.
  • key (string) – Schlüssel für den Wert.
  • value (string) – Der String, der gespeichert wird. Andere Typen werden in ihre entsprechende String Darstellung überführt. Es können maximal 100 Kilobyte gespeichert werden.
  • cb – Callback Funktion, die aufgerufen wird sobald der Wert gespeichert wurde, bzw. falls ein Fehler auftritt.
lcapi.storage.global.get(pluginId, key[, cb])

Liest einen Wert aus der Key-Value Datenbank. Der Wert ist für alle Benutzer des Servers gleich.

Parameters:
  • pluginId (string) – Id des Plugins.
  • key (string) – Schlüssel für den Wert.
  • cb – Callback Funktion, die mit dem gespeicherten Wert, bzw. einem Fehler aufgerufen wird.
lcapi.storage.global.set(pluginId, key, value[, cb])

Speichert einen Wert in der Key-Value Datenbank. Der Wert ist für alle Benutzer des Servers gleich.

Parameters:
  • pluginId (string) – Id des Plugins.
  • key (string) – Schlüssel für den Wert.
  • value (string) – Der String, der gespeichert wird. Andere Typen werden in ihre entsprechende String Darstellung überführt. Es können maximal 100 Kilobyte gespeichert werden.
  • cb – Callback Funktion, die aufgerufen wird sobald der Wert gespeichert wurde, bzw. falls ein Fehler auftritt.

lcapi.textchat

lcapi.textchat.send(u8sConversationId, message[, cb])

Sendet eine neue Textnachricht.

Parameters:
  • u8sConversationId (string) – Die ID der Konversation in der die Nachricht verschickt werden soll.
  • message (string) – Die Nachricht die verschickt werden soll.
  • cb (function) – Callback Funktion, die aufgerufen wird sobald die Nachricht versendet wurde. Im Fehlerfall wird im ersten Parameter der Fehler zurückgeliefert.
lcapi.textchat.getConversation(u8sConversationId[, cb])

Liefert das Konversationsobjekt zu einer ID. Diese Methode sollte erst nach dem Event textchat-conversations-loaded aufgerufen werden.

Parameters:
  • u8sConversationId (string) – Die ID der Konversation.
  • cb (function) – Callback Funktion, die mit dem Ergebnis aufgerufen wird.

Beispiel zum Abruf einer Konversation.

lcapi.textchat.getConversation('55afa1ef-7c3b-bdfd-6986-0173d803f12b', function(err, res){
  if (err) {
    console.log(err); // e.g. "Conversation not found"
  }
  else {
    console.log('Got conversation:', res);
  }
});
lcapi.textchat.getConversations([cb])

Liefert alle Konversationen zurück. Siehe hierzu auch das Event textchat-conversations-loaded.

Parameters:cb (function) – Callback Funktion, die mit dem Ergebnis aufgerufen wird.
lcapi.textchat.loadMessages(u8sConversationId, iConvSequenceID, iLimit[, cb])

Liefert die Chatnachrichten in einer Konversation zurück.

Parameters:
  • u8sConversationId (string) – Die ID der Konversation.
  • iConvSequenceID (number) – ID der Chatnachricht, ab der zeitlich zurückliegende Nachrichten geladen werden soll. Geben Sie null an, wenn Sie die neuesten Nachrichten laden möchten.
  • iLimit (number) – Maximale Anzahl der Nachrichten die geladen werden sollen.
  • cb (function) – Callback Funktion, die mit dem Ergebnis aufgerufen wird.

lcapi.videochat

lcapi.videochat.accept(id[, cb])

Nimmt einen eingehenden VideoChat an.

Parameters:
  • id (string) – Die ID des VideoChats, siehe auch videochat-started.
  • cb (function) – Callback Funktion, die mit dem Ergebnis aufgerufen wird.
Raises:
  • Invalid id – Wenn eine ungültige ID übergeben wurde.
  • Invalid callstate – Wenn der VideoChat aufgrund seines Status nicht angenommen werden kann. Bspw. wenn er bereits beendet ist.
lcapi.videochat.end(id[, cb])

Beendet einen laufenden VideoChat oder lehnt einen eingehenden VideoChat ab.

Parameters:
  • id (string) – Die ID des VideoChats, siehe auch videochat-started.
  • cb (function) – Callback Funktion, die mit dem Ergebnis aufgerufen wird.
Raises:
  • Invalid id – Wenn eine ungültige ID übergeben wurde.
  • Invalid callstate – Wenn der VideoChat aufgrund seines Status nicht beendet bzw. abgelehnt werden kann. Bspw. wenn er bereits beendet ist.

lcapi.ui.button

lcapi.ui.button.enable(extensionPoint, pluginId, buttonId)

Aktiviert einen Plugin Button.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
lcapi.ui.button.disable(extensionPoint, pluginId, buttonId)

Deaktiviert einen Plugin Button. Der Button ist daraufhin weiterhin sichtbar jedoch ausgegraut und nicht mehr klickbar.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
lcapi.ui.button.hide(extensionPoint, pluginId, buttonId)

Versteckt einen Plugin Button. Es wird das hidden Attribut hinzugefügt.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button versteckt werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
lcapi.ui.button.show(extensionPoint, pluginId, buttonId)

Zeigt einen Plugin Button an. Es wird das hidden Attribut entfernt.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button angezeigt werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
lcapi.ui.button.setLabel(extensionPoint, pluginId, buttonId, label)

Ändert das Label für einen Plugin Button.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
  • label (string) – Das neue Label für den Button. Es kann ein String sein, oder ein Key zu einem Label. Siehe Labels und Internationalisierung.
lcapi.ui.button.setIcon(extensionPoint, pluginId, buttonId, icon)

Ändert das Icon für einen Plugin Button.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • buttonId (string) – Die ID des Buttons.
  • icon (string) –

    Das neue Icon für den Button. Sie können alle Icons aus der Material Design Spezifikation wählen.

    Bei mehrwörtigen Icons müssen die Leerzeichen durch einen Bindestrich ersetzt werden.

    Unterstriche müssen durch einen Bindestriche ersetzt werden.

    Sollten Sie ein Icon auswählen welches nicht aus der Kategorie Action stammt, müssen die die Kategorie als Prefix vor den Iconnamen setzen.

    Beispiele: 3d-rotation, accessibility, av:add-to-queue

lcapi.ui.dialog

lcapi.ui.dialog.open(pluginId, dialogId)

Öffnet den Dialog, falls er noch nicht angezeigt wird.

Parameters:
  • pluginId (string) – Die ID des Plugins.
  • dialogId (string) – Die ID des Dialogs.
lcapi.ui.dialog.close(pluginId, dialogId)

Schließt den Dialog, falls er angezeigt wird.

Parameters:
  • pluginId (string) – Die ID des Plugins.
  • dialogId (string) – Die ID des Dialogs.

lcapi.ui.pane

lcapi.ui.pane.open(extensionPoint, pluginId, paneId)

Öffnet die entsprechende Pane, falls sie geschlossen ist.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Pane geöffnet werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane.
lcapi.ui.pane.close(extensionPoint, pluginId, paneId)

Schließt die entsprechende Pane, falls sie geöffnet ist.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Pane geschlossen werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane.
lcapi.ui.pane.closeAllOther(extensionPoint, pluginId, paneId)

Schließt alle anderen Panes, außer der angegebenen.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Panes geschlossen werden sollen. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane, die offen bleiben soll.
lcapi.ui.pane.hide(extensionPoint, pluginId, paneId)

Blendet die entsprechende Pane aus. Hierfür wird das hidden Attribut gesetzt.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Pane ausgeblendet werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane.
lcapi.ui.pane.show(extensionPoint, pluginId, paneId)

Zeigt eine Pane an, falls sie bisher ausgeblendet wurde. Hierfür wird das hidden Attribut entfernt.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Pane angezeigt werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane.
lcapi.ui.pane.scrollTo(extensionPoint, pluginId, paneId)

Scrollt zu der entsprechenden Pane, damit diese im sichtbaren Bereich ist.

Parameters:
  • extensionPoint (string) – Der Extensionpoint bei dem die Pane in den sichtbaren Bereich gescrollt werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • pluginId (string) – Die ID des Plugins.
  • paneId (string) – Die ID der Pane.
lcapi.ui.pane.scrollToTop(extensionPoint)

Scrollt die Extension Pane nach oben.

Parameters:
  • extensionPoint (string) – Der Extensionpane die nach oben gescrollt werden soll. Wildcards wie z.B. agentclient.livechat.* werden unterstützt.
  • cb – Callback Funktion, die mit dem neuen Status, bzw. einem Fehler aufgerufen wird.