Cet article permet d'ajouter des fonctionnalités personnalisées aux applications Rainbow à l'aide d'un ensemble d'actions configurables à partir d'un fichier custo-manifest.json.
Les actions disponibles sont les suivantes :
- Actions déclenchées automatiquement à la suite d'événements :
- on-incoming-pbx-call-actions : pour exécuter une action lors d'un appel entrant.
- on-answering-incoming-pbx-call-actions: pour exécuter une action lorsqu'un appel entrant est pris.
- on-releasing-incoming-pbx-call-actions: exécution d'une action lorsqu'un appel entrant est terminé.
Lors d'appels entrants, les actions peuvent lancer un script, une application ou une page web contenant des informations sur l'appel entrant.
- Actions déclenchées par l'utilisation d'un bouton :
- on-incoming-pbx-call-button-actions: pour exécuter une action en cliquant sur un bouton ajouté dans la fenêtre contextuelle de l'appel entrant.
- on-call-log-list-actions: pour exécuter une action en cliquant sur un bouton inséré dans chaque élément du journal des appels.
- on-contact-list-actions: pour exécuter une action en cliquant sur un bouton inséré dans chaque élément des contacts
- on-contact-detail-actions: pour exécuter une action en cliquant sur un bouton inséré dans la zone détaillée du contact
- on-communication-card-actions: pour exécuter une action en cliquant sur un menu inséré dans la barre du gestionnaire d'appels.
En cliquant sur les boutons, les actions peuvent ouvrir des fenêtres pop-up avec la possibilité de rejoindre des contacts ou des services par e-mail.
- Actions avec affichage automatique des informations :
- on-incoming-pbx-call-display-actions: pour insérer des informations dans la fenêtre contextuelle de l'appel entrant.
- on-contact-card-display-actions: pour insérer des informations dans la zone détaillée du contact.
Ces actions sont configurées à partir du fichier custo-manifest.json disponible dans l'application Rainbow.
La configuration consiste à :
- Exporter le fichier custo-manifest.json sur ordinateur.
- Modifier et compléter le fichier custo-manifest.json
- Importer le fichier custo-manifest.json sur l'application Rainbow
La configuration ne s'applique qu'aux applications Rainbow fonctionnant sur ordinateur.
La configuration doit être effectuée pour chaque application Rainbow.
Conditions préalables
- La configuration du fichier custo-manifest.json nécessite au moins une licence Business, Enterprise ou Attendant.
Présentation du fichier custo-manifest
Le fichier custo-manifest se compose de deux parties :
- La première partie énumère toutes les actions disponibles et fournit, pour chaque action, un modèle avec les principaux paramètres à remplir.
Exemple :
- La seconde partie fournit un guide d'aide à lire pour la configuration.
Une action est définie par les paramètres suivants :
- "name"est un texte utilisé pour identifier l'action ou le libellé du bouton pour les actions utilisant un bouton.
- Pour les actions utilisant un bouton :
- "icon": est le chemin d'accès à l'icône du bouton
- "tooltip": est le chemin d'accès à l'info-bulle affichée lorsque la souris passe sur le bouton
- "commande" : définit l'action à exécuter: définit l'action à exécuter
-
"url": est le chemin ou l'URL pour accéder à l'application locale, à la page web ou à l'API REST
Note: La barre oblique inverse doit être doublée dans le chemin d'accès à l'application locale (par exemple C:\\MicroCRM\\MicroCRM.exe).
- "params"est une chaîne contenant des variables ${xx} qui seront remplacées par leur valeur lors de l'exécution de l'action.
-
"commandType" : spécifie le type d'action: spécifie le type d'action :
- "none"Démarrer une application locale ou une page web (si l'url commence par 'http' ou 'https')
- "rest": exécute un appel à l'API REST
- "file": récupère le contenu du fichier à récupérer (principalement pour le réglage du débogueur).
-
"responseType: définit le type de contenu renvoyé par l'action : "markdown", "json" ou "adaptiveCard".
Si la valeur est "json", alors.. :
- "displayJsonField": définit le champ dont la valeur est le contenu à afficher
- "firstNameJsonField": définit le champ dont la valeur doit se substituer au prénom de l'appelant
- "lastNameJsonField": définit le champ dont la valeur doit être substituée au nom de famille de l'appelant.
- "companyJsonField" : définit le champ dont la valeur doit être remplacée par le nom de l'entreprise de l'appelant.
S'il est défini sur "adaptiveCard", alors :
- "adaptiveCardTemplateJsonField": définit le modèle de la carte adaptative à afficher
- "adaptiveCardContentJsonField" : définit le contenu de la carte adaptative à afficher.: définit le contenu de la carte adaptative à afficher
Des paramètres supplémentaires sont disponibles :
- "AnswerOnClick": lorsqu'il a la valeur " true", l'action est exécutée et l'appel entrant est pris en même temps (uniquement pour les actions "on-incoming-pbx-call-button-actions" ).
- "filter": si la valeur est fixée à "NoShortNumber"l'action ne sera pas déclenchée si le numéro de l'appelant est un numéro court.
-
"RaiseChangeCall: permet de configurer le comportement lors de la réception d'un appel transféré :
- false: seuls les appels directs à l'utilisateur déclencheront l'événement.
- true: l'événement est déclenché pour les appels directs à l'utilisateur et également pour les appels qui ont été transférés à cet utilisateur
- only: seuls les appels transférés vers l'utilisateur déclenchent l'événement
Le modèle d'action peut inclure des variables ${xx} configurées dans l'élément "url", "params" et "bodyParameters" (pour l'API REST). Ils sont remplacés par leur valeur lorsque l'action est exécutée.
Exportation du fichier custo-manifest sur ordinateur
- Depuis l'interface d'administration Rainbow, cliquez sur l'avatar dans le panneau de gauche, puis sur le menu Settings.
- Dans le menu de gauche, sélectionnez Téléphonie.
La fenêtre Paramètres - Configuration de la téléphonie s'ouvre. - Développez la fenêtre jusqu'à la section PERSONNALISATION.
- Cliquez sur Exporter le fichier et utilisez le navigateur pour exporter le fichier custo-manifest sur l'ordinateur.
- Cliquez sur Fermer pour quitter la fenêtre de configuration de la téléphonie.
Configuration locale du fichier custo-manifest
- Ouvrez le fichier custo-manifest à l'aide d'un éditeur de texte.
- Configurez les paramètres des actions à utiliser.
Attention: ne supprimez pas l'espace entre les guillemets pour les paramètres non utilisés ("name": " ", "url": " ", "params": " "), sinon le fichier importé ne sera pas pris en compte.
- Supprimez les paramètres de toutes les actions inutilisées.
- Sauvegardez le fichier custo-manifest.
Importation du fichier custo-manifest sur l'application Rainbow
- Depuis l'interface d'administration de Rainbow, cliquez sur l'avatar dans le panneau de gauche, puis sur le menu Settings.
- Dans le menu de gauche, sélectionnez Téléphonie.
La fenêtre Paramètres - Configuration de la téléphonie s'ouvre. - Développez la fenêtre jusqu'à la section PERSONNALISATION.
- Cliquez sur Importer fichier et utilisez le navigateur pour sélectionner et importer le fichier custo-manifest sur l'application Rainbow.
- Cliquez sur Fermer pour quitter la fenêtre de configuration de la téléphonie.
Exemples de configuration
Exécuter une application ou un script avec des paramètres
Exemple 1 :
L'action on-incoming-pbx-call-actions exécute une application (par exemple MicroCrm) avec un paramètre de 'params' (sans retour).
"version" : "2",
"extension-points" : {
"on-incoming-pbx-call-actions" : [ { "name" : "Exec CRM", "command" : { "url" : "C:\NMyApp\NCustoApp\NMicroCRM.exe", "params" : "-number ${caller.phoneNumber}" } } ],
Exemple 2 :
L'action on-incoming-pbx-call-actions exécute un script (*.bat) avec les paramètres de 'params' (sans retour).
"version" : "2",
"extension-points" : {
"on-incoming-pbx-call-actions" : [ { "name" : "BatScript", "command" : { "url" : "C:\NMyApp\NMyApp.bat", "params" : "IN-COMING canNr:${localUser.canonicalNumber} userIntNr:$"{localUser.internalNumber} caller[Nr:${calle.phoneNumber} FN:${caller.firstName} LN:${caller.lastName} .... CorData :[${call.correlatorData Hex:${call.hexCorrelatorData]" } }.
} ],
Ouvrez une page web avec des paramètres
Exemple 1 :
L'action on-incoming-pbx-call-actions ouvre une page web avec les paramètres de 'params' (sans retour).
"version" : "2",
"extension-points" : {
"on-incoming-pbx-call-actions" : [ { "name" : "Pages jaunes", "command" : { "url" :"https://www.pagesjaunes.fr/annuaireinverse/recherche",
"params" : "quoiqui=${caller.phoneNumber}&proximite=0"
}
}
],
Exemple 2 :
L'action on-incoming-pbx-call-actions ouvre une page web avec des paramètres directement dans l'URL (sans retour).
"version" : "2",
"extension-points" : {
"on-incoming-pbx-call-actions" : [ { "name" : "Contact popup", "command" : { "url" :"http://localhost:3000/contactShow?phone=${caller.phoneNumber}",
"params" : " "
}
}
],
Exécuter un appel API REST avec des paramètres
Exemple 1 :
Lorsqu'un appel entrant est libéré, l'action on-releasing-incoming-pbx-call-actions crée un journal d'appel END en REST en utilisant la méthode GET et les paramètres de "params" (sans retour).
"version" : "2",
"extension-points" : {
"on-releasing-incoming-pbx-call-actions" : [ { "name" : "GetRestApi", "command" : {
"commandType" : "rest",
"method" : "GET", "url" :"http://localhost:3000/IncidentManager/CreateCallLog",
"params" : "byEmail=${localUser.email}&CustomerContact=${caller.phonenumber}"
}
}
],
Exemple 2 :
Lorsqu'un appel entrant est libéré, l'action on-releasing-incoming-pbx-call-actions crée un journal d'appel END en REST en utilisant la méthode POST et les paramètres de "bodyParameters" (sans retour).
"version" : "2",
"extension-points" : {
"on-releasing-incoming-pbx-call-actions" : [
{
"name" : "PostRestApi",
"command" : {
"commandType" : "rest",
"method" : "POST",
"url" : "http://localhost:3000/IncidentManager/EndCallLog",
"params" : " "
},
"bodyParameters" : {
"caller" : "${contact.phoneNumber}",
"user" : "${localUser.email}",
}
],