Ir al contenido principal

Integración de eventos por vista SQL

Esta integración permite disparar en WoowUp un evento en base a una vista SQL. El evento a disparar, los campos a mapear y la frecuencia de consulta se definen según el caso de uso de cada integración.

Información a Confirmar Antes de Implementar

Para avanzar con la implementación, es necesario confirmar los siguientes puntos:

#

Punto a confirmar

Notas

1

¿Con qué frecuencia se consultará la vista?

Ej: cada 30 minutos, cada 1 hora, tiempo real. Define la frecuencia de ejecución del conector.

2

¿Cuál es el evento a disparar?

El evento debe estar previamente creado en WoowUp.

3

¿Cuál es el identificador principal del usuario?

Puede ser email, documento u otro identificador según la configuración de la cuenta en WoowUp.

4

¿Qué campos se enviarán como metadata del evento?

Cualquier campo adicional de la vista puede incluirse en el objeto metadata.

5

¿El campo de fecha/hora está en UTC o en timezone local?

Necesario para formatear correctamente el datetime del evento.

6

¿Puede haber registros duplicados?

Definir si se ignora el duplicado o se dispara el evento igual.

Flujo de la Integración

Etapa

Componente

Descripción

Responsable

1

Vista SQL

Se exponen los registros a procesar

Integraciones

2

Conector WoowUp

Se detectan registros nuevos y se dispara el evento configurado

WoowUp

3

Automatización

Se detecta el evento y se ejecuta la acción configurada (ej: email transaccional)

WoowUp

Estructura de la Vista

La vista SQL debe exponer como mínimo los siguientes campos:

Campo

Tipo

Descripción

identificador usuario

String

Campo que identifica al usuario en WoowUp (email, documento u otro según la cuenta).

fecha del evento

DateTime

Fecha y hora del hecho a registrar. Se mapea al campo datetime del evento.

campo_metadata_1

String / Number

Campo adicional a enviar como metadata. Puede definirse según el caso de uso.

campo_metadata_N

String / Number

Se pueden incluir tantos campos de metadata como sea necesario.

ℹ️ Si un registro no contiene el campo identificador del usuario, se omite y no se dispara el evento.


Paso a Paso de Implementación

Paso 1: Creación del evento en WoowUp

El tipo de evento debe existir en la plataforma antes de poder dispararlo. Se crea una única vez mediante la API:


curl -X POST \
https://api.woowup.com/apiv3/events \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'cache-control: no-cache' \
-d '{
"name": "nombre-del-evento"
}'

ℹ️ El nombre del evento solo acepta caracteres alfanuméricos y guiones ( - ).

¿Donde encuentro mi API_KEY? Podes ver cómo encontrarla haciendo clic acá

Mas información sobre la API de eventos acá

Respuesta esperada:

{
"id": 1234,
"name": "nombre-del-evento",
"createtime": "2024-01-15 10:00:00"
}



Paso 2: Verificación del evento

Se puede confirmar que el evento fue creado correctamente con la siguiente consulta:


curl -X GET \
'https://api.woowup.com/apiv3/events?limit=100&page=0' \
-H 'accept: application/json' \
-H 'authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'cache-control: no-cache'


Paso 3: Configuración del Conector SQL en WoowUp

Esta tarea deberá planificarse con el equipo de integraciones de Woowup.

Se configura la conexión a la vista SQL con los siguientes parámetros:

Parámetro

Valor

Vista a consultar

A proveer por el equipo de IT

Frecuencia de lectura

Según corresponda

Acción al detectar registro nuevo

Disparar el evento configurado vía API


Paso 4: Disparo del evento (POST /user-events)

Por cada registro nuevo detectado en la vista, se ejecuta el siguiente request:


https://api.woowup.com/apiv3/user-events \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'cache-control: no-cache' \
-d '{
"event": "nombre-del-evento",
"email": "[email protected]",
"document": "12345678",
"datetime": "2024-01-15T14:30:00-03:00",
"metadata": {
"campo_metadata_1": "valor_1",
"campo_metadata_2": "valor_2"
}
}'

⚠️ El campo datetime debe incluir el offset de timezone. Si se envía sin timezone, WoowUp lo interpreta como UTC. Ejemplo para GMT-3: 2024-01-15T14:30:00-03:00


Paso 5: Verificación de eventos disparados

Se pueden consultar los eventos registrados para validar que el disparo fue exitoso:


curl -X GET \
'https://api.woowup.com/apiv3/user-events?event=nombre-del-evento' \
-H 'accept: application/json' \
-H 'authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' \
-H 'cache-control: no-cache'


Paso 6: Configuración de la Automatización

Este paso debe realizarse en conjunto con su Customer Success.

En el módulo de Automatizaciones de WoowUp, se configura un flujo que se activa al detectarse el evento:

  • Trigger: Evento = nombre-del-evento

  • Acción: la que corresponda según el caso de uso (ej: envío de email transaccional, actualización de perfil, etc.)

  • Los campos enviados en metadata del evento pueden utilizarse dentro de la plantilla de comunicación.


Ejemplos de Uso

Esta integración puede aplicarse a cualquier caso en el que un sistema externo registre un hecho relevante sobre un usuario y se quiera activar una comunicación o automatización en WoowUp a partir de ese momento.

Por ejemplo:

Orden entregada a domicilio
Cuando el sistema logístico registra que un pedido fue entregado en el domicilio del cliente, se dispara el evento ordenEntregada. WoowUp activa automáticamente un email notificando al usuario que su pedido llegó.

Orden lista para retirar en tienda

El cliente compró online con la opción "retiro en tienda". Cuando la sucursal confirma que el producto está disponible, WoowUp avisa al cliente automáticamente.

Garantía extendida por vencer

Este caso anticipa algo que va a pasar: cuando la garantía de un electrodoméstico está por vencer, WoowUp puede avisarle al comprador con anticipación de manera automática.

Campo vista SQL

Campo API WoowUp

Valor de ejemplo

customerEmail

email

customerDni

document

12345678

journeyDate

datetime

2024-01-15T14:30:00-03:00

documentNumber

metadata.documentNumber

0001-00012345






¿Ha quedado contestada tu pregunta?