API - Documentation

Guide développeur pour l'Utilisation des API pour CallBridgePro

Avant-propos

CallBridgePro est une application de téléphonie et sms, mais également d’enregistrement de contacts, de RDV, et d’envoi d’adresses.

Les ordres d’appels viennent soit :

  • de votre application CRM auquel vous aurez ajouté l’utilisation des API,
  • de notre application Windows (CallBridgePro.Win),
  • de l’application full Web (CallBridgeProWeb).

 

L’utilisation des API est réservée aux utilisateurs CallBridge Pro avec l’option API.

Pour ouvrir un compte CallBridge Pro, Cliquez ici

Les ordres arrivent de façon quasi immédiate par notifications sur le ou les smartphones ayant installé l’application CallBridgePro.

Le titre de la notification (avant son ouverture), au travers de son préfixe, signale quelle action elle produira.

La terminologie des préfixes est :

  • « Call. » : numérotation immédiate du N° de téléphone donné dans la notification
  • « Call» : ouverture d’une fenêtre permettant à l’utilisateur de voir le N° et de demander sa composition. Le Texte (optionnel) renseignera l’utilisateur sur la raison de l’appel à lancer.
  • « SMS. » : lancement de l’application de SMS avec le ou les N° de téléphones à joindre et le texte du message. L’utilisateur appuie sur  » Envoi « .
  • « SMS» : ouverture d’une fenêtre permettant à l’utilisateur de voir les N° et le texte du SMS et de demander sa composition puis son  » Envoi « .
  • « Info » : ouverture d’une fenêtre avec une mise en presse-papier (Copy) immédiate. L’utilisateur  pourra utiliser ce texte avec la fonction   » Coller « .
  • « Contact.» : Ouverture d’une fenêtre qui visionnera les coordonnées du contact qui sont mises immédiatement dans les  » Contacts  » du smartphone.
  • « Contact » : Ouverture d’une fenêtre qui visionnera les coordonnées du contact sans l’ajout immédiat. L’utilisateur pourra demander l’ajout par un bouton.
  • « Agenda.» : Ouverture d’une fenêtre qui visionnera les informations de date et heure du rendez-vous. Intégration immédiate du rendez-vous dans l’agenda.
  • « Agenda» : Ouverture d’une fenêtre qui visionnera les informations de date et heure du rendez-vous. L’utilisateur aura un bouton pour ajouter le rendez-vous.
  • « Map.» : Ouverture de la Map (ou Plan) sur le smartphone. Sur option du smartphone (dans les Settings) on pourra envoyer directement l’adresse vers les applis : « Maps »,  » Waze  » ou  » Navigon « .

NB : La présence d’un point ‘.’ après le préfixe définit son action immédiate sur le smartphone.

L’ouverture de la notification va lancer l’application mobile CalleBridgePro dans le ‘mode’ choisi par l’émetteur de l’ordre.

NB: Sur IOS, le simple fait d’être sur l’appli CallBridgePro (au premier plan) déclenchera l’exécution de la notification, aucune action utilisateur n’est alors nécessaire.

Il y a également 2 Api dîtes de « Service » pour :

  • Connaitre le n° de version du WebServices : CallBridgeProApi
  • Connaitre les noms (pseudo) des utilisateurs de smartphone attachés au même client.

La description des Api est disponible à l’adresse suivante :

http://164.132.49.2/CALLBRIDGEPROAPI_WEB/awws/CallBridgeProApi.awws?wsdl

 

Pour chacune des actions sur le smartphone on dispose d’un service dans CallBridgeProApi.

Un exemple de chaque service de notification est donné en annexe (+ en javascript).

Les différents appels API

CallBridgeProApi/Put_Notification_Sms  :

Permet d’envoyer un SMS à 1 ou plusieurs destinataires depuis le smartphone.

Les variables à renseigner :

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = SMS  immédiat    0 = affichage (pour action manuelle de l’utilisateur)

pRecipients       : Nom de l’utilisateur (smartphone) qui doit appeler

