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¶
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.
- extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B.
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.
- extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B.
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.
- extensionPoint (string) – Der Extensionpoint bei dem der Button versteckt werden soll. Wildcards wie z.B.
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.
- extensionPoint (string) – Der Extensionpoint bei dem der Button angezeigt werden soll. Wildcards wie z.B.
Ä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.
- extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B.
Ä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
- extensionPoint (string) – Der Extensionpoint bei dem der Button geändert werden soll. Wildcards wie z.B.
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Pane geöffnet werden soll. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Pane geschlossen werden soll. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Panes geschlossen werden sollen. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Pane ausgeblendet werden soll. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Pane angezeigt werden soll. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpoint bei dem die Pane in den sichtbaren Bereich gescrollt werden soll. Wildcards wie z.B.
-
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.
- extensionPoint (string) – Der Extensionpane die nach oben gescrollt werden soll. Wildcards wie z.B.