Seitenhierarchie

Suche

La 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>

Cette fonction renvoie les valeurs suivantes :

callersLiveData (LIST) - 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 :

NomTypeDescription
CalleridStringL'ID unique de l'appel (z.B.: 995624b0-7385-404d-a658-dc942a1cbfe9)
CallerNumberStringLe numéro de téléphone de l'appelant
CallerNameStringNom de l'appelant sous la forme « Numéro composé : Nom de l'appelant Numéro de l'appelant » (par exemple : 154813 : John Doe 01238756)
CallerChannelStringL'ID unique du canal d'appel (ce n'est pas un canal d'appel au sens physique du terme !)
CallerPriorityIntPriorité d'appel
CallerTimeStringL'horodatage Unix de l'entrée dans la queue (par exemple : 1304682789341)
CallerPositionIntIndique 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.
CallerStateString

Un appel peut avoir lieu dans l'un des quatre états :

  1. WAITING           - L'appelant est en attente dans la queue.

  2. RINGING           - Une tentative est faite pour transférer l'appelant à un agent.
  3. CONNECTED    - L'appelant est connecté à un agent.
  4. EXITED             - L'appelant n'est plus dans la queue, par exemple parce qu'il a raccroché.
AgentIdStringL'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 ».
AgentNameStringNom de l'agent auquel l'appelant est connecté. Cette valeur est vide pour les statuts d'appel « CALLING » et « WAITING ».

agentsLiveData (MAP) - 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 :

NomTypeDescription
AgentIdStringID de connexion de l'agent
AgentNameStringNom de l'agent
AgentGroupStateString

Indique si l'agent est actuellement connecté au groupe ou non. Les valeurs possibles sont :

  1. ACTIVE      - L'agent est connecté au groupe
  2. INACTIVE   - L'agent est déconnecté du groupe
AgentUserStateString

Affiche le statut d'utilisateur d'un agent. Les valeurs possibles sont :

  1. DO_NOT_DISTURB   - L'agent a la fonction DND/silence active et n'est donc pas appelé par la file d'attente.
  2. AVAILABLE                - Le DND n'est pas actif pour cet agent et il peut être appelé depuis la queue (en fonction de son groupe/statut téléphonique)
  3. UNAVAILABLE            - Le DND n'est pas actif pour cet agent et il ne peut pas être appelé depuis la queue (en fonction de son groupe/statut téléphonique)
AgentPhoneStateString

Indique la disponibilité téléphonique (statut) d'un agent :

  1. UNAVAILABLE        - L'agent n'est enregistré sur aucun téléphone et ne peut donc pas être appelé.
  2. AVAILABLE            - L'agent n'est pas actuellement au téléphone et peut être appelé si son groupe et son statut d'utilisateur le lui permettent.
  3. RINGING                - L'agent est actuellement appelé.
  4. ACTIVE                  - L'agent est actuellement en appel ou en phase d'établissement de l'appel.
  5. QUEUE_PAUSE     - L'agent est en post-traitement en ce moment.

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 :

NomTypeDescription
queueNameStringNom du groupe iQueue souhaité
fromdateTime.iso8601Début de l'intervalle de temps (doit contenir une valeur de temps conforme au XML-RPC)
todateTime.iso8601Fin de la période (muss einen XML-RPC konformen Zeit-Wert enthalten)

Cette fonction a une valeur de retour :

queueHistoryData (LIST) - 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 :

NomTypeDescription
callIdStringID de l'appel dans la base de données commençant par 1.
callStepIdIntFusionne plusieurs entrées de différents utilisateurs s'ils appartiennent à un même appel.
callLegUUIDStringID unique du CallLeg
agentIdStringLogin de l'agent qui a accepté l'appel/Champ vide = Appel non accepté
cdrAccountIdIntID de compte de l'utilisateur auquel l'entrée de la liste d'appels appartient
callerAccountIdIntID de compte de l'appelant s'il s'agit d'un utilisateur interne, sinon vide
calledAccountIdIntID de compte de l'appelé s'il s'agit d'un utilisateur interne, sinon vide
calledCallerIdStringCallerId tel qu'il est affiché sur le téléphone
startTimeStringDébut de l'appel sous forme d'horodatage Unix
ringingtimeStringDébut de la sonnerie chez l'agent de l'appel en tant qu'horodatage Unix
linktimeStringConnexion à l'agent sous forme d'horodatage Unix
callresulttimeStringL'appel a été terminé sous forme d'horodatage Unix
callresultStringLe résultat de la section d'appel
callResultCauseByIntAccountId de l'utilisateur qui a déclenché le résultat
lineidIntLa ligne utilisé
lineNameStringNom de la ligne utilisée
callbacknumberStringLe numéro de rappel de l'autre partie à laquelle appartient l'entrée de la liste d'appel
answeredelswereStringRemplie uniquement si l'appel a été répondu par une autre personne
incomingBooleanTrue pour un appel entrant
answeredBooleanTrue pour une réponse à un appel
hasvoicemailBooleanTrue si un message vocal a été enregistré
hasmonitorBooleanTrue pour un enregistrement de la conversation
callbacknumberexternBooleanTrue si le numéro de rappel est un numéro externe

Exemple

Par la méthode post :

http://IP-ADRESSE/xml-rpc?de.vertico.starface.auth=$LoginID:SHA512($LoginID*SHA512($Passwort))

Le 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
Mot de passe = starface
Adresse IP du Starface = 192.168.0.100

résulte en une URL d'appel pour XML-RPC :

http://192.168.0.100/xml-rpc?de.vertico.starface.auth=0001:5273503e607e5b24eeb48a3f71c53eb50df6b6622839ecd7149e248893f627d05d8d4af88cf36b3d7d5cd5d1d559dfa1c10404067d8c0f37a138c6546dad7ef7

Le corps ressemblerait alors à ceci, par exemple :

Beispiel
<?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>