Aircall
Aircall est une plateforme de téléphonie et de communication par internet.Prérequis :
- Une clef API Aircall,
- Le numéro de téléphone du destinataire,
- Une vue des ressources avec leurs id Aircall.
Dans cet exemple nous ajoutons un bouton pour effectuer un appel via Aircall.
Nous réalisons également la création d'une fiche action.
let bouton = "<button id='btn_appeler' type='button' role='button' class='btn btn-ajouter btn-sm' style='margin-left: 5px; float: right; margin-right: 10px;";
bouton += "background-color:#064169; color:white;' title='Appeler via Aircall'><i class='fas fa-phone-volume'></i> <span class='trn'>Appeler</span></button>";
thisComponent.ui.find("#tab2525").after(bouton); thisComponent.ui.find("#btn_appeler").on("click", async function(){ let token = "CLE_API"; let num = formatPhoneNumber(thisComponent.getValue("telephone")); let data = { "to": num, }; let id = await gopaas.webservice.getItems("CLE_VUE", "utilisateur|equal|" + gsUser + "|"); let getID = id.rows; let user_id = getID[0].aircall_id; let url = "https://api.aircall.io/v1/users/"+user_id+"/dial"; let cle = Date.now() + "_nids"; let action = {cle : cle, nom : "Note", statut : "Terminé", date_debut : gopaas.date.dateSql(), date_fin : gopaas.date.dateSql(), heure_debut : gopaas.date.time(), heure_fin : gopaas.date.time(), dossier : thisComponent.getValue("cle"), client : thisComponent.getValue("contact"), adresse : thisComponent.getValue("adresse"), cp : thisComponent.getValue("cp"), ville : thisComponent.getValue("ville") }; await gopaas.webservice.updateItem("action", "new", action); ItemGeneric.open("action", cle); $.ajax({ url: url, type: "POST", data: JSON.stringify(data), headers: { "content-type": "application/json", "Authorization": 'Basic '+ token }, success: function(results) { console.log(results); } }); }); function formatPhoneNumber(number) { var nonInt = /\D/g; var allNumbers = /.*(\d{1})(\d{3})(\d{3})(\d{2})/; var formatStyle = "+33$1$2$3$4"; return number.replace(nonInt, '').replace(allNumbers, formatStyle) }