Saltar al contenido

Módulo Webhooks

    Aprovechar eventos de plataformas externas

    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:

      1. La plataforma externa notifica la ocurrencia de un evento a un webhook de Reevolute Builder
      2. El módulo Webhooks de Reevolute Builder recibe el evento y responde inmediatamente a la plataforma externa informando la recepción correcta del evento
      3. El módulo Webhooks analiza la información y, de acuerdo a su configuración, solicita la ejecución asíncrona de un árbol
      4. 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.
      5. Inmediatamente después de la respuesta se comienza a ejecutar el árbol invocado
      6. 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:

        1. Modo básico (paso 2a): La respuesta es únicamente el código http (200, 201, 202, 203 o 204), sin enviar información adicional. 
        2. 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.

    Para más detalles sobre este reporte ir a  Reporte de Webhooks.