Webhooks

  • Actualización

Los webhooks permiten que datos como nombre, correo electrónico, fecha de nacimiento, género, método de registro, dirección MAC y más, se envíen a sus sistemas CRM internos en tiempo real.

Licencia requerida: Engage

Los beneficios incluyen:

  • Obtenga nuevos datos en tiempo real tan pronto como se active el evento.
  • Ofrezca a sus clientes un servicio superior. Usando Webhooks, puede enviar los datos de usuario de los visitantes desde Purple a sus aplicaciones internas para habilitar una experiencia personalizada.
  • Involucre a los visitantes con su marca. Tener un flujo en vivo de los datos de sus visitantes siendo enviados a sus otros CRM le proporciona un perfil más completo de cada cliente. 

Agregar un Webhook

  1. A nivel de empresa o lugar, navegue a la sección de Gestión del Portal desde la barra lateral izquierda y seleccione Lugares. Haga clic en la pestaña Webhooks en la parte superior de la página de Lugares.
  2. Debe agregar y validar la URL de destino (endpoint) a la que desea que el Webhook envíe datos. Los datos se envían como un objeto JSON, por lo que debe asegurarse de que su URL de destino sea capaz de recibir los datos. No hay límite en la cantidad de URLs que puede validar.
  3. Una vez que su URL esté validada, navegue a LogicFlow en el portal y verá un Nodo de Acción Webhooks. Esto debe configurarse en un LogicFlow 'En línea'. Después de agregar su Nodo de Inicio, coloque el Nodo Webhook en su flujo y seleccione su URL validada, luego cierre su flujo con el Nodo Final. Valide y guarde.
  4. A continuación, debe agregar su LogicFlow con el Webhook en su Access Journey. Desde la pestaña Onboarding en la barra lateral izquierda dentro del portal, haga clic en Access Journeys.
  5. Desde Access Journeys, seleccione la pestaña LogicFlow y haga clic en ‘Nuevo flujo lógico’. Seleccione el LogicFlow deseado. Ahora, cada vez que un usuario se conecte a su WiFi, sus datos se enviarán a través del Webhook recién creado.

Consulte nuestra guía en video que muestra el proceso de creación del webhook:

Escucha de Webhook

Para usar Webhooks, necesitará tener su propio listener que reciba y analice JSON en el formato especificado a continuación.

El listener recibirá solicitudes POST de Purple con un cuerpo JSON. Una solicitud típica de Purple tendrá la siguiente estructura:

POST /your/url HTTP/1.1

Host: your.domain.com

User-Agent: Purple Webhook

Content-Length: 960

Accept-Encoding: gzip

{

"client": {

"mac": "00-01-02-DD-03-EB",

"userAgent": "Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/99.0.4844.74 Safari\/537.36"

},

"company": {

"id": 99999,

"name": "name",

"uniqId": "uniq_ID"

},

"session": {

"authenticationTime": "2023-08-15T14:12:33+0000"

},

"user": {

"customFields": [],

"dateOfBirth": "",

"email": "webhook@test.com",

"emailStatus": "",

"firstName": "name",

"gender": "F",

"id": 123456789,

"lastName": "surname",

"locale": "en_GB",

"mobile": null,

"mobileCountry": null,

"postcode": null,

"provider": "Facebook",

"title": null,

"unsubscribed": true,

"unsubscribedDate": null,

"unsubscribedSource": null,

"visitCountsForVenues": {

"12345": 1
"firstVisit": "2023-08-15T14:12:33+0000",
"lastVisit": "2023-08-15T14:12:33+0000"

}

},

"venue": {

"id": 12345,

"latitude": "53.481588",

"longitude": "-2.046912",

"name": "Test Venue",

"uniqId": "vq-1ab123bc4e56e"

}

}

El listener debe ser accesible vía SSL, con un certificado válido. Los datos no se enviarán a URLs sin SSL. El listener debe devolver una respuesta 200, y devolver el encabezado wifiWebhookListener con un valor de 1 (entero uno) para verificar que es un listener real.

 

Datos

Purple actualmente envía los siguientes datos a los listeners de Webhook en formato JSON:

client mac Dirección MAC de la interfaz del cliente
  userAgent Agente de usuario del navegador del cliente
company id ID de la empresa
  name Nombre de la empresa
venue id ID del lugar
  name Nombre del lugar
  longitude Longitud del lugar
  latitude Latitud del lugar
session authenticationTime Fecha/hora de autenticación al WiFi
user id ID del usuario
  email Dirección de correo electrónico del usuario
  firstName Nombre del usuario
  lastName Apellido del usuario
  gender Género del usuario
  provider Proveedor de autenticación del usuario (p. ej., 'Form' o 'Facebook')
  visitCountForVenues  
  firstVisit Primera visita del usuario
  lastVisit Última visita del usuario

Estos datos pueden ampliarse en el futuro mediante la adición de nuevos campos al JSON, por lo que su listener debe ser capaz de manejar adiciones al esquema JSON sin errores.

Solución de problemas

El tiempo entre que un usuario se autentica en el WiFi y se envía una solicitud a un listener suele ser de unos pocos segundos. Durante mantenimiento o períodos raros de carga muy alta, es posible que esto tome más tiempo. 

Si un listener no responde (tarda más de 10 segundos en responder) o devuelve un mensaje de error, las solicitudes se vuelven a poner en cola y se intentan nuevamente después de 3 horas. Purple seguirá intentando contactar al listener. Por lo tanto, después de un período de inactividad en su listener, encontrará que visitas antiguas se entregan hasta tres horas después. Su listener deberá poder manejar esto. Esto también puede significar que las visitas se entreguen fuera de orden.

Después de un período prolongado de falta de respuesta o de devolver una mala respuesta, un Webhook se desactivará automáticamente por razones de seguridad y deberá ser verificado manualmente en el portal antes de poder habilitarse nuevamente.

Se envía una solicitud a un listener en cada autenticación. Es posible que un usuario se 'autentique' varias veces por visita, por ejemplo, al hacer clic hacia atrás en su navegador, dejar su teléfono inactivo o incluso al moverse de un AP a otro. Los listeners deberán gestionar esto (por ejemplo, si su caso de uso implica enviar un correo electrónico activado a sus visitantes, se requerirán verificaciones para que un usuario dado reciba un solo correo por día en lugar de por cada activación de Webhook).

Los Webhooks solo envían datos básicos a los listeners. Sin embargo, los IDs devueltos para empresa, lugar y usuario coinciden con los IDs usados en la API de Empresa de Purple, por lo que puede consultar la API de Empresa para obtener información más detallada sobre una sesión o usuario.

Compartir en línea
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0