Die Klingelstrategie "iQueue" (siehe auch "043 - iQueue auf der STARFACE konfigurieren" und "Auswertung für die iQueue konfigurieren") bietet für externe Anwendungen einen Zugriff auf die Live-Daten, wie auch auf History-Daten. Für die beiden Schnittstellen wird die XML-RPC Technologie genutzt. Die Live-Daten einer iQueue werden über die XML-RPC-Funktion "Queue.getLiveData" aufgerufen, welche einen Eingabeparameter erwartetLa stratégie de sonnerie « iQueue » (voir aussi « Configurer l’iQueue sur STARFACE » und « Configurer l’analyse pour l’iQueue ») permet aux applications externes d'accéder à des données en direct et à des données historiques. La technologie XML-RPC est utilisée pour les deux interfaces. Les données en direct d'une iQueue sont appelées à l'aide de la fonction XML-RPC « Queue.getLiveData », qui attend un paramètre d'entrée :
<name>queueName</name> <string>…</string>
Diese Funktion liefert folgende RückgabewerteCette fonction renvoie les valeurs suivantes :
callersLiveData (LIST) - Dieser Rückgabewert ist eine Liste, die wiederum Maps als Elemente enthält. Jede Map enthält Informationen (Schlüssel -> Wert) über genau einen Anrufer, der sich zu dieser Zeit in der Warteschlange befindet. Die Liste ist nach der Position des Anrufers in der Queue sortiert. Jede Map enthält die folgenden Schlüssel:Cette valeur de retour est une liste, qui à son tour contient des maps comme éléments. Chaque mappe contient des informations (clé -> valeur) sur exactement un appelant qui se trouve dans la queue à ce moment-là. La liste est triée en fonction de la position de l'appelant dans la queue. Chaque mappe contient les clés suivantes :
Nom | Type | Description | ||||
---|---|---|---|---|---|---|
Callerid | String | L'ID unique de l'appel | ||||
Name | Typ | Beschreibung | ||||
Callerid | String | Die eindeutige ID des Anrufs (z.B.: 995624b0-7385-404d-a658-dc942a1cbfe9) | ||||
CallerNumber | StringDie Telefonnummer des Anrufers | Le numéro de téléphone de l'appelant | ||||
CallerName | StringName | von des Anrufers in der Form "Gewählte Nummer: AnruferName Anrufernummer" (z.B.: 154813: Hans Mustermann Nom de l'appelant sous la forme « Numéro composé : Nom de l'appelant Numéro de l'appelant » (par exemple : 154813 : John Doe 01238756) | ||||
CallerChannel | StringDie | eindeutige ID des Anruferkanals (dies ist kein Rufkanal im physischen SinneL'ID unique du canal d'appel (ce n'est pas un canal d'appel au sens physique du terme !) | ||||
CallerPriority | IntPriorität des Anrufs | Priorité d'appel | ||||
CallerTime | String | Der Unix-Timestamp des Eintritts in die Warteschlange (z.B.L'horodatage Unix de l'entrée dans la queue (par exemple : 1304682789341) | ||||
CallerPosition | IntZeigt die aktuelle Position des Anrufers in der Warteschlange an. Die Position kann unter Umständen kurzzeitig von der tatsächlichen Position in der Queue abweichen. Ist der Anruf bereits durchgestellt, ist der Wert des Schlüssels | Indique la position actuelle de l'appelant dans la queue. La position peut s'écarter temporairement de la position réelle dans la queue. Si l'appel est déjà passé, la valeur de la touche est -1. | ||||
CallerState | String | Ein Anruf kann einen von vier Zuständen habenUn appel peut avoir lieu dans l'un des quatre états :
| ||||
AgentId | String | L'ID de connexion de l'agent auquel l'appelant est connecté (par exemple : 0013). Cette valeur est vide pour les statuts d'appel « CALLING » et « WAITING ». | ||||
AgentName | String | Nom de l'agent auquel l'appelant est connecté. Cette valeur est vide pour les statuts d'appel « CALLING » et « WAITING » | Die Login-ID des Agenten, mit dem der Anrufer verbunden ist (z.B.: 0013). Dieser Wert ist für Caller-Status "CALLING" und "WAITING" leer | AgentName | String | Name des Agenten, mit dem der Anrufer verbunden ist. Dieser Wert ist für Caller-Status "CALLING" und "WAITING" leer. |
agentsLiveData (MAP) - Dieser Rückgabeparameter ist eine Map, die wiederum Maps als Elemente enthält. Schlüssel der Map ist die Login-ID des Agenten. Jede Element-Map enthält Informationen (Schlüssel -> Wert) über einen Agenten:Ce paramètre de retour est une map, qui à son tour contient des mappes comme éléments. La clé de la map est le ID de connexion de l'agent. Chaque map d'éléments contient des informations (clé -> valeur) sur un agent :
Nom | Type | Description | Name | Typ | Beschreibung |
---|---|---|---|---|---|
AgentId | StringLogin | -ID des AgentenID de connexion de l'agent | |||
AgentName | StringName des Agenten | Nom de l'agent | |||
AgentGroupState | String | Zeigt an, ob der Agent momentan in der Gruppe angemeldet ist oder nicht. Mögliche Werte sind:
| Indique si l'agent est actuellement connecté au groupe ou non. Les valeurs possibles sont :
| ||
AgentUserState | String | Affiche le statut d'utilisateur d'un agent. Les valeurs possibles sont | AgentUserState | String | Zeigt den Benutzer-Status eines Agenten an. Mögliche Werte sind :
|
AgentPhoneState | String | Zeigt die telefonische Erreichbarkeit (Status) eines Agenten:
|
History Schnittstelle
Die historischen Daten einer iQueue werden über die XML-RPC-Funktion "Queue.getHistoryData" aufgerufen. Der Eingabeparameter hierfür ist ein "struct" mit drei Wertangaben:
Indique la disponibilité téléphonique (statut) d'un agent :
|
Interface d'historique
Les données historiques d'une iQueue sont appelées à l'aide de la fonction XML-RPC « Queue.getHistoryData ». Le paramètre d'entrée pour cela est une « struct » avec trois spécifications de valeur :
Nom | Type | Description |
---|---|---|
queueName | String | Nom du groupe iQueue souhaité |
from | dateTime.iso8601 | Début de l'intervalle de temps (doit contenir une valeur de temps conforme au XML-RPC |
Name | Typ | Beschreibung |
queueName | String | Name der gewünschten iQueue-Gruppe |
from | dateTime.iso8601 | Beginn der Zeitspanne (muss einen XML-RPC konformen Zeit-Wert enthalten) |
to | dateTime.iso8601 | Ende der Zeitspanne Fin de la période (muss einen XML-RPC konformen Zeit-Wert enthalten) |
Diese Funktion hat einen RückgabewertCette fonction a une valeur de retour :
queueHistoryData (LIST) - Die Elemente der Liste sind Maps und jede Map enthält Informationen über genau einen Anruf. Die Liste ist nach dem Timestamp der Anrufe sortiert. Jedes Element der Liste enthält die folgenden Schlüssel:Les éléments de la liste sont des mappes et chaque map contient des informations sur un appel précis. La liste est triée en fonction de l'horodatage des appels. Chaque élément de la liste contient les clés suivantes :
Nom | Type | Description | Name | Typ | Beschreibung |
---|---|---|---|---|---|
callId | String | ID des Calls in der DB beginnend mit de l'appel dans la base de données commençant par 1. | |||
callStepId | IntFügt mehrere Einträge verschiedener User zusammen wenn sie zu einem Call gehören | Fusionne plusieurs entrées de différents utilisateurs s'ils appartiennent à un même appel. | |||
callLegUUID | String | Eindeutige ID des CallLegsunique du CallLeg | |||
agentId | String | Login des Agenten der den Ruf angenommen hat / Leeres Feld = Nicht angenommener Rufde l'agent qui a accepté l'appel/Champ vide = Appel non accepté | |||
cdrAccountId | IntAccount ID des Users dem der Ruflisteneintrag gehört. | ID de compte de l'utilisateur auquel l'entrée de la liste d'appels appartient | |||
callerAccountId | IntAccount ID des Anrufers falls es ein interner User war, sonst leer. | ID de compte de l'appelant s'il s'agit d'un utilisateur interne, sinon vide | |||
calledAccountId | IntAccount ID des Angerufenen falls es ein interner User war, sonst leer. | ID de compte de l'appelé s'il s'agit d'un utilisateur interne, sinon vide | |||
calledCallerId | StringCallerid wie sie auf dem Telefon angezeigt wird. | CallerId tel qu'il est affiché sur le téléphone | |||
startTime | StringStartzeitpunkt des Calls als Unix Timestamp | Début de l'appel sous forme d'horodatage Unix | |||
ringingtime | StringStartzeitpunkt des Klingeln beim Agenten des Calls als Unix Timestamp | Début de la sonnerie chez l'agent de l'appel en tant qu'horodatage Unix | |||
linktime | StringVebunden mit dem Agenten als Unix Timestamp | Connexion à l'agent sous forme d'horodatage Unix | |||
callresulttime | StringDer Anruf wurde beendet als Unix Timestamp | L'appel a été terminé sous forme d'horodatage Unix | |||
callresult | StringDas Ergebnis des Callabschnitts. | Le résultat de la section d'appel | |||
callResultCauseBy | IntAccountid des Users der das Ergebnis ausgelöst hat. | AccountId de l'utilisateur qui a déclenché le résultat | |||
lineid | IntDie | verwendete LeitungLa ligne utilisé | |||
lineName | StringName der verwendeten Leitung | Nom de la ligne utilisée | |||
callbacknumber | StringDie Rückrufnummer des Gegenparts zu dem dem der Ruflisteneintrag gehört | Le numéro de rappel de l'autre partie à laquelle appartient l'entrée de la liste d'appel | |||
answeredelswere | StringNur gefüllt wenn der Anruf von jemand anderem beantwortet wurde | Remplie uniquement si l'appel a été répondu par une autre personne | |||
incoming | Boolean | True für einen eingegangen Anrufpour un appel entrant | |||
answered | Boolean | True für einen beantworteten Anrufpour une réponse à un appel | |||
hasvoicemail | Boolean | True falls eine Voicemail aufgezeichnen wurde.si un message vocal a été enregistré | |||
hasmonitor | Boolean | True für eine Aufzeichnung des Gesprächspour un enregistrement de la conversation | |||
callbacknumberextern | Boolean | True falls die Rückrufnummer eine externe Nummer ist |
Beispiel
si le numéro de rappel est un numéro externe |
Exemple
Par la méthode post Per Post Methode :
http://IP-ADRESSE/xml-rpc?de.vertico.starface.auth=$LoginID:SHA512($LoginID*SHA512($Passwort))
Das Passwort wird im ersten Schritt mit SHA512 gehasht. Danach wird dieser Hash nochmals mit der LoginID als Präfix und dem Trennzeichen * erneut gehasht. Für einen Benutzer mit den folgenden EckdatenLe mot de passe est d'abord haché avec SHA512. Ensuite, ce hachage est à nouveau haché avec le LoginID comme préfixe et le séparateur *. Pour un utilisateur ayant les données clés suivantes :
LoginID = 0001
Passwort Mot de passe = starface
IP-Adresse der Starface Adresse IP du Starface = 192.168.0.100
ergibt sich als Aufruf-URL für résulte en une URL d'appel pour XML-RPC :
http://192.168.0.100/xml-rpc?de.vertico.starface.auth=0001:5273503e607e5b24eeb48a3f71c53eb50df6b6622839ecd7149e248893f627d05d8d4af88cf36b3d7d5cd5d1d559dfa1c10404067d8c0f37a138c6546dad7ef7Der Body würde dann z.B. so aussehen
Le corps ressemblerait alors à ceci, par exemple :
Codeblock | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>Queue.getHistoryData</methodName> <params> <param> <value> <struct> <member> <name>queueName</name> <value> <string>testIq</string> </value> </member> <member> <name>from</name> <value> <dateTime.iso8601>20150701T12:59:05</dateTime.iso8601> </value> </member> <member> <name>to</name> <value> <dateTime.iso8601>20160701T12:59:05</dateTime.iso8601> </value> </member> </struct> </value> </param> </params> </methodCall> |
...