pTitle                   : Titre de la notification (1ere ligne de la notif pour android)

pPhones             : Les N° de téléphone qui recevront le SMS séparés par une virgule

pText                    : Texte du SMS

pPost                    : Poste ayant envoyé la notification

CallBridgeProApi/Put_Notification_Call :

Permet de composer un N° de téléphone sur le smartphone.

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = appel immédiat    0 = affichage (pour action manuelle de l’utilisateur)

pRecipients       : Nom de l’utilisateur (smartphone) qui doit appeler

pTitle                   : Titre de la notification (1ere ligne de la notif pour android)

pPhones             : Le N° de téléphone à appeler

pText                    : Texte optionnel pour l’appelant

pPost                    : Poste ayant envoyé la notification:

CallBridgeProApi/Put_Notification_Info :

Permet de mettre un texte dans le presse-papier du smartphone.

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification

sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = Mise en presse papier    0 = affichage de l’info

pRecipients       : Nom de l’utilisateur (smartphone) qui recoit la notification

pTitle                   : Titre de la notification (1ere ligne de la notif pour android)

pMessage          : Sujet de l’action

pText                    : Texte pour le presse papier

pPost                    : Poste ayant envoyé la notification

CallBridgeProApi/Put_Notification_Agenda :

Permet ajouter un rendez-vous dans l’agenda du smartphone.

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = Mise en presse papier    0 = affichage de l’info (pour une action manuelle)

pRecipients       : Nom de l’utilisateur (smartphone) qui reçoit la notification

pTitle                   : Titre de la notification (1ere ligne de la notif pour android)

pMessage          : Sujet de rendez-vous

pDateFrom        : date de début du rendez-vous  (AAAAMMJJ)

pTimeFrom        : heure de début du rendez-vous (hhmm)

pDateTo              : date de fin du rendez-vous (AAAAMMJJ)

pTimeTo             : heure de fin du rendez-vous (hhmm)

pPlace                  : Adresse du rendez-vous (à formater pour être lue par Maps)

pAllDay               : 1 si toute la journée est réservée

pText                    : le texte pour expliquer l’action à mener

pReminder        : pour les smartphones Android uniquement :

Nombre de minutes pour le rappel . Exemple : 60 = 1 heure

pPost                    : Poste ayant envoyé la notification

CallBridgeProApi/Put_Notification_Contact :

Permet d’ajouter un contact dans les Contacts du smartphone :

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = ajout immédiat dans les Contacts 0 = affichage (pour une action )

pRecipients       : Nom de l’utilisateur (smartphone) qui recoit la notification

pTitle                   : Titre de la notification (1ere ligne de la notif pour android)

pLastName        : Nom du contact

pFirstName       : Prénom du contact

pSociety              : Nom de la société

pAddress            : Adresse (formatée Maps) : N° et rue

pZip                      : code postal

pCity                     : Ville

pCountry            : Pays ou état, Pays

pTelephone      : N° de téléphone

pCellphone       : N° du portable

pEmail                 : Email du contact

pWeb                   : Site Web

pPost                    : Poste ayant envoyé la notification

CallBridgeProApi/Put_Notification_Map :

Permet d’afficher un Plan (ou Map) sur le smartphone :

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

pImmediate      : 1 = Affichage immédiat par Maps (Plan)    0 = affichage (pour une action manuelle)

pRecipients       : Nom de l’utilisateur (smartphone) qui reçoit la notification

pTitle                    : Titre de la notification (1ere ligne de la notif pour android)

pMessage          : Sujet de l’envoi

pAddress            : Adresse (formatée Maps) : N° et rue

pZip                       : Code postal

pCity                     : Ville

pCountry            : Pays ou état, Pays

pLongitude        : Longitude GPS : correspondant à l’adresse

pLatitude            : Latitude GPS

pPost                    : Poste ayant envoyé la notification

Les appels API de Service

CallBridgeProApi/Get_Version :

 

Permet de recevoir le N° de la version de CallBridgeProApi :

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

CallBridgeProApi/Get_Devices :

 

