...
Introducción
Con esta herramienta se crean flujos para un plan de marcado, webhooks, proveedores de SMS y Whatsapp y blacklist.
Es una herramienta HTML5 y Javascript de arrastrar y soltar, cada actividad es una aplicación del plan de marcado, y es posible cambiar su comportamiento vía sus propiedades.
Se genera código que es activado (deploy) en el servidor. Pueden cargarse flujos del servidor para editarlos y activarlos al momento.
Info |
---|
Una vez un flujo es activado, queda inmediatamente activo. |
Al cargar un flujo del servidor se entra en modo edición, el cual permite hacer modificaciones y activarlos al momento de realizar la activación (deploy).
Info |
---|
En la esquina inferior derecha muestra si nos encontramos en modo edición o en la creación de un flujo nuevo. |
Info |
---|
A tener en cuenta: Las flechas verdes son el camino verdadero y las flechas rojas el camino falso cuando hay condiciones. |
Manejo de Flujos
Carga
...
Esta ventana permite cargar flujos del servidor, están agrupados en contextos y dentro de ellos se encuentran las extensiones.
Toda llamada originada desde un dispositivo va a buscar flujos que mapeen contra las extensiones que existen en su contexto, si mapea una extensión se ejecutan los pasos de ese flujo. Todos los flujos juntos son el plan de marcado del sistema.
Controla todas las llamadas que pasan por el sistema. Se configura todo el comportamiento del sistema, ya existen flujos estándar que hacen más sencillo las configuraciones.
Historial: Registra las acciones realizadas en cada Flujo.
Los diferentes tipos de acciones son:
INSERT(creación de un flujo),
UPDATE(actualización de un flujo)
y DELETE(flujo borrado).
La gran ventaja del historial es la recuperación de flujos borrados para volver a trabajar sobre ellos sin haber perdido datos.
Se pueden aplicar filtros de búsqueda tales como por columna de Contexto o Exten, escribiendo lo deseado y haciendo clic en el logo de la lupa de búsqueda.
...
Borrar: Borra el flujo seleccionado en la lista.
Cargar: Carga el flujo seleccionado.
Abrir en pestaña adicional: Permite abrir el flujo seleccionado en una pestaña aparte a la actual. Facilitando el trabajo con varios flujos a la vez.
Activar
...
En esta ventana se activa (deploy) de un flujo y se le agrega una descripción para luego saber que hace, una vez ejecutado, ya comienza a tomar los cambios en el sistema.
Si cargamos un Flujo al Activar nos va a sugerir el comentario previo.
Guardar
Es posible guardar en disco en un archivo flujos por si se requieren luego activar en otro servidor o instalación.
Barra de herramientas
...
Nuevo: Crea un nuevo flujo (se pierden los cambios que no fueron salvados o activados).
Abrir: Carga un Flujo que previamente fue guardado en un archivo JSON.
Guardar: Guarda en un Archivo JSON.
Deshacer: Deshace la última acción.
Rehacer: Rehace la última acción deshecha.
Copiar: Copia una parte del dibujo que esté seleccionado (es posible copiar y pegar entre pestañas del explorador).
Pegar: Pega cualquier actividad/es copiadas o cortadas (incluye conexiones y propiedades).
Zoom entrante: Acerca la vista del dibujo.
Zoom saliente: Aleja la vista del dibujo.
Bloquear: Bloquea una selección del dibujo, no la deja mover.
Eliminar: Eliminar Actividad o Conexión, es posible usar Ctrl V, C, X.
Agrupar: Agrupa partes del dibujo para poder trasladarlas en conjunto.
Alinear: Opciones para alinear el dibujo.
Buscar en el diagrama: Encuentra actividades en el diagrama marcando su nombre en rojo.
Activar, Cargar y Debug:
Permiten activar cambios o nuevos flujos, o cargarlos del servidor o mostrar el código generado en consola.
Al iniciar el Workflow Designer podemos ver las Start Activities.
Estas son la actividad inicial de cualquier flujo, al arrastrar una hacia la mesa de trabajo, se define qué tipo de flujo es.
Tipos de start activities:
StartActivity - Para flujos de Telefonía.
BotStartActivity - Para flujos de bots.
BotFunctionStartActivity - Para crear extensiones de bots.
ChannelProviderStartActivity - Para enviar información hacia un tercero.
WebhookStartActivity- Para recibir información desde un tercero.
BlacklistStartActivity - Actividad que inicia el flujo de blacklist.
Tip |
---|
Una vez que se coloque la start activity deseada, se despliegan las actividades relacionadas con su canal y necesarias para la creación del flujo. |
...
Descripción de Start Activities
StartActivity
Es necesaria esta actividad para darle el inicio al a un flujo de telefonía, en la misma se indicará para que contexto y extensión se realizará el flujo.
...
name
Es el nombre del webhook que al mismo tiempo se va a corresponder con la ruta para poder ejecutar el flujo.
En el siguiente link se puede ver una guia de creación de webhooks salientes.Creación de Webhooks salientes
...
BlacklistStartActivity
Actividad que inicializa el flujo de blacklist.
...
Info |
---|
Los métodos aceptados son: POST, PUT, GET, DELETE. |
https://instance.ucontactcloud.com/IntegraChannels/resources/webhook/{name}
BlacklistStartActivity
Actividad que inicializa el flujo de blacklist.
...
Ejecución de javascript
Para los flujos de bot, proveedores, webhook y blacklist, existe la posibilidad de ejecutar javascript. Cada ejecución mantiene un contexto que posee variables que se mantienen durante toda la ejecución. De la misma manera que ya vienen seteadas al principio de la ejecución variables, se pueden setear nuevas variables que se van a mantener toda la ejecución. La única actividad para ejecutar código es Procedure, en las otras actividades es posible ejecutar código o acceder a variables utilizando la convención “template strings“ de javascript.
...
Otra posible ejecución de javascript es para tomar decisiones acerca de qué camino puede seguir el flujo. Para esto existe la actividad Evaluate, la cual recibe una expresión que debe retornar true o false, y permite conectar dos caminos posibles de actividades.
...
Log de flows
Se emplea log4j2 como librería para el log de flows, y el archivo donde se puede ver todo lo relacionado con los bots se encuentra en var/log/ucontact/flows.log
...