El módulo Webhooks permite que plataformas externas puedan informar de eventos a Reevolute Builder.
A diferencia del escenario habitual en que una plataforma externa invoca a un árbol de Reevolute Builder para usarla dentro de su lógica de negocio, en este caso la plataforma externa solamente informa de la ocurrencia de un evento, el que puede ser aprovechado por lógicas construidas a través de árboles.
Webhooks en Reevolute Builder
Flujo general
En la siguiente figura se aprecia un diagrama general que se muestra las entidades involucradas, así como el flujo de un evento generado por una plataforma externa.
El flujo es el siguiente:
La plataforma externa notifica la ocurrencia de un evento a un webhook de Reevolute Builder
El módulo Webhooks de Reevolute Builder recibe el evento y responde inmediatamente a la plataforma externa informando la recepción correcta del evento
El módulo Webhooks analiza la información y, de acuerdo a su configuración, solicita la ejecución asíncrona de un árbol
Ante la solicitud de ejecución asíncrona del árbol, el sistema entrega un ack inmediatamente al módulo Webhooks informando la recepción de la solicitud. Este ack es previo a la ejecución del árbol.
Inmediatamente después de la respuesta se comienza a ejecutar el árbol invocado
Finalmente se termina la ejecución del árbol, no informando de la respuesta al módulo Webhooks ya que el árbol fue invocado asíncronamente
A continuación se detallan cada uno de los pasos anteriores.
Notificación de Eventos
En esta etapa del flujo, la plataforma externa notifica la ocurrencia de un evento a un webhook de Reevolute Builder el que responde inmediatamente a la plataforma externa informando la recepción correcta del evento
REQUEST (paso 1)
Para la notificación de un evento la plataforma externa debe utilizar una invocación REST al siguiente endpoint y métodos.
Webhook Endpoint
https://builder.reevolute.com/v2/tenants/$TENANT_ID/webhooks/$WEBHOOK_ID/executions
Metodos
GET POST
donde los parámetros son los siguientes:
Parameter
M/O
Type
Description
TENANT_ID
M
String
Identificador del tenant donde está el webhook al que se desea notificar el evento
WEBHOOK_ID
M
String
Identificador de webhook.
Ejemplo: 89e34072-83b9-5e8b-21fe-82c1215a768e
La información que contiene el evento puede entregarse en las siguientes estructuras de las invocaciones REST:
Header
Body
Query-params
RESPONSE (paso 2)
El módulo Webhook valida que el identificador de Webhook exista y consulta su configuración. En caso de existir, responde inmediatamente a la plataforma externa, informándole la recepción del evento.
El módulo Webhook posee 2 modos de configuración para la respuesta que se le entrega a la plataforma externa, estos son:
Modo básico (paso 2a): La respuesta es únicamente el código http (200, 201, 202, 203 o 204), sin enviar información adicional.
Modo avanzado (paso 2b): La respuesta es construida a través de la ejecución de un script, el que permite definir el estado http, el header y el body de la respuesta.
Invocación asíncrona de árboles
Adicionalmente al modo de respuesta a la plataforma externa, la configuración del webhook incluye también:
Árbol a ejecutar
Release (test o production)
Con dicha información, el módulo webhook solicita la ejecución ASÍNCRONA del árbol, como se muestra en la siguiente figura.
Al invocar el árbol, el módulo webhook entrega la información recibida en el evento a través de las siguientes variables.
Variable
Descripción
path
Path de la URL invocada
body
Información entregada en el body del evento
headers
Conjunto de headers recibidos
query
Parámetros recibidos en query-params
Ejecución de árboles
Finalmente, el árbol invocado es ejecutado. Su respuesta no es entregada al módulo webhook ya que se solicitó la invocación asíncronamente.
Administración WEB
Configuración Webhooks
Para acceder a la configuración del módulo Webhooks se debe seleccionar la opción «Webhooks» que está en la sección «Módulos» del panel de la izquierda de la WEB de Reevolute Builder.
A través del módulo se puede apreciar los webhooks configurados y, por medio del botón «Nuevo Webhook», se puede crear uno nuevo.
En la siguiente figura se muestra la configuración de un webhook. En este ejemplo se está usando un script para generar la respuesta a la plataforma externa.
Reporte de Webhooks
La plataforma posee reportes sobre los eventos recibidos en la opción «Webhooks» que está en la sección «Reportes» del panel de la izquierda de la WEB de Reevolute Builder.