Permet de recevoir les noms (ou pseudo) des smartphones connectés au compte CallBridgePro.

Les variables à renseigner :

 

pLogin                  : Login du compte

pPass                    : Password du compte

pDateTime         : date et heure de l’émission de la notification sous forme :AAAAMMJJhhmmss  Ex: 20170120093425

 

Le retour d’information est sous forme XML avec :

IDClientAppareil               : L’id interne du smartphone

Nom                                     : Nom (pseudo)

NotifFlag                             : Type de smartphone (1=Android  2=Ios)

FlagStop                              : 1 = Appareil hors d’usage

DateCreation                      : Date de connexion à CallBridgePro

Exemples d'utilisation

Pour la balise pDateTime  on utilise TheDateTime()

qui renvoie la date et l’heure sous forme : AAAAMMJJhhmmss  Ex: 20170120093425 pour le 20/01/2017 à 09h34m25s

 

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Sms

function Put_Notification_Sms() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ »    xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                           // Login du compte

requete += AjBalise(« pPass », »myPassword »);       // Password du compte

requete += AjBalise(« pImmediate », »1″);                             // 1 = SMS immédiat    0 = affichage (pour action manuelle de l’utilisateur)

requete += AjBalise(« pDateTime »,TheDateTime() );            // Renvoie sous forme :AAAAMMJJhhmmss  Ex: 20170120093425 s

requete += AjBalise(« pRecipients », »Patrick S7″); // Nom/pseudo de l’utilisateur du smartphone

requete += AjBalise(« pTitle », »CallBridgePro »);    // Titre de la notification

requete += AjBalise(« pPhones », »0689939667,0623631148″);           // Les N° de téléphone qui recevront le SMS

requete += AjBalise(« pText », »The text of the SMS »);           // Texte du SMS

requete += AjBalise(« pPost », »Sender »);                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Sms »,CallBackReponse)            // Envoi de la requete en XML et le nom du Service à contacter

}

 

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Call

function Put_Notification_Call() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ »     xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                           // Login du compte

requete += AjBalise(« pPass », »myPassword »);       // Password du compte

requete += AjBalise(« pImmediate », »1″);                             // 1 = appel immédiat    0 = affichage (pour action manuelle de l’utilisateur)

requete += AjBalise(« pDateTime »,TheDateTime() );            // Renvoie sous forme :AAAAMMJJhhmmss

requete += AjBalise(« pRecipients », »Patrick S7″); // Nom/pseudo de l’utilisateur du smartphone

requete += AjBalise(« pTitle », »CallBridgePro »);    // Titre de la notification (1ere ligne de la notif pour android)

requete += AjBalise(« pPhones », »0689939667″); // Les N° de téléphone à appeler

requete += AjBalise(« pText », »The text explanatory »); // Texte optionnel pour l’appelant

requete += AjBalise(« pPost », »Sender »);                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Call »,CallBackReponse) // Envoi de la requete en XML et le nom du Service à contacter

}

 

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Info

function Put_Notification_Info() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ »     xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                           // Login du compte

requete += AjBalise(« pPass », »myPassword »);       // Password du compte

requete += AjBalise(« pImmediate », »1″);                             // 1 = Mise en presse papier    0 =     affichage de l’info

requete += AjBalise(« pDateTime »,TheDateTime() );            // Renvoie sous forme :AAAAMMJJhhmmss

requete += AjBalise(« pRecipients », »Patrick S7″); // Nom/pseudo de l’utilisateur du smartphone

requete += AjBalise(« pTitle », »CallBridgePro »);    // Titre de la notification (1ere ligne de la notif pour android)

requete += AjBalise(« pMessage », »0689939667″);               // Sujet de l’action

requete += AjBalise(« pText », »The text for clipboard »); // Texte pour le presse papier

requete += AjBalise(« pPost », »Sender »);                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Info »,CallBackReponse) // Envoi de la requete en XML et le nom du Service à contacter

}

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Agenda

function Put_Notification_Agenda() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ »     xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                           // Login du compte

