Este artículo permite añadir funciones personalizadas a las aplicaciones Rainbow de las empresas asociadas mediante un conjunto de acciones configurables desde un archivo custo-manifest.json. Las funciones personalizadas están disponibles para empresas asociadas a Cloud PBX o Alcatel-Lucent Enterprise PBX (OmniPCX Enterprise u OXO Connect).
Las acciones disponibles son:
- Acciones activadas automáticamente tras eventos:
- on-outgoing-pbx-call-actions: para ejecutar una acción cuando se produce una llamada saliente
- on-incoming-pbx-call-actions: para ejecutar una acción cuando se produce una llamada entrante
- on-answering-incoming-pbx-call-actions: para ejecutar una acción cuando se contesta una llamada entrante
- on-releasing-incoming-pbx-call-actions: para ejecutar una acción cuando finaliza una llamada entrante
En las llamadas entrantes, las acciones pueden lanzar un script, una aplicación o una página web con información sobre la llamada entrante.
- Las acciones se activan mediante el uso de botones:
- on-incoming-pbx-call-button-actions: para ejecutar una acción pulsando un botón añadido en la ventana emergente de llamadas entrantes
- on-call-log-list-actions: para ejecutar una acción pulsando un botón insertado en cada elemento del registro de llamadas
- on-contact-list-actions: para ejecutar una acción pulsando un botón insertado en cada elemento de contactos
- on-contact-detail-actions: para ejecutar una acción pulsando un botón insertado en el área detallada de contactos
- on-communication-card-actions: para ejecutar una acción pulsando un menu insertado en la barra del gestor de llamadas.
- on-bubble-actions: para ejecutar una acción pulsando un botón insertado en la propiedad del menu burbujas
- on-bubble-conference-actions: para ejecutar una acción pulsando un botón insertado en el menu de llamadas de conferencia
Al pulsar los botones, las acciones pueden abrir ventanas emergentes con posibilidad de unirse a contactos o servicios por correo electrónico.
- Acciones con visualización automática de la información:
- on-incoming-pbx-call-display-actions: para insertar información en la ventana emergente de llamada entrante
- on-contact-card-display-actions: para insertar información en la zona detallada de contactos.
- Acción con visualización de aplicaciones de terceros:
- on-main-window-actions: para mostrar una aplicación de terceros en la aplicación Rainbow (sólo con la opción deventana emerg ente establecida en true: véase: Campos adicionales)
Haciendo clic en el icono dedicado en el panel izquierdo, la acción puede mostrar una aplicación de terceros en la parte derecha de la aplicación Rainbow.
Estas acciones se configuran a partir del archivo custo-manifest.json desplegado en las aplicaciones Rainbow para los miembros de la empresa.
El archivo custo-manifest. json puede desplegarse en las aplicaciones Rainbow de escritorio sin restricciones y en las aplicaciones Rainbow web con restricciones: véase: Campos principales.
La configuración consiste en:
- Desde la aplicación Rainbow de administración, exportar una plantilla del archivo custo-manifest.json en el ordenador.
- Editar y completar el archivo custo-manifest.j son
- Importar el custo-manifest. json en la aplicación Rainbow de administración
- Desplegar el custo-manifest. json en las aplicaciones Rainbow para los miembros de la empresa
Al realizar el despliegue desde la aplicación Rainbow de administración, el archivo custo-manifest. json ya no puede configurarse localmente desde la aplicación Rainbow de los miembros de la empresa: ya no se ofrecen opciones de exportación/importación.
Requisitos previos
- Debe tener una cuenta de administrador en la empresa con una licencia Business, Enterprise o Attendant.
Visión general del archivo custo-manifest
El archivo custo-manifest consta de dos partes:
- La primera parte enumera todas las acciones disponibles, y proporciona para cada acción, una plantilla con los principales parámetros a completar.
Ejemplo: - La segunda parte proporciona una guía de ayuda que debe leerse para la configuración.
Una acción se define mediante un conjunto de parámetros que se describen en las secciones siguientes.
Las siguientes acciones admiten hasta tres extensiones:
- on-principal-ventana-acciones
- on-contacto-detalle-acciones
- on-acciones-de-tarjeta-de-comunicación
- acciones on-burbuja
- on-burbuja-conferencia-acciones
Ejemplo de acciones en la ventana principal con dos extensiones:
Campos principales
- "nombre": es un texto utilizado para identificar la acción o la etiqueta del botón para las acciones que utilizan botón
- para acciones que utilizan botón
- "icono": es la ruta de acceso al icono del botón
- "tooltip": es la ruta de acceso a la información sobre la herramienta que se muestra al pasar el ratón por encima del botón
- "comando": define la acción a ejecutar
-
"url": es la ruta o URL de acceso a la aplicación local, página web o API REST
Nota: la barra invertida debe ser doble en la ruta de acceso a la aplicación local (por ejemplo, C:\\MicroCRM\MicroCRM.exe). - "params": es una cadena con variables ${xx} que serán sustituidas por su valor en la ejecución de la acción
-
"commandType": especifica el tipo de acción:
- No definido: lanza una aplicación local o una página web (si la url empieza por 'http' o 'https')
- "rest": ejecuta una llamada a la API REST
- "archivo": recupera el contenido del archivo a recuperar (principalmente para el ajuste del depurador)
Nota: Las acciones con los tipos de comando "rest" y " archivo " no son compatibles cuando se aplican a aplicaciones Web Rainbow. Se abrirán ventanas emergentes indicando que las acciones serán ignoradas. -
"responseType": define el tipo de contenido devuelto por la acción: "markdown", " json" o "adaptiveCard".
Si se establece en "json", entonces:
- "displayJsonField": define el campo cuyo valor es el contenido que se mostrará
- "firstNameJsonField": define el campo cuyo valor debe sustituir al nombre del llamante
- "lastNameJsonField": define el campo cuyo valor debe sustituir al apellido de la persona que llama.
- "companyJsonField": define el campo cuyo valor debe sustituir al nombre de la empresa de la persona que llama.
Si se establece como "adaptiveCard", entonces
- "adaptiveCardTemplateJsonField": define la plantilla de la tarjeta adaptativa que se mostrará
- "adaptiveCardContentJsonField": define el contenido de la tarjeta adaptativa que se mostrará
Nota: Rainbow admite cuatro opciones diferentes para la plantilla y el contenido de la tarjeta adaptable:
- Plantilla y contenido en un archivo: se utiliza principalmente para pruebas. El archivo puede ser local o recuperarse a través de una URL
- Plantilla en manifiesto y Contenido en un archivo: también se utiliza para pruebas. El archivo también puede ser el resultado de un script CGI
- Plantilla en el manifiesto y Contenido resultado de una llamada Rest: sólo se recuperan los datos de forma remota a través de una API Rest
- Plantilla y contenido resultado de unallamada Rest: los datos y el diseño se recuperan de forma remota a través de una API Rest
Campos principales:
Tipo de contenido en "json
Campos adicionales
- "AnswerOnClick": si se establece en true, ejecuta la acción y responde a la llamada entrante al mismo tiempo (sólo para acciones on-incoming-pbx-call-button-actions )
- "filter": si se establece en "NoShortNumber", no activará el evento si el número de la persona que llama es un número corto
-
"RaiseChangeCall": permite configurar el comportamiento al recibir una llamada transferida:
false: sólo las llamadas directas al usuario activarán el evento
true: el evento se dispara para las llamadas directas al usuario y también para las llamadas que han sido transferidas a este usuario
sólo: sólo las llamadas transferidas al usuario desencadenan el evento
- "Popup": cuando se establece en true, muestra una aplicación de terceros en la parte derecha de la aplicación Rainbow (sólo para acciones en la ventana principal )
Variables ${xx}
La plantilla de acción puede incluir variables ${xx} configuradas en los parámetros "url", "params " y "bodyParameters " (para API REST). Se sustituyen por su valor cuando se ejecuta la acción.
Las variables ${xx} pueden ser
Se puede aplicar una expresión regular (es decir, regex) a una variable ${xx}.
La sintaxis es ${rainbowVariable.regex(regexPatternValue, replacementValue)}
La regex se aplicará a la variable ${xx} antes de enviarla a la aplicación externa si forma parte de la solicitud o antes de pasarla a la aplicación web si forma parte de una respuesta.
Ejemplos:
Al sustituir ${localUser.phonePbx} por su valor, también aplica una regex sobre él.
"params": "pbx=${localuser.phonepbx.regex(^\\+33\|^\\+1, 0)}="0)}"
En este ejemplo, "+333909090" se cambiará por "03909090".
"params": "byEmail=${localUser.email.regex(alcatel.com, al-enterprise.com)}"
En este ejemplo, "someone@alcatel.com" se cambiará por "someone@al-enterprise.com".
Exportación de una plantilla de archivo custo-manifest en el ordenador
Esta operación sólo puede realizarse desde una aplicación Rainbow de escritorio.
- Desde la aplicación Rainbow de administración, haga clic en el avatar del panel izquierdo y, a continuación, en el menu Configuración.
- En el menu de la izquierda, seleccione Telefonía.
Se abrirá la ventana Ajustes - Configuración de telefonía. - Despliegue la ventana hasta la sección Personalización.
- Haga clic en Exportar archivo y utilice el navegador para exportar el archivo custo-manifest en el ordenador.
- Haga clic en Cerrar para salir de la ventana de configuración de telefonía.
Configuración del archivo custo-manifest en el ordenador
- Abra el archivo custo-manifest utilizando un editor de texto.
-
Configure los parámetros de las acciones a utilizar.
Atención: no elimine el espacio entre las comillas dobles de los parámetros no utilizados ("name": " ", "url": " ", "params": " "), de lo contrario no se tendrá en cuenta el archivo importado. - Elimine los parámetros de todas las acciones no utilizadas.
- Guarde el archivo custo-manifest.
- Si el archivo custo-manifest hace referencia a fuentes externas (imágenes y/o archivos de texto), cree un archivo *.zip con el archivo custo-manifest y las fuentes externas.
Ejemplo:
En este ejemplo, el archivo *.ZIP debe contener los archivos custo-manifest.json, basketball.png y FileDisplay.txt.
Importación del archivo custo-manifest en la aplicación Rainbow de administración
Se pueden importar uno o varios archivos custo-manifest en la aplicación Rainbow de administración para la empresa. Tras la importación, el archivo custo-manifest estará accesible para todos los administradores de la empresa para su despliegue o actualización.
La importación de archivos puede realizarse desde una aplicación Rainbow de escritorio o web.
- Desde la aplicación Rainbow de administración, haga clic en Gestionar su empresa
en el panel izquierdo.
- En el panel MI EMPRESA, haga clic en el nombre de la empresa.
- En el panel izquierdo, haga clic en Información.
- En la parte derecha de la ventana, haga clic en la pestaña Personalización y, a continuación, en la pestaña Archivos de manifiesto personalizados.
- Haga clic en Añadir y utilice el navegador para seleccionar e importar en la aplicación Rainbow el archivo custo-manifiesto únicamente (*.json), o el archivo custo-manifiesto y sus fuentes externas (*.ZIP).
- Haga clic en Añadir para validar la importación.
El archivo custo-manifest aparece en la lista y puede ser exportado por cualquier administrador de la empresa para su actualización: seleccione el archivo de destino, haga clic en, y seleccione
Descargar.
Despliegue del archivo custo-manifest en las aplicaciones Rainbow para los miembros de la empresa
El archivo custo-manifest puede desplegarse en las aplicaciones Rainbow para miembros de la empresa, una a una o en un solo paso utilizando la transferencia masiva. Tras el despliegue, el custo-manifest se tendrá en cuenta en las aplicaciones Rainbow al reiniciarse: las opciones de exportación/importación ya no se ofrecen en la aplicación Rainbow.
La transferencia masiva se puede realizar utilizando cualquiera de los siguientes elementos:
- Un archivo CSV: La operación consiste en desplegar el archivo custo-manifest para un miembro de la empresa (véase el procedimiento a continuación), exportar un archivo csv relleno con los datos de los miembros de la empresa, completar en el archivo CSV la columna selectedManifestName para los miembros de la empresa de destino, e importar el archivo CSV: véase: Gestión de los miembros de la empresa mediante aprovisionamiento masivo
- El directorio LDAP de la empresa: La operación consiste en sincronizar el directorio de la empresa en Rainbow con el directorio LDAP de la empresa tras modificar la asignación de atributos predefinida con el atributo de usuario selectedAppCustomisationTemplateName establecido en const(<nombre del archivo custo-manifest>): véase: Aprovisionamiento de miembros de la empresa a través de un directorio activo (conector LDAP)
Para desplegar uno a uno el archivo custo-manifest en las aplicaciones Rainbow
- Desde la aplicación Rainbow de administración, haga clic en Gestionar su empresa
en el panel izquierdo.
- En el panel MI EMPRESA, haga clic en el nombre de la empresa.
- En el panel izquierdo, haga clic en Miembros.
- Haga clic en el miembro de la empresa deseado y seleccione la pestaña Información.
- En el campo Manifiesto personalizado, seleccione el archivo de destino entre los archivos disponibles de la lista.
- Haga clic en Aplicar para validar y salir de la ventana de configuración de miembros de la empresa.
- Desde la aplicación Rainbow del miembro de la empresa, haga clic en el avatar en el panel izquierdo y, a continuación, en el menu Configuración.
- En el menu de la izquierda, seleccione Telefonía.
Se abrirá la ventana Ajustes - Configuración de telefonía. - Expanda la ventana hasta la sección Personalización.
- Haga clic en Importar archivo y utilice el navegador para seleccionar e importar en la aplicación Rainbow el archivo custo-manifest únicamente (*.json), o bien el archivo custo-manifest y sus fuentes externas (*.ZIP).
- Haga clic en Continuar para reiniciar la aplicación Rainbow y tener en cuenta el nuevo archivo de personalización.
Eliminación del archivo custo-manifest de las aplicaciones Rainbow para miembros de la empresa
- Desde la aplicación Rainbow de administración, haga clic en Gestionar su empresa
en el panel izquierdo.
- En el panel MI EMPRESA, haga clic en el nombre de la empresa.
- En el panel izquierdo, haga clic en Información.
- En la parte derecha de la ventana, haga clic en la pestaña Personalización y, a continuación, en la pestaña Archivos de manifiesto personalizados.
- Seleccione el archivo custo-manifest de destino, haga clic en
, y seleccione
Eliminar manifiesto personalizado.
El archivo custo-manifest se elimina automáticamente de las aplicaciones Rainbow para los miembros de la empresa.
Ejemplos de configuración
Ejecutar una aplicación o un script con parámetros
Ejemplo 1:
La acción on-incoming-pbx-call-actions ejecuta una aplicación (por ejemplo, MicroCrm) con un parámetro de "params" (sin retorno).
"version": "2", "puntos de extensión": { "on-incoming-pbx-call-actions": [ { "name": "Ejecutar CRM", "comando": { "url": "C:\MyApp\CustoApp\MicroCRM.exe", "params": "-número ${caller.phoneNumber}" } ],Ejemplo 2:
La acción on-incoming-pbx-call-actions ejecuta un script (*.bat) con parámetros de 'params' (sin retorno).
"version": "2", "puntos de extensión": { "on-incoming-pbx-call-actions": [ { "nombre": "BatScript", "comando": {"url": "C:\MyApp\MyApp.bat", "params": "IN-COMING canNr:${localUser.canonicalNumber} userIntNr:$"{localUser.internalNumber} caller[Nr:${calle.phoneNumber} FN:${caller.firstName} LN:${caller.lastName} .... CorData:[${calle.correlatorData Hex:${calle.hexCorrelatorData]" }
} ],Abrir una página web con parámetros
Ejemplo 1:
La acción on-incoming-pbx-call-actions abre una página web con parámetros de 'params' (sin retorno).
"version": "2", "puntos de extensión": { "on-incoming-pbx-call-actions": [ { "nombre": "Páginas amarillas", "comando": { "url":"https://www.pagesjaunes.fr/annuaireinverse/recherche", "params": "quoiqui=${caller.phoneNumber}&proximite=0" } } ],Ejemplo 2:
La acción on-incoming-pbx-call-actions abre una página web con parámetros directamente en URL (sin retorno).
"version": "2", "extension-points": { "on-incoming-pbx-call-actions": [ { "name": "ventana emergente de contacto", "comando": { "url":"http://localhost:3000/contactShow?phone=${caller.phoneNumber}", "params": " " } } ],Ejecutar una llamada a la API REST con parámetros
Ejemplo 1:
Cuando se libera la llamada entrante, la acción on-releasing-incoming-pbx-call-actions crea un registro de llamadas END en REST utilizando el método GET y los parámetros de "params" (sin retorno).
"version": "2", "puntos de extensión": { "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}" } } ],Ejemplo 2:
Cuando se libera la llamada entrante, la acción on-releasing-incoming-pbx-call-actions crea un registro de llamadas END en REST utilizando el método POST y los parámetros de "bodyParameters" (sin retorno).
"version": "2", "puntos de extensión": { "on-releasing-incoming-pbx-call-actions": [ { "name": "PostRestApi", "command": { "commandType": "rest", "method": "POST", "url":"http://localhost:3000/IncidentManager/EndCallLog", "params": " " }, "bodyParameters": { "llamante": "${contact.phoneNumber}", "usuario": "${localUser.email}", } ],