Ce webservice permet de récupérer le détail des appels en cours pour toute la société ou d’un compte, au format XML. De ce fait, sur votre ERP, vous pouvez afficher la fiche/tickets en cours d’un client qui est en train de vous appeler.
La méthode la plus simple est l’utilisation manuelle : Vous avez un appel en cours, vous cliquez sur un lien de votre ERP qui appelle le webservice avec l’option « list_initial » pour récupérer à l’instant T l’état des communication. On retrouve que vous êtes en communication avec le 0477000000, numéro connu dans votre ERP correspondant au client XXX, et fera apparaitre sa fiche.
Une méthode alternative est possible avec l’option list pour récupérer tous les évènements de téléphonie. Généralement utilisé avec un serveur d’état à développer. Nous consulter pour avoir plus de détails.
Créer la clé d’authentification pour le flux XML
Avant de récupérer le flux XML, il faut s’assurer d’avoir la clé d’autorisation paramétrée pour appeler le web service.
Cette clé se paramètre dans l’onglet Admin
> Options avancées > Gestion de sites.
Il faut modifier ce paramètre au niveau société. Il est conseillé de rentrer une clé d’au moins 6 caractères.
L’adresse du Web Service pour récupérer le flux XML est le suivant :
- Si vous vous connecter sur Liveo avec centrex.liveo.fr : http://webservice.centrex.liveo.fr/ws/ws_xml.php
- Si vous vous connecter sur Liveo avec adista.liveo.fr : http://webservice.adista.liveo.fr/ws/ws_xml.php
Ce Web Service retourne un flux XML si tout s’est bien passé, un message d’erreur sinon.
Les paramètres à passer en GET pour utiliser ce Web Service sont les suivants :
- service: le nom service que vous allons utiliser (list ou list_initial)
- list : Si le service est égal à list alors une requête pendante sera envoyée
- list_initial : Si le service est égal à list_initial alors le flux à l’instant t sera renvoyé
- context: Le contexte sur lequel nous exécutons le Web Service (ex: masociete.fr)
- key: La clé générée auparavant pour exécuter le Web Service (voir Créer_la_clé_d’authentification_pour_le_flux_XML)
- id: l’id de session, qu’il faut générer auparavant et qui sera utilisé pour la récupération du flux
- compte : (facultatif), si présent, indiquer le login, ne retournera le flux XML que du compte indiqué.
Voici un exemple d’URLs à appeler pour récupérer le flux XML avec gestion serveur d’état, la méthode simple n’utilisera que la première Url (penser à utiliser la bonne Url en fonction de votre environnement Liveo) : http://webservice.centrex.liveo.fr/ws/ws_xml.php?context=masociete.fr&key=325Ttyh5478&service=list_initial&id=65849685 puis http://webservice.centrex.liveo.fr/ws/ws_xml.php?context=masociete.fr&key=325Ttyh5478&service=list&id=65849685
Voici un exemple de résultat du flux XML obtenu après lancement de cette commande, il sera possible ensuite de « parser » le flux obtenu en Javascript ou en PHP :
<context name= »cornut.fr »>
<peers>
<peer id= »bnassiri » logged= »1″ srv= »1″ altstate= »1″/>
<peer id= »webmaster » logged= »1″ srv= »4″ altstate= »1″/>
<peer id= »cgregoire » logged= »1″ srv= »3″ altstate= »1″/>
<peer id= »dmounier » logged= »1″ srv= »4″ altstate= »2″/>
<peer id= »dect1″ logged= »1″ srv= »3″ altstate= »1″/>
<peer id= »rouillon » logged= »1″ srv= »2″ altstate= »3″/>
<peer id= »scollonge » logged= »1″ srv= »1″ altstate= »1″>
<calls>
<call id= »asterisk-209-1289295648.56251″ status= »6″ callee= »214 – Ayse YUKSEL » selfid= » 416 – Sophie COLLONGE » duration= »24″/>
</calls>
</peer>
<peer id= »esegelle » logged= »1″ srv= »3″ altstate= »1″/>
<peer id= »ayuksel » logged= »1″ srv= »3″ altstate= »1″>
<calls>
<call id= »asterisk-211-1289295650.88665″ status= »5″ callee= » 416 – Sophie COLLONGE » selfid= »214 – Ayse YUKSEL » duration= »24″/>
</calls>
</peer>
<peer id= »generale » logged= »1″ srv= »1″ altstate= »1″/>
<peer id= »ybonnand » logged= »1″ srv= »2″ altstate= »4″/>
<peer id= »fchomat » logged= »1″ srv= »2″ altstate= »4″/>
</peers>
<queues>
<queue name= »fileattente_5″ count= »0″></queue>
<queue name= »fileattente_0″ count= »0″></queue>
</queues>
</context>
Dans chaque balise peer, nous retrouvons l’attribut « altstate », qui correspond à l’état du compte :
- -> présent

- -> joignable

- -> ne pas déranger

- -> absent

Ce statut est mis à jour à chaque modification depuis l’interface web de Livéo ou le Web Service de gestion de présence.
Il est possible que la valeur soit « 0 », cela signifie que le webservice ne connait pas l’état actuel de présence. Il ne faut utiliser cette valeur altstate seulement pour détecter les changements d’états, pas pour les stocker. Si c’est votre besoin, vous pouvez gérer le stockage de l’état depuis votre ERP, et n’utiliser ce altstate que pour détecter les changements réalisés par Liveo.
Voici la signification des états :
- L’état du compte est non défini – UNKNOWN = 1
- Le compte est loggé et disponible – LOGGED = 2
- Le compte reçoit un appel mais n’a pas encore decroché – RINGING = 3
- Le compte émet un appel mais l’interlocuteur n’a pas encore decroché – CALLING = 4
- Le compte reçoit un appel et est en communication – RECV_CALL = 5
- Le compte émet un appel et est en communication – EMIT_CALL = 6