Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

  • Image Added

    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

...

(blue star) Nuevo: Crea un nuevo flujo (se pierden los cambios que no fueron salvados o activados).

(blue star) Abrir: Carga un Flujo que previamente fue guardado en un archivo JSON.

(blue star) Guardar: Guarda en un Archivo JSON.

(blue star) Deshacer: Deshace la última acción.

(blue star) Rehacer: Rehace la última acción deshecha.

(blue star) Copiar: Copia una parte del dibujo que esté seleccionado (es posible copiar y pegar entre pestañas del explorador).

(blue star) Pegar: Pega cualquier actividad/es copiadas o cortadas (incluye conexiones y propiedades).

(blue star) Zoom entrante: Acerca la vista del dibujo.

(blue star) Zoom saliente: Aleja la vista del dibujo.

(blue star) Bloquear: Bloquea una selección del dibujo, no la deja mover. 

(blue star) Eliminar: Eliminar Actividad o Conexión, es posible usar Ctrl V, C, X.

(blue star) Agrupar: Agrupa partes del dibujo para poder trasladarlas en conjunto.

(blue star) Alinear: Opciones para alinear el dibujo.

Buscar en el diagrama: Encuentra actividades en el diagrama marcando su nombre en rojo.

(blue star) Activar, (blue star) Cargar y (blue star) 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.

Image RemovedImage Added

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:

  1. StartActivity - Para flujos de Telefonía.

  2. BotStartActivity - Para flujos de bots.

  3. BotFunctionStartActivity - Para crear extensiones de bots.

  4. ChannelProviderStartActivity - Para enviar información hacia un tercero.

  5. WebhookStartActivity- Para recibir información desde un tercero.

  6. 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

...