‘WhatsApp Flows’ es una función de WhatsApp Business que permite crear e implementar rápidamente flujos de trabajo nativos centrados en tareas en WhatsApp a fin de enriquecer las interacciones de los usuarios. Es un proceso que permite mejorar la finalización de las tareas, reducir el número de abandonos y lograr una mayor interacción de los usuarios.
Los Flows pueden ser autocontenidos, en cuyo caso su funcionamiento no depende de lógicas externas, o interactivos, en los que una aplicación externa define parte de la lógica del mismo.
En esta sección se consideran los Flows del tipo interactivo en los que la lógica externa es implementado con un árbol de la plataforma ‘Reevolute Builder’
Encriptación de Flows
Los datos intercambiados entre WhatsApp Flows y la aplicación final se cifran mediante una combinación de cifrado simétrico y asimétrico. Se debe tener un par de claves para habilitar el cifrado y cargar la clave pública.
La creación de las claves privada y pública se pueden generar a partir del procedimiento definido por WhatsApp en el siguiente link.
Como se mencionará más adelante, se necesitará ingresar la clave privada en la WEB de Reevolute Builder para que la comunicación funcione adecuadamente.
WhatsApp Endpoints en Reevolute Builder
Credenciales
Para que se pueda establecer la comunicación asociada a los Flows de WhatsApp en Reevolute Builder se deben configurar las credenciales/claves que permitirán realizar la desencriptación y encriptación de la información.
Para cada credencial/clave se deberá configurar los parámetros que se muestran en la siguiente tabla.
Parámetro
Tipo
Descripción
Nombre
Mandatorio
Nombre de la credencial que se utilizará posteriormente en los Endpoints
Descripción
Opcional
Información con el detella del uso que se le dará a la credencial
Clave privada
Mandatorio
Clave privada obtenida durante el proceso detallado anteriormente
Validador clave privada
Opcional
Frase semilla (pass phrase) que se utiliza durante el proceso de generación de claves
Endpoints
Cuando se requiere que un Flow de WhatsApp interactúe con un ente externo se le debe configurar un Endpoint que corresponde a la URL con la que WhatsApp se comunicará para dicha interacción. Cada vez que Reevolute Builder reciba un requerimiento respecto a un Flow WhatsApp ejecutará el árbol configurado entregándole los parámetros recibidos y responderá con la respuesta del árbol.
Para cada Endpoint se deberá configurar los parámetros que se muestran en la siguiente tabla.
Parámetro
Tipo
Descripción
Nombre
Mandatorio
Nombre del Endpoint
Descripción
Opcional
Información con el detella del uso que se le dará al Endpoint
Credencial
Mandatorio
Credencial que se utilizará en la comunicación con WhatsApp Flows
Árbol
Mandatorio
Árbol que se ejecutará cuando se reciba una invocación desde WhatsApp Flows
Release
Mandatorio
Reelase que se utilizará para invocar al árbol (production/test)
Árboles
Como ya se describió, el árbol definido en un Endpoint implementará la lógica de negocio adhoc y deberá retornar información a WhatsApp Flows para indicar información que permita continuar con la interación con el usuario final.
Parámetro
Tipo
Descripción
action
Mandatorio
Define el tipo de requerimiento dependiendo del escenario del trigger. 'INIT' si el trigger es de apertura de Flow. 'BACK' si es cuando el usuario presiona "atrás". 'data_exchange' cuando se envía una pantalla
data
Opcional
Un objeto pasando datos arbitrarios en formato key-value. Si 'action' es INIT o BACK, este campo podría no ser necesaria
error_message
Opcional
Si un mal requerimiento es enviado desde el cliente WhatsApp este mensaje de error define lo que se entregará al cliente.
screen
Opcional
Si 'action' es INIT o BACK, este campo podría no ser necesario (Nota: "SUCCESS" es un nombre reservado que no puede ser usado por ninguna pantalla)
flow_token
Mandatorio
Parámetro similar a un identificador de sesión comunmente usada en aplicaciones web.
Administración WEB
Para acceder a la configuración de los Endpoints se debe ir al panel de la izquierda en la opción «WhatsApp Endpoints» ubicado en la sección «Eventos entrantes». Este panel se muestra en la siguiente figura.
Una vez seleccionada la opción «WhatsApp Endpoints» se podrá configurar las credenciales al acceder a la pestaña «Credenciales».
Finalmente en la pestaña «Endpoints» se podrá configurar el Endpoint que hará uso de la credencial anteriormente configurada.