requete += AjBalise(« pPass », »myPassword »);       // Password du compte

requete += AjBalise(« pImmediate », »1″);                             // 1 = Mise en presse papier    0 =     affichage de l’info (pour action manuelle )

requete += AjBalise(« pDateTime »,TheDateTime() );            // Renvoie sous forme :AAAAMMJJhhmmss

requete += AjBalise(« pRecipients », »Patrick S7″); // Nom de l’utilisateur (smartphone) qui recoit la notification

requete += AjBalise(« pTitle », »CallBridgePro »);    // Titre de la notification (1ere ligne de la notif pour android)

requete += AjBalise(« pMessage », »Appointment topic »);// Sujet de rendez-vous

requete += AjBalise(« pDateFrom », »20170122″); // date de début du rendez-vous  (AAAAMMJJ)

requete += AjBalise(« pTimeFrom », »1530″);         // heure de début du rendez-vous (hhmm)

requete += AjBalise(« pDateTo », »20170122″);     // date de fin du rendez-vous     (AAAAMMJJ)

requete += AjBalise(« pTimeTo », »1800″);                             // heure de fin du rendez-vous (hhmm)

requete += AjBalise(« pAllDay », »0″);                     // 1 si toute la journée est réservée

requete += AjBalise(« pPlace », »221b Baker St.,NW1 6XE LONDON »);// Adresse du     rendez-vous (à formater pour être lue par Maps)

requete += AjBalise(« pText », »The text to explain the action to be taken »);       // le texte pour expliquer l’action à mener

requete += AjBalise(« pReminder », »1″);                               // pour les smartphones Android uniquement :    Nombre de minutes pour le rappel (60 = 1 heure)

requete += AjBalise(« pGuests », » »);                      // Non utilisé

requete += AjBalise(« pPost », »Sender »);                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Agenda »,CallBackReponse)       // Envoi de la requete en XML et le nom du Service à contacter

}

 

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Contact

function Put_Notification_Contact() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ » xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                                          // Login du compte

requete += AjBalise(« pPass », »myPassword »);                       // Password du compte

requete += AjBalise(« pImmediate », »0″);                             // 1 = ajout immédiat dans les Contacts 0 = affichage (pour action manuelle)

requete += AjBalise(« pDateTime »,TheDateTime() );                            // Renvoie sous forme :AAAAMMJJhhmmss

requete += AjBalise(« pRecipients », »Patrick S7″);                // Nom de l’utilisateur (smartphone) qui recoit la notification

requete += AjBalise(« pTitle », »CallBridgePro »);                    // Titre de la notification

requete += AjBalise(« pLastName », »Kenedy »);                     // Nom du comtact

requete += AjBalise(« pFirstName », »William »);                    // Prénom du contact

requete += AjBalise(« pSociety », »McLeed »);                        // Nom de la société

requete += AjBalise(« pAddress », »221B Baker Street »);        // Adresse (formatée Maps) : N° et rue

requete += AjBalise(« pZip », »NW1 6XE »);                                             // Code postal

requete += AjBalise(« pCity », »LONDON »);                                            // Ville

requete += AjBalise(« pCountry », »ENGLAND »);                     // Pays ou état, Pays

requete += AjBalise(« pTelephone », »00442079358866″);     // N° de téléphone (utiliser ici le ’00’ pour l’international et non le +)

requete += AjBalise(« pCellphone », »0033623631148″);        // N° du portable (utiliser ici le ’00’ pour l’international et non le +)

requete += AjBalise(« pEmail », »[email protected] »);                         // Email du contact

requete += AjBalise(« pWeb », »www.mcleed.fr »);                 // Site Web

requete += AjBalise(« pPost », »Sender »);                                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Contact »,CallBackReponse)      // Envoi de la requete en XML et le nom du Service à contacter

}

 

 

 

// Prépare les données pour l’envoi Soap CallBridgeProApi/Put_Notification_Map

function Put_Notification_Map() {

var requete;

requete= »<soap:Envelope xmlns:soap=\ »http://schemas.xmlsoap.org/soap/envelope/\ »     xmlns:xsi=\ »http://www.w3.org/1999/XMLSchema-instance\ » xmlns:xsd=\ »http://www.w3.org/1999/XMLSchema\ »><soap:Body> »;

requete += AjBalise(« pLogin », »myLogin »);                           // Login du compte

requete += AjBalise(« pPass », »myPassword »);       // Password du compte

requete += AjBalise(« pImmediate », »0″);                             // 1 = Affichage immédiat par Maps (Plan)    0 = affichage (pour une action manuelle)

requete += AjBalise(« pDateTime »,TheDateTime() );            // Renvoie sous forme :AAAAMMJJhhmmss

requete += AjBalise(« pRecipients », »Patrick S7″); // Nom de l’utilisateur (smartphone) qui recoit la notification

requete += AjBalise(« pTitle », »CallBridgePro »);    // Titre de la notification (1ere ligne de la notif pour android)

requete += AjBalise(« pMessage », » »);                   // Sujet de l’envoi

requete += AjBalise(« pAddress », »150 rue Gallieni »);           // Adresse (formatée Maps) : N° et rue

requete += AjBalise(« pZip », »92100″);                  // Code postal

requete += AjBalise(« pCity », »Boulogne-billancourt »);         // Ville

requete += AjBalise(« pCountry », »France »);          // Pays ou état, Pays

requete += AjBalise(« pLongitude », »2.2354263″);               // Longitude GPS : correspondant à l’adresse

requete += AjBalise(« pLatitude », »48.8360609″); // Latitude GPS

requete += AjBalise(« pPost », »Sender »);                              // Poste ayant envoyé la notification

requete += « </soap:Body></soap:Envelope> »;

SendHttp(requete, »Put_Notification_Map », CallBackReponse)          // Envoi de la requete en XML et le nom du Service à contacter

}

 

 

 

// Envoi de la requête vers CallBridgeProApi

function SendHttp(pRequete,pService,pCallBack) {

var params = ‘xml=’+pRequete+’&action=’+ »urn:CallBridgeProApi/ »+pService;

var xmlhttp;

xmlhttp = new XMLHttpRequest();

xmlhttp.open(« POST », »https://www.mcleed.net/CallBridgeProApi_WEB/awws/CallBridgeProApi.awws »,true);

xmlhttp.setRequestHeader(« Content-type », »application/x-www-form-urlencoded; charset=UTF-8″);

xmlhttp.setRequestHeader(« Content-length »,params.length);

xmlhttp.setRequestHeader(« Connection », »close »);

xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState==4 && (xmlhttp.status==200)) {

var lRetour = xmlhttp.responseText;

var tChaine = lRetour.split(« Result> »);

var tReponse = tChaine[1].split(« </ »);

if (pCallBack) { pCallBack(tReponse[0]) };

}               }

xmlhttp.send(params);

}

 

// Retourne la date et heure locale sous la forme AAAAMMJJhhmmss

function TheDateTime(){

var ladate=new Date();

var Y=ladate.getFullYear();

var M=ladate.getMonth()+1;

if (M<10) {M = « 0 » + M};

var D=ladate.getDate();

if (D<10) {D = « 0 » + D};

 

var h=ladate.getHours();

if (h<10) {h = « 0 » + h};

var m=ladate.getMinutes();

if (m<10) {m = « 0 » + m};

var s=ladate.getSeconds();

if (s<10) {s = « 0 » + s};

return Y+ » »+M+ » »+D+ » »+h+ » »+m+ » »+s;

}

 

 

// retourne la balise et la valeur sous la forme : <Balise  xsd:type= »xsd:string »>Valeur</Balise>

function AjBalise(pBalise,pValeur) {

var sRetour = « <« +pBalise+ »  xsd:type=\ »xsd:string\ » > »+StringtoUTF8(pValeur)+ »</ »+pBalise+ »> »

return sRetour

}

Section vide. Modifier la page d'ajouter du contenu ici.