Questo articolo consente di aggiungere funzionalità personalizzate alle applicazioni Rainbow dei membri dell'azienda, utilizzando una serie di azioni configurabili da un file custo-manifest.json. Le funzioni personalizzate sono disponibili per le aziende associate a Cloud PBX o Alcatel-Lucent Enterprise PBX (OmniPCX Enterprise o OXO Connect).
Le azioni disponibili sono:
- Azioni attivate automaticamente a seguito di eventi:
- on-outgoing-pbx-call-actions: per eseguire un'azione quando si verifica una chiamata in uscita
- on-incoming-pbx-call-actions: per eseguire un'azione quando si verifica una chiamata in entrata.
- on-answering-incoming-pbx-call-actions: per eseguire un'azione quando si risponde ad una chiamata in entrata.
- on-release-incoming-pbx-call-actions: per eseguire un'azione quando una chiamata in arrivo viene terminata.
Nelle chiamate in entrata, le azioni possono lanciare uno script, un'applicazione o una pagina web con informazioni sulla chiamata in arrivo.
- Azioni attivate tramite l'uso di pulsanti:
- on-incoming-pbx-call-button-actions: per eseguire un'azione facendo clic su un pulsante aggiunto nella finestra pop-up della chiamata in arrivo.
- on-call-log-list-actions: per eseguire un'azione cliccando su un pulsante inserito in ogni voce del registro delle chiamate.
- on-contact-list-actions: per eseguire un'azione cliccando su un pulsante inserito in ogni elemento dei contatti
- on-contact-detail-actions: per eseguire un'azione facendo clic su un pulsante inserito nell'area di dettaglio del contatto
- su-scheda-di-comunicazione-azioni: per eseguire un'azione cliccando su un menu' inserito nella barra di gestione delle chiamate.
- on-spazi-azioni: per eseguire un'azione facendo clic su un pulsante inserito nella proprietà del menu' degli spazi.
- on-spazi-conferenza-azioni: per eseguire un'azione cliccando su un pulsante inserito nel menu' della conferenza.
Facendo clic sui pulsanti, le azioni possono aprire finestre pop-up con possibilità di collegare contatti o servizi via e-mail.
- Azioni con visualizzazione automatica delle informazioni:
- on-incoming-pbx-call-display-actions: per inserire informazioni nel pop-up della chiamata in arrivo.
- Azioni di visualizzazione della scheda di contatto: per inserire informazioni nell'area di dettaglio del contatto.
- Azione con visualizzazione di applicazioni di terze parti:
- on-main-window-actions: per visualizzare un'applicazione di terzi nell'applicazione Rainbow (solo con l'opzionepopout impostata su true: vedere: Campi aggiuntivi).
Cliccando sull'icona dedicata nel pannello sinistro, l'azione può visualizzare un'applicazione di terzi nella parte destra dell'applicazione Rainbow.
Queste azioni sono configurate dal file custo-manifest.json distribuito nelle applicazioni Rainbow per i membri dell'azienda.
Il file custo-manifest.json può essere distribuito alle applicazioni Rainbow desktop senza restrizioni e alle applicazioni Rainbow web con restrizioni: vedere: Campi principali.
La configurazione consiste in:
- Dall'applicazione di amministrazione Rainbow, esportare un modello del file custo-manifest.json sul computer.
- Modificare e completare il file custo-manifest.json.
- Importare il file custo-manifest.json sull'applicazione di amministrazione Rainbow.
- Distribuzione del file custo-manifest.json alle applicazioni Rainbow per i membri dell'azienda
Quando si distribuisce dall'applicazione Rainbow di amministrazione, il file custo-manifest.json non può più essere configurato localmente dall'applicazione Rainbow dei membri dell'azienda: le opzioni di esportazione/importazione non sono più offerte.
Prerequisiti
- Deve avere un account di amministratore nell'azienda con una licenza Business, Enterprise o Attendant.
Panoramica del file Custo-Manifest
Il file custo-manifest è composto da due parti:
- La prima parte elenca tutte le azioni disponibili e fornisce per ogni azione un modello con i parametri principali da compilare.
Esempio: - La seconda parte fornisce una guida da leggere per la configurazione.
Un'azione è definita da un insieme di parametri descritti nelle sezioni seguenti.
Le seguenti azioni supportano fino a tre estensioni:
- azioni on-main-window
- azioni su contatto-dettaglio
- azioni su scheda di comunicazione
- azioni su spazio
- azioni su spazi-conferenza
Esempio di azioni on-main-window con due estensioni:
Campi principali
- "nome": è un testo utilizzato per identificare l'azione o l'etichetta del pulsante per le azioni che utilizzano il pulsante
- Per le azioni che utilizzano il pulsante:
- "icona": è il percorso di accesso all'icona del pulsante
- "tooltip": è il percorso di accesso al tooltip visualizzato quando il mouse viene spostato sul pulsante
- "comando": definisce l'azione da eseguire
-
"url": è il percorso o l'URL per accedere all'applicazione locale, alla pagina web o all'API REST.
Nota: il backslash deve essere doppio nel percorso di accesso all'applicazione locale (ad esempio, C:\MicroCRM.exe). - "params": è una stringa con le variabili ${xx} che saranno sostituite dal loro valore nell'esecuzione dell'azione.
-
"commandType": specifica il tipo di azione:
- Non definito: lancia un'applicazione locale o una pagina web (se l'url inizia con 'http' o 'https').
- "rest": esegue una chiamata API REST.
- "file": recupera il contenuto del file da recuperare (principalmente per la messa a punto del debugger).
Nota: i tipi di comando azioni con rest" e "file" non sono supportati se applicati alle applicazioni Web Rainbow. Si aprono dei pop-up che indicano che le azioni saranno ignorate. -
"responseType: definisce il tipo di contenuto restituito dall'azione: "markdown", "json" o "adaptiveCard".
Se impostato su "json", allora:
- "displayJsonField": definisce il campo il cui valore è il contenuto da visualizzare
- "firstNameJsonField": definisce il campo il cui valore deve sostituire il nome del chiamante
- "lastNameJsonField": definisce il campo il cui valore deve sostituire il cognome del chiamante.
- "companyJsonField": definisce il campo che il valore deve sostituire al nome dell'azienda del chiamante.
Se impostato su "adaptiveCard", allora:
- "adaptiveCardTemplateJsonField": definisce il modello della scheda adattiva da visualizzare
- "adaptiveCardContentJsonField": definisce il contenuto della scheda adattiva da visualizzare.
Nota: Rainbow supporta quattro diverse opzioni per il modello e il contenuto della scheda adattiva:
- Modello e contenuto in un file: utilizzato principalmente per i test. Il file può essere locale o recuperato tramite un URL.
- Modello nel manifesto e Contenuto in un file: utilizzato anche per i test. Il file può anche essere il risultato di uno script CGI.
- Template nel manifest e Contenuto risultato di una chiamata Rest: solo i dati vengono recuperati in remoto tramite un'API Rest.
- Template e Contenuto risultato di una chiamata Rest: i dati e il layout vengono recuperati in remoto tramite un'API Rest.
Campi principali:
Tipo di contenuto in "json":
Campi aggiuntivi
- "AnswerOnClick": se impostato su true, esegue l'azione e risponde alla chiamata in arrivo contemporaneamente (solo per l'azione on-incoming-pbx-call-button-actions )
- "filtro": se impostato su "NoNumeroCorto", non attiverà l'evento se il numero del chiamante è un numero corto
-
"RaiseChangeCall": permette di configurare il comportamento alla ricezione di una chiamata trasferita:
falso: solo le chiamate dirette all'utente attiveranno l'evento
true: l'evento viene attivato per le chiamate dirette all'utente e anche per le chiamate che sono state trasferite a questo utente
solo: solo le chiamate trasferite all'utente attivano l'evento
- "Popup": se impostato su true, visualizza un'applicazione di terze parti nella parte destra dell'applicazione Rainbow (solo per le azioni on-main-window ).
Variabili ${xx}
Il modello di azione può includere le variabili ${xx} configurate nei parametri "url", "params" e "bodyParameters" (per REST API). Esse vengono sostituite dal loro valore quando l'azione viene eseguita.
Le variabili ${xx} possono essere:
Un'espressione regolare (cioè una regex) può essere applicata a una variabile ${xx}.
La sintassi è: ${rainbowVariable.regex(regexPatternValue, replacementValue)}
La regex verrà applicata alla variabile ${xx} prima di inviarla all'applicazione esterna, se fa parte della richiesta, o prima di passarla all'applicazione Web, se fa parte di una risposta.
Esempi:
Quando sostituisce ${localUser.phonePbx} con il suo valore, applica anche una regex su di esso.
"params": "pbx=${localuser.phonepbx.regex(^\\+33\|^\\+1, 0)}="0)}"
In questo esempio, "+333909090" sarà modificato in "03909090".
"params": "byEmail=${localUser.email.regex(alcatel.com, al-enterprise.com)}".
In questo esempio, "someone@alcatel.com" sarà modificato in "someone@al-enterprise.com".
Esportazione di un modello di file custo-manifest sul computer
Questa operazione può essere eseguita solo da un'applicazione Rainbow desktop.
- Dall'applicazione Rainbow di amministrazione, clicchi sull'avatar nel pannello sinistro, quindi sul menu Impostazioni.
- Nel menu' di sinistra, selezioni Telefonia.
Si apre la finestra Impostazioni - Configurazione telefonia. - Espanda la finestra fino alla sezione Personalizzazione.
- Clicchi su Esporta file e utilizzi il browser per esportare il file custo-manifest sul computer.
- Clicchi su Chiudi per uscire dalla finestra delle impostazioni di telefonia.
Configurazione del file custo-manifest sul computer
- Apra il file custo-manifest utilizzando un editor di testo.
-
Configuri i parametri delle azioni da utilizzare.
Attenzione: non elimini l'area tra le virgolette doppie per i parametri non utilizzati ("name": " ", "url": " ", "params": " "), altrimenti il file importato non verrà preso in considerazione. - Rimuova i parametri di tutte le azioni non utilizzate.
- Salvi il file custo-manifest.
- Se il file custo-manifest fa riferimento a fonti esterne (immagini e/o file di testo), crei un file *.zip con il file custo-manifest e le fonti esterne.
Esempio:
In questo esempio, il file *.ZIP deve contenere i file custo-manifest.json, basketball.png e FileDisplay.txt.
Importazione del file custo-manifest sull'applicazione di amministrazione Rainbow.
Uno o più file custo-manifest possono essere importati nell'applicazione di amministrazione Rainbow per l'azienda. Dopo l'importazione, il file custo-manifest è accessibile a tutti gli amministratori dell'azienda per la distribuzione o l'aggiornamento.
L'importazione dei file può essere eseguita da un'applicazione Rainbow desktop o web.
- Dall'applicazione di amministrazione Rainbow, clicchi su Gestisci la tua azienda
nel pannello di sinistra.
- Nel pannello LA MIA AZIENDA, clicchi sul nome dell'azienda.
- Nel pannello di sinistra, clicchi su Informazioni.
- Nella parte destra della finestra, clicchi sulla scheda Personalizzazione, quindi sulla scheda File manifesto personalizzati.
- Clicchi su Aggiungi e utilizzi il browser per selezionare e importare nell'applicazione Rainbow il solo file custo-manifest (*.json), oppure il file custo-manifest e le sue fonti esterne (*.ZIP).
- Clicchi su Aggiungi per convalidare l'importazione.
Il file custo-manifest viene visualizzato nell'elenco e può essere esportato da qualsiasi amministratore aziendale per essere aggiornato: selezioni il file di destinazione, clicchi sue selezioni
Download.
Distribuzione del file custo-manifest alle applicazioni Rainbow per i membri dell'azienda.
Il file custo-manifest può essere distribuito alle applicazioni Rainbow per i membri dell'azienda, uno alla volta o in un unico passaggio utilizzando il provisioning di massa. Dopo la distribuzione, il custo-manifest sarà preso in considerazione nelle applicazioni Rainbow al riavvio: le opzioni di esportazione/importazione non sono più offerte nell'applicazione Rainbow.
Il provisioning di massa può essere eseguito utilizzando una delle seguenti opzioni:
- Un file CSV: L'operazione consiste nel distribuire il file custo-manifest per un membro dell'azienda (vedere la procedura sotto), esportare un file csv popolato con i dati dei membri dell'azienda, completare nel file CSV la colonna selectedManifestName per i membri dell'azienda di destinazione e importare il file CSV: vedere: Gestire i membri dell'azienda con il Provisioning massivo
- La directory LDAP aziendale: L'operazione consiste nel sincronizzare la directory aziendale in Rainbow con la directory LDAP aziendale, dopo aver modificato la mappatura degli attributi predefinita con l'attributo utente selectedAppCustomisationTemplateName impostato su const(<nome del file custo-manifest>): veda: Provisioning dei membri dell'azienda tramite Active Directory (connettore LDAP)
Per distribuire il file custo-manifest alle applicazioni Rainbow una per una:
- Dall'applicazione di amministrazione Rainbow, clicchi su Gestisci la tua azienda
nel pannello di sinistra.
- Nel pannello LA MIA AZIENDA, clicchi sul nome dell'azienda.
- Nel pannello di sinistra, clicchi su Membri.
- Clicchi sul membro dell'azienda desiderata e selezioni la scheda Informazioni.
- Nel campo Manifesto personalizzato, selezioni il file di destinazione tra i file disponibili elencati.
- Clicchi su Applica per convalidare e uscire dalla finestra delle impostazioni del membro dell'azienda.
- Dall'applicazione Rainbow del membro dell'azienda, clicchi sull'avatar nel pannello di sinistra, poi sul menu Impostazioni.
- Nel menu' di sinistra, selezioni Telefonia.
Si apre la finestra Impostazioni - Configurazione telefonia. - Espanda la finestra fino alla sezione Personalizzazione.
- Clicchi su Importa file e utilizzi il browser per selezionare e importare nell'applicazione Rainbow il solo file custo-manifest (*.json), oppure il file custo-manifest e le sue fonti esterne (*.ZIP).
- Clicchi su Continua per riavviare l'applicazione Rainbow e prendere in considerazione il nuovo file di personalizzazione.
Rimozione del file custo-manifest dalle applicazioni Rainbow per i membri dell'azienda.
- Dall'applicazione di amministrazione Rainbow, clicchi su Gestisci la tua azienda
nel pannello di sinistra.
- Nel pannello LA MIA AZIENDA, clicchi sul nome dell'azienda.
- Nel pannello di sinistra, clicchi su Informazioni.
- Nella parte destra della finestra, clicchi sulla scheda Personalizzazione, quindi sulla scheda File manifesto personalizzati.
- Selezioni il file custo-manifest di destinazione, clicchi su
, e selezioni
Rimuovi manifesto personalizzato.
Il file custo-manifest viene automaticamente rimosso dalle applicazioni Rainbow per i membri dell'azienda.
Esempi di configurazione
Eseguire un'applicazione o uno script con dei parametri
Esempio 1:
L'azione on-incoming-pbx-call-actions esegue un'applicazione (ad esempio MicroCrm) con un parametro da 'params' (senza ritorno).
"versione": "2", "punti di estensione": {"on-incoming-pbx-call-actions": [ { "nome": "Esegui CRM", "comando": {"url": "C:\MyApp\CustoApp\MicroCRM.exe", "params": "-numero ${caller.phoneNumber}" } } ],Esempio 2:
L'azione on-incoming-pbx-call-actions esegue uno script (*.bat) con i parametri di 'params' (senza ritorno).
"versione": "2", "punti di estensione": {"on-incoming-pbx-call-actions": [ { "nome": "BatScript", "command": {"url": "C:\MyApp.bat", "params": "IN-COMING canNr:${localUser.canonicalNumber} userIntNr:${localUser.internalNumber} chiamato[Nr:${calle.phoneNumber} FN:${caller.firstName} LN:${caller.lastName} .... CorData:[${chiamata.correlatorData Hex:${chiamata.hexCorrelatorData]" } }
} ],Aprire una pagina web con i parametri
Esempio 1:
L'azione on-incoming-pbx-call-actions apre una pagina web con i parametri di 'params' (senza ritorno).
"versione": "2", "punti di estensione": {"on-incoming-pbx-call-actions": [ { "nome": "Pagine gialle", "comando": {"url":"https://www.pagesjaunes.fr/annuaireinverse/recherche", "params": "quoiqui=${caller.phoneNumber}&proximite=0" } ],Esempio 2:
L'azione on-incoming-pbx-call-actions apre una pagina web con parametri direttamente nell'URL (senza ritorno).
"versione": "2", "punti di estensione": {"on-incoming-pbx-call-actions": [ {"nome": "Popup di contatto", "comando": {"url":"http://localhost:3000/contactShow?phone=${caller.phoneNumber}", "params": " " } } ],Eseguire una chiamata API REST con parametri.
Esempio 1:
Quando la chiamata in arrivo viene rilasciata, l'azione on-releasing-incoming-pbx-call-actions crea un registro delle chiamate END in REST utilizzando il metodo GET e i parametri di "params" (senza ritorno).
"versione": "2", "punti di estensione": {"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}" } ],Esempio 2:
Quando la chiamata in arrivo viene rilasciata, l'azione on-releasing-incoming-pbx-call-actions crea un registro delle chiamate END in REST utilizzando il metodo POST e i parametri di "bodyParameters" (senza ritorno).
"versione": "2", "punti di estensione": {"on-releasing-incoming-pbx-call-actions": [ { "nome": "PostRestApi", "command": {"commandType": "rest", "method": "POST", "url":"http://localhost:3000/IncidentManager/EndCallLog", "params": " " }, "bodyParameters": {"chiamante": "${contact.phoneNumber}", "utente": "${localUser.email}", } ],