Qu’est-ce que le pushcra ?
L’API DMC permet la réception des CRA (comptes rendus d’appels) par Push HTTP sur une URL externe fournie lors de l’activation du service ou implémentable par un administrateur de la solution.
Les CRA, y compris les réponses aux SMS sortants, sont envoyés vers l’URL externe en POST au format XML ou JSON.
Réponse XML
La réponse XML est composée de 5 types de balises.
<?xml version= »1.0″ encoding= »UTF-8″ standalone= »no »?> <status_report> <sms(mms,mail,fax,call)> <status><vxml_info/><transfer/></status> </sms(mms,mail,fax,call)> </status_report> |
Les paramètres retournés dans la réponse au format XML sont les suivants :
Balise « status_report » (balise parent du document)
• Username : Identifiant du service
Balise « media » (balise contenant les données du dernier status) :
- Media : Nom de la balise (sms,mms,mail,fax,call)
- To : Numéro de téléphone du contact
- Status : Status du CRA
- Call_id : Identifiant unique de la plateforme permettant d’identifier la tentative d’appel/envoi
- Broadcast_id : Identifiant de la diffusion à l’origine de l’appel/envoi
- Contact_id : Identifiant du contact
- Ref_externe : Référence externe du contact (champ libre)
- Space_id : Identifiant de l’espace DMC
- Date : Date de réception du CRA
Balise « status » (balise contenant l’historique des status) :
- Date : Date de réception du CRA
- Type : Type de status
- Time : Durée de l’appel (VOCAL/FAX)
- Amd : Indique le type d’interlocuteur qui a répondu (unknown, fax, machine, human) (VOCAL)
- Size : Taille du message en octet (MMS/MAIL)
- Page : Nombre de pages envoyées (FAX)
- Code : Code d’erreur en cas de problème (tous médias)
- Info : Description en cas d’erreur (tous médias), le texte en cas de réponse du contact (SMS)
Balise « vxml_info » (pour le vocal uniquement) :
- Voicemail : Indique si l’appel est tombé sur un répondeur ou non
- Start : Date de début de l’appel (timestamp)
- End : Date de fin de l’appel (timestamp)
- Termination : Résultat de l’appel
- Result : Résultat de l’appel (dernier nœud atteint dans le scénario vocal)
- Route : Nœuds empruntés par le contact durant l’appel
Balise « transfer » (pour le vocal uniquement)
- To : Numéro de téléphone sur lequel le contact a été transféré
Réponse JSON
2018-10-19 09:48:39 {« status_report »:{« username »: »123456789″, »sms »:[{« to »: »+33601020000″, »date »: »2018-10-19 11:48:38 CEST », »call_id »: »5bc9a8751a34791aff429efe », »ref_externe »: »123456″, »status_list »:[{« date »: »2018-10-19 11:48:38 CEST », »type »: »SENT »}], »status »: »SENT« }]}} 2018-10-19 09:48:41 {« status_report »:{« username »: »123456789″, »sms »:[{« to »: »+33601020000″, »date »: »2018-10-19 11:48:39 CEST », »call_id »: »5bc9a8751a34791aff429efe », »ref_externe »: »123456″, »status_list »:[{« date »: »2018-10-19 11:48:39 CEST », »type »: »RECEIVED »}], »status »: »RECEIVED« }]}} 2018-10-19 10:03:28 {« status_report »:{« username »: »123456789″, »sms »:[{« to »: »+33601020304″, »date »: »2018-10-19 12:03:25 CEST », »call_id »: »5bc9a8751a34791aff429efe », »ref_externe »: »123456″, »status_list »:[{« date »: »2018-10-19 12:03:25 CEST », »type »: »ANSWERED », »info »: »Bien reçu »}], »status »: »ANSWERED« }]}} 2018-10-19 10:03:29 {« status_report »:{« username »: »123456789″, »sms »:[{« to »: »+33601020304″, »date »: »2018-10-19 12:03:21 CEST », »call_id »: »5bc9a8751a34791aff429efe », »ref_externe »: »123456″, »status_list »:[{« date »: »2018-10-19 12:03:21CEST », »type »: »ANSWERED », »info »: »Ok »}], »status »: »ANSWERED« }]}} |
Les comptes rendus sont au format json et contiennent l’ensemble des états par lesquels est passé le
SMS :
- SENT : Le SMS a été pris en compte par l’opérateur
- RECEIVED : Le SMS a été reçu sur le mobile du destinataire
- ANSWERED : Le destinataire a répondu au SMS
- ERROR : Une erreur est survenue lors de l’envoi du SMS
Chaque compte rendu contient :
- Username : l’identifiant du service utilisé pour envoyer le SMS
- To : numéro du destinataire au format international
- Date : date de l’évènement auquel correspond le compte-rendu
- Call_id : identifiant de l’envoi (à fournir pour diagnostique en cas de problème)
- Ref_externe : référence externe fournie lors de la soumission du SMS
- Status_list : liste des états horodatés par lesquels sont passés le SMS
- status : état du SMS au moment de la génération du compte-rendu
L’enchaînement des statuts est le suivant :
- CONVERTED : Le pdf a été converti en tiff pour envoi (FAX)
- SENT : Le message a été envoyé au contact (SMS/MMS/EMAIL/FAX)
- ESTABLISHED : L’appel vocal est en cours (VOCAL)
- TRANSFERED : Le contact a été transféré (VOCAL)
- ERROR/ABORTED : Le message a rencontré un problème à la soumission (Tous médias)
- RECEIVED : Le message a été reçu par le contact (SMS)
- ENDED : L’appel vocal est terminé (VOCAL)
- ANSWERED : Le contact a répondu au message (SMS)
Vous retrouverez des exemples de requêtes en téléchargeant la documentation sur l’API WorkShop.