Saltar al contenido

Módulo WhatsApp Endpoints

    WhatsApp Flows

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

    				
    					https://developers.facebook.com/docs/whatsapp/cloud-api/reference/whatsapp-business-encryption#set-business-public-key
    				
    			

    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.