Saltar al contenido principal

Purple Portal API: qué se puede hacer con ella

Una referencia técnica para directores de TI y arquitectos de red sobre cómo aprovechar la API de Purple Portal. Esta guía detalla los endpoints disponibles, la autenticación y los casos de uso reales para integrar los datos de WiFi de invitados con sistemas empresariales para mejorar la inteligencia de negocio y la eficiencia operativa. Cubre patrones de integración tanto de API REST como de Webhooks, con casos prácticos concretos de los sectores de hostelería, retail y eventos.

Por Tom HackettPublicado
📖 9 min de lectura2,740 palabras2 ejemplos prácticos3 preguntas de práctica9 definiciones clave

Video overview

Escuchar esta guía

Ver transcripción del podcast
Le damos la bienvenida a la Sesión Técnica de Purple. Soy Senior Content Strategist aquí en Purple, y en los próximos diez minutos le ofreceré una descripción general, concisa y práctica de nuestra Portal API: qué es, qué puede hacer con ella y cómo aprovecharla para lograr el máximo impacto empresarial. Esto está dirigido a directores de TI, arquitectos y directores de operaciones que necesitan saber cómo transformar su WiFi de invitados de un simple servicio a un potente activo de datos. Comencemos con el contexto. Dispone de WiFi de invitados en todas sus sedes. Cada día se conectan cientos o miles de personas. Proporcionan su correo electrónico, tal vez su nombre, y aceptan sus condiciones. Se trata de valiosos datos de primera mano. El Purple Hub le ofrece excelentes paneles para visualizar esto, pero el verdadero poder surge cuando conecta esos datos con el resto de su ecosistema empresarial. Ahí es donde entra la Portal API. Es el puente que permite a sus sistemas comunicarse con nuestra plataforma de forma programática. Ahora, entremos en los detalles técnicos. La Portal API es una interfaz RESTful estándar. La autenticación es sencilla y segura, y utiliza una API Key directa. No tiene que preocuparse por complejos flujos de autenticación OAuth para la comunicación de servidor a servidor. Fundamentalmente, no hay límites de frecuencia. La hemos diseñado para una escala empresarial, por lo que tanto si gestiona un solo hotel como una cadena nacional de quinientas tiendas minoristas, la API puede gestionar su volumen. Dispone de dos formas principales de extraer datos. En primer lugar, el método de extracción (pull): endpoints REST estándar. Piense en endpoints como visitantes y sedes. Puede escribir un script para llamar a estos endpoints de forma programada, extraer todos los datos de los visitantes de las últimas veinticuatro horas y cargarlos en su almacén de datos para su análisis. Esta es su opción ideal para el business intelligence, para crear esos paneles de visión global en Power BI o Tableau. Pero la parte realmente emocionante es el método de inserción (push): Webhooks. Esto es para el tiempo real. Configura un endpoint de escucha en su lado y, en el momento en que un invitado se autentica en su WiFi, le enviamos un payload JSON con todos sus detalles: nombre, correo electrónico, en qué sede se encuentra, su número de visitas e incluso el método de autenticación que utilizó, ya fuera un formulario de registro, inicio de sesión social u otra opción. Es casi instantáneo. Esto es lo que desbloquea una interacción inmediata y personalizada. Es la diferencia entre enviar un correo electrónico de marketing mañana y enviar una notificación de bienvenida con una oferta exclusiva en el segundo en que un cliente fidelizado cruza su puerta. Permítame hablar de los campos de datos que recibe. La carga útil del Webhook se estructura en cuatro objetos principales. El objeto "client" le proporciona la dirección MAC y el agente de usuario. Los objetos "company" y "venue" le ofrecen los identificadores y las coordenadas geográficas de la ubicación específica. El objeto "session" le proporciona la marca de tiempo de la autenticación. Y el objeto "user" es donde está el verdadero valor: nombre, apellidos, correo electrónico, género, fecha de nacimiento, número de teléfono móvil, código postal y un recuento de visitas por ubicación que muestra las fechas de la primera y última visita. También puede capturar campos personalizados del formulario de registro de su portal cautivo, de modo que si solicita a los invitados su número de programa de fidelización o su número de habitación en un hotel, eso también se transmite. Ahora, en la versión uno punto siete de la API, hay una mejora importante que vale la pena destacar. El campo "unsubscribed" ahora distingue claramente entre los usuarios que se dieron de baja activamente de las comunicaciones comerciales después de haber estado suscritos previamente, frente a aquellos que simplemente nunca aceptaron recibirlas. Esto es fundamental para el cumplimiento de la normativa GDPR y para una segmentación precisa. No querrá tratar a un suscriptor que se ha dado de baja de la misma manera que a alguien que nunca ha estado en su embudo de marketing. Hablemos de los patrones de integración con más detalle. Para el patrón de extracción de la REST API, su flujo de trabajo típico es un script programado, tal vez en Python o Node.js, que se ejecuta cada noche. Se autentica con su clave de API, consulta el punto de conexión de visitantes para cada ubicación, transforma los datos al formato requerido y los carga en una base de datos central. Este es un proceso ETL clásico. Para un operador de múltiples sedes, iteraría a través de sus identificadores de ubicación y agregaría los datos de forma centralizada. Para el patrón de inserción de Webhook, la arquitectura es ligeramente diferente. Necesita un punto de conexión accesible públicamente y protegido por SSL. Una función sin servidor es ideal aquí - AWS Lambda, Azure Functions o Google Cloud Functions. Es rentable, se escala automáticamente y gestiona la concurrencia que se vería en una ubicación concurrida. Cuando la función recibe la solicitud POST de Purple, debe analizar el JSON, ejecutar su lógica de negocio - tal vez una búsqueda en el CRM o una comprobación de fidelidad - y devolver una respuesta doscientos OK lo más rápido posible. Esto me lleva al requisito de implementación más importante: su receptor debe responder en un plazo de diez segundos. Si no lo hace, Purple volverá a poner la solicitud en cola y lo reintentará al cabo de tres horas. Los fallos persistentes harán que el Webhook se desactive automáticamente por motivos de seguridad. Por lo tanto, mantenga su receptor ligero. Realice el procesamiento mínimo necesario para devolver una respuesta rápida y, si necesita realizar un procesamiento pesado, inserte el evento en una cola interna y procéselo de forma asíncrona. Ahora veamos algunos escenarios del mundo real para concretar esto.Considere un hotel de doscientas habitaciones que desea registrar automáticamente a los nuevos huéspedes de WiFi en un flujo de correos de bienvenida en su plataforma de marketing. La solución es sencilla: configure un Webhook, cree un script de escucha serverless simple y, cuando lleguen los datos de un nuevo usuario, compruebe si ya existe en la plataforma de marketing. Si no es así, añádalo y active el flujo de bienvenida. El hotel también puede utilizar el campo de recuento de visitas para distinguir a los visitantes nuevos de los que regresan y personalizar la comunicación en consecuencia. Un huésped que regresa podría recibir una oferta de fidelidad en lugar de una bienvenida genérica. Considere ahora una cadena minorista nacional con cincuenta tiendas que desea un panel centralizado que muestre las tendencias de tráfico peatonal en todos sus establecimientos. En este caso, el patrón de extracción de la REST API es la opción adecuada. Un script nocturno consulta el endpoint de visitantes para cada uno de los cincuenta establecimientos, agrega los datos y los carga en un almacén de datos. A continuación, el equipo de analítica crea sus paneles de control a partir de esta información. Pueden ver qué tiendas tienen las tasas más altas de nuevos visitantes, cuáles tienen los mejores ratios de visitantes recurrentes y cómo se correlacionan los tiempos de permanencia con el rendimiento de las ventas. Permítame ahora analizar algunos errores comunes y cómo evitarlos. El primer error es la gestión de eventos duplicados. Una única visita de un huésped puede activar varios eventos de autenticación - por ejemplo, si se bloquea la pantalla de su teléfono y se vuelve a conectar, o si hace roaming entre puntos de acceso. Su script de escucha debe ser idempotente. Antes de realizar una acción como enviar un correo electrónico, compruebe si ya ha procesado un evento para ese usuario en el día de hoy. El segundo error es no validar la URL de su script de escucha antes de la puesta en marcha. Purple requiere que valide el endpoint en el portal antes de que pueda recibir datos. Asegúrese de que su script de escucha esté activo y devuelva la cabecera wifiWebhookListener correcta antes de asociarlo a un LogicFlow. El tercer error es ignorar el estado de suscripción. Compruebe siempre el campo de baja voluntaria antes de añadir a un usuario a una lista de marketing. Enviar comunicaciones de marketing a alguien que ha optado por no recibirlas es una infracción del GDPR con consecuencias significativas. Pasemos ahora a una sesión rápida de preguntas y respuestas. ¿Puedo sincronizar esto con mi CRM personalizado? Sí. Si su CRM dispone de una API, puede utilizar un script de escucha de Webhook como middleware para dar formato a los datos de Purple y enviarlos a su sistema. Los identificadores devueltos en la carga útil del Webhook coinciden con los de la REST API, por lo que también puede realizar llamadas de seguimiento para obtener detalles adicionales si fuera necesario. ¿Cómo gestiono a un usuario que visita varios centros de mi propiedad? La API proporciona recuentos de visitas por ID de establecimiento, de modo que puede realizar fácilmente un seguimiento del recorrido de un cliente por todo su patrimonio de ubicaciones y crear un perfil completo intercentro. ¿Existe un límite en el número de URLs de Webhook que puedo configurar? No. Puede validar y utilizar tantas URLs de escucha como necesite, lo cual resulta de gran utilidad si diferentes equipos o sistemas requieren recibir los mismos datos de eventos. ¿Qué ocurre si mi receptor se cae por tareas de mantenimiento? Purple reintentará las entregas fallidas, por lo que podría recibir una acumulación de eventos pendientes cuando su receptor vuelva a estar en línea. Su receptor debe gestionar esto correctamente, procesando los eventos que puedan llegar fuera del orden cronológico. Para resumir todo lo que hemos tratado hoy, la API de Purple Portal es su clave para desbloquear el inmenso valor de los datos de su WiFi para invitados. Utilice la REST API para extraer datos destinados a informes y analíticas. Utilice Webhooks para enviar datos en tiempo real para lograr una interacción inmediata y personalizada con el cliente. Recuerde el principio clave: enviar para tiempo real, extraer para informes. Su siguiente paso es revisar la documentación de la API en nuestro portal de soporte. Si dispone de una licencia de Engage, genere una clave de API y comience a explorar con Postman. Cree un receptor de Webhook sencillo. Observe cómo fluyen los datos. Ese es el momento en que el potencial de esta herramienta se vuelve totalmente evidente. Gracias por escuchar el Purple Technical Briefing. Si desea hablar con uno de nuestros arquitectos de soluciones sobre sus requisitos específicos de integración, visite purple dot ai y reserve una demostración. Hasta la próxima.

Parte de nuestra serie principal: Guía de Captive Portal →

Purple Portal API: qué se puede hacer con ella

Resumen ejecutivo

Para los responsables de TI en centros con múltiples ubicaciones (hoteles, cadenas de retail, estadios y centros de conferencias), la red WiFi para invitados es más que un simple servicio. Es una fuente rica y continuamente actualizada de datos de primera mano que puede generar un impacto empresarial medible en el marketing, las operaciones y la experiencia del cliente. La API de Purple Portal proporciona la interfaz programática necesaria para liberar este valor a escala. Permite a los equipos técnicos ir más allá de los paneles de análisis integrados y crear integraciones sólidas y automatizadas que introducen datos de visitantes que cumplen con el GDPR directamente en los sistemas empresariales principales, desde plataformas CRM y herramientas de automatización de marketing hasta programas de fidelización y almacenes de inteligencia empresarial.

Esta guía es una referencia práctica y útil para arquitectos de soluciones, responsables de TI y desarrolladores sénior. Detalla el modelo de autenticación, los endpoints disponibles, los patrones de integración y los escenarios de implementación en el mundo real que demuestran cómo la API de Purple WiFi puede transformar una implementación WiFi de un centro de costes a un activo de datos estratégico. Tanto si está evaluando la API por primera vez como si está planificando una integración de nivel de producción, este documento le proporciona la base técnica y los marcos de decisión que necesita para proceder con confianza.

Análisis técnico detallado

Autenticación y control de versiones de la API

La API de Purple Portal utiliza autenticación por clave API, un modelo sencillo y seguro muy adecuado para integraciones de servidor a servidor. A diferencia de los flujos de OAuth 2.0, que requieren ciclos de intercambio y actualización de tokens, la autenticación por clave API consiste en incluir un secreto estático en las cabeceras de la solicitud. Esta simplicidad reduce los costes de integración sin comprometer la seguridad, siempre que la clave se guarde de forma segura y se rote periódicamente como parte de su política estándar de gestión de credenciales.

La versión de producción actual es la v1.7, que introdujo varias mejoras importantes con respecto a la v1.6.2. Lo más significativo es que la propiedad unsubscribed en el objeto de datos del usuario ahora distingue claramente entre un usuario que canceló activamente la suscripción al marketing después de haber estado suscrito previamente y un usuario que nunca se suscribió. Esta distinción es fundamental para cumplir con el GDPR y para una segmentación precisa de la audiencia. Además, los endpoints de Visitors y Venues ahora devuelven una respuesta HTTP 200 OK cuando no se encuentran datos, en lugar de un 404 Not Found, lo que anteriormente causaba confusión en la lógica de monitorización y gestión de errores.

Endpoints disponibles

La API de Purple Portal expone tres categorías principales de endpoints con las que los equipos de TI interactuarán de forma habitual.

Endpoint Método Propósito
/visitors GET Recuperar perfiles de visitantes invitados, incluidos datos de contacto, demografía e historial de visitas
/venues GET Recuperar datos a nivel de centro y metadatos de configuración
/unsubscribes GET Recupera una lista de usuarios que han optado por no recibir comunicaciones de marketing

Todos los endpoints devuelven datos en formato JSON. El endpoint visitors es el más utilizado, ya que expone toda la riqueza de los datos del perfil de invitado recopilados durante el proceso de autenticación del Captive Portal. Esto incluye nombre, apellidos, dirección de correo electrónico, género, fecha de nacimiento, número de móvil, código postal, proveedor de autenticación (por ejemplo, formulario de registro, inicio de sesión social), recuento de visitas por ubicación y cualquier campo personalizado configurado en la página de inicio (splash page).

Límites de velocidad

Una ventaja arquitectónica clave de la API de Purple Portal es que no existen límites de velocidad. La plataforma está diseñada para admitir cualquier volumen de solicitudes o transacciones, lo que la hace adecuada para implementaciones a gran escala donde los scripts pueden necesitar procesar miles de registros de ubicaciones o millones de perfiles de visitantes. Esto elimina una restricción común que complica el diseño de la integración con otras plataformas y evita la necesidad de limitar las solicitudes o implementar una lógica de retroceso en su código de cliente.

Patrones de integración: Pull frente a Push

La API de Purple WiFi admite dos patrones de integración fundamentalmente diferentes, cada uno adecuado para distintos casos de uso. Comprender qué patrón aplicar en un escenario determinado es la decisión arquitectónica más importante que tomará.

El patrón pull de la REST API implica que su sistema realice solicitudes bajo demanda o programadas a los endpoints de la API para recuperar datos. Este es el enfoque correcto para el procesamiento por lotes, la generación de informes y la inteligencia empresarial. Un script ETL nocturno que extrae todos los datos de los visitantes del día anterior y los carga en un almacén de datos es un ejemplo canónico. El patrón pull le brinda un control total sobre cuándo y cuántos datos recupera.

El patrón push de Webhook implica que Purple envía datos a su sistema en el momento en que ocurre un evento específico, concretamente, cuando un invitado se autentica en la red WiFi. Su sistema debe exponer un endpoint HTTP accesible públicamente y protegido por SSL (un "oyente" o listener) que pueda recibir y procesar estas cargas útiles JSON POST. El patrón Webhook es la opción correcta para cualquier caso de uso que requiera datos casi en tiempo real, como activar un mensaje de bienvenida personalizado, actualizar el estado de "última visita" de un cliente en un CRM o notificar a un gerente de hostelería que ha llegado un invitado VIP.

Purple Portal API: qué se puede hacer con ella - api architecture diagram

Estructura de la carga útil del Webhook

La carga útil JSON entregada por un Webhook de Purple se estructura en cuatro objetos principales, cada uno de los cuales proporciona una dimensión diferente de contexto para el evento de autenticación.

Objeto Campos clave Descripción
client mac, userAgent Identificadores a nivel de dispositivo
company id, name, uniqId Detalles de la cuenta de su empresa
venue id, name, latitude, longitude La ubicación específica donde ocurrió la autenticación
session authenticationTime Marca de tiempo ISO 8601 del evento de autenticación
user email, firstName, lastName, gender, provider, visitCountForVenues, customFields Datos completos del perfil del invitado

El objeto user.visitCountForVenues es especialmente valioso para los operadores con múltiples sedes. Proporciona un recuento de visitas por sede junto con las marcas de tiempo de firstVisit y lastVisit, lo que le permite identificar a los visitantes que vienen por primera vez frente a los clientes habituales fidelizados en el momento de la autenticación, sin necesidad de realizar llamadas de API adicionales.

¿Tiene preguntas sobre su configuración específica?

Nuestro equipo trabaja con operadores de recintos, responsables de TI e ingenieros de redes en 80 000 espacios. Reserve una llamada de 20 minutos y le mostraremos cómo lo han solucionado otros profesionales como usted.

Guía de implementación

Prerrequisitos y configuración

El acceso a la API del portal requiere una licencia Engage. Una vez que tenga la licencia, genere su clave de API desde los ajustes del portal de Purple. Para el desarrollo y las pruebas iniciales, se recomienda la herramienta Postman; Purple proporciona una guía de configuración específica para configurar las variables de entorno y las cabeceras de solicitud correctas. También hay disponible un archivo de demostración en PHP para los equipos que prefieran un punto de partida basado en scripts del lado del servidor.

Configuración de una integración de Webhook

La implementación de una integración de Webhook implica cinco pasos. En primer lugar, cree y despliegue su endpoint receptor en una URL accesible públicamente y protegida por SSL. Una función sin servidor (AWS Lambda, Azure Functions o Google Cloud Functions) es una opción de arquitectura excelente: se escala automáticamente, genera un coste mínimo con volúmenes bajos y gestiona solicitudes simultáneas sin necesidad de configuración. En segundo lugar, valide la URL del receptor en el portal de Purple accediendo a Gestión > Sedes > Webhooks. Purple enviará una solicitud de prueba para confirmar que se puede acceder al endpoint y que este devuelve la cabecera wifiWebhookListener: 1 requerida. En tercer lugar, cree o edite un LogicFlow en el portal y añada un nodo de acción de Webhook, seleccionando su URL validada. En cuarto lugar, asegúrese de que el estado de LogicFlow esté establecido en "Online". En quinto lugar, asocie el LogicFlow a la página de inicio de sesión de acceso correspondiente. A partir de ese momento, cada autenticación de invitado en ese proceso activará su Webhook.

Gestión de reintentos e idempotencia

Su receptor debe estar diseñado para hacer frente a las realidades de los sistemas distribuidos. Purple volverá a intentar el envío de un Webhook fallido transcurridas tres horas si su receptor no responde (el tiempo de espera supera los 10 segundos) o si devuelve un estado de error. Esto significa que su receptor puede recibir el mismo evento varias veces. Además, una sola visita de un invitado puede desencadenar varios eventos de autenticación, por ejemplo, cuando un dispositivo se vuelve a conectar después de que se bloquee la pantalla o cuando un usuario se desplaza entre diferentes puntos de acceso. Por lo tanto, su lógica de procesamiento debe ser idempotente: aplicar el mismo evento dos veces debe producir el mismo resultado que aplicarlo una sola vez. Un patrón de implementación habitual consiste en comprobar si ya se ha realizado una acción (como enviar un correo electrónico de bienvenida) para un ID de usuario determinado dentro de un intervalo de tiempo definido antes de ejecutarla.

Prácticas recomendadas

Varios principios deben guiar cualquier despliegue en producción de la Purple Portal API. Despliegue siempre apuntando a la última versión de la API (v1.7) y actualice las rutas de sus URL y la lógica de análisis de respuestas cuando se publiquen nuevas versiones. Trate su API Key como una credencial sensible: almacénela en un gestor de secretos (como AWS Secrets Manager o Azure Key Vault) en lugar de en el código fuente o en variables de entorno en sistemas compartidos. Para los oyentes de Webhooks, implemente un registro estructurado de cada carga útil entrante y respuesta para facilitar la depuración y las pistas de auditoría. Respete los campos unsubscribed y unsubscribedDate en el objeto de usuario; procesar acciones de marketing dirigidas a usuarios que han optado por excluirse constituye una infracción del GDPR. Por último, pruebe su integración frente a toda la gama de casos límite: usuarios sin dirección de correo electrónico, usuarios con campos personalizados nulos y eventos de autenticación que llegan fuera de orden cronológico.

Purple Portal API: qué se puede hacer con ella - webhook integration infographic

Resolución de problemas y mitigación de riesgos

El modo de fallo más común en una integración de Webhooks es un oyente lento o no disponible. Si el punto de conexión falla sistemáticamente al responder en un plazo de 10 segundos, Purple desactivará automáticamente el Webhook tras un periodo prolongado de falta de respuesta, lo que requerirá una reverificación manual en el portal. Para mitigar este riesgo, implemente un punto de conexión de comprobación de estado en el mismo servidor que su oyente e inclúyalo en la monitorización de su infraestructura. Asegúrese de que su oyente realice solo un procesamiento síncrono mínimo antes de devolver una respuesta 200 OK; descargue cualquier cálculo pesado o llamadas a API secundarias en una cola asíncrona.

Para las integraciones de la API REST, el riesgo principal es la obsolescencia de los datos en los sistemas secundarios si el trabajo de extracción programado falla de forma silenciosa. Implemente alertas en sus scripts ETL para notificar al equipo de operaciones si una ejecución falla o no produce resultados de forma inesperada. Al migrar de la API v1.6.2 a la v1.7, audite todo el código que haga referencia al campo unsubscribed y al punto de conexión Unsubscribes, ya que el nombre de la propiedad se corrigió de unsubcribers a unsubscribers en la v1.7.

ROI e impacto empresarial

La justificación comercial para la integración con la API de Purple Hub está plenamente consolidada en múltiples sectores. En el sector hotelero, los hoteles que utilizan integraciones CRM activadas por Webhooks informan de mejoras significativas en las tasas de apertura de correo electrónico para comunicaciones personalizadas en comparación con las campañas genéricas, ya que el mensaje se entrega en el momento de máxima relevancia: cuando el huésped se encuentra físicamente en el establecimiento. En el sector minorista, conectar los datos de WiFi de invitados con un programa de fidelización permite a los operadores identificar y recompensar a los visitantes de alta frecuencia, incrementando el gasto medio y las tasas de visitas repetidas. Para grandes recintos públicos y centros de conferencias, las analíticas impulsadas por API proporcionan los datos detallados de afluencia necesarios para justificar las valoraciones de patrocinios y optimizar la ubicación de las concesiones.

La ausencia de límites de tarifa en la API de Purple WiFi significa que el coste de la integración escala con su infraestructura, no con el volumen de datos que procese. Para una cadena minorista nacional que procesa cientos de miles de autenticaciones diarias, esto representa una ventaja sustancial frente a las plataformas que cobran por llamada a la API o imponen límites de rendimiento. Por lo tanto, el coste total de propiedad para una integración de la API de Purple bien estructurada consiste principalmente en el coste de desarrollo de una sola vez y el coste de infraestructura continuo del receptor, los cuales se recuperan normalmente durante el primer trimestre únicamente a través de la mejora en las tasas de conversión de marketing.

Purple Portal API: qué se puede hacer con ella - retail integration usecase

Casos de estudio

Caso de estudio 1: Hostelería - Whitbread Group

Whitbread, la mayor empresa de hoteles y restaurantes del Reino Unido, opera miles de puntos de acceso WiFi para invitados en todo su patrimonio de Premier Inn y restaurantes. Al integrar la API de Purple Hub con su plataforma CRM, el grupo pudo crear un perfil de invitado unificado que combinaba los datos de reserva en línea con el comportamiento de visita física capturado en el Captive Portal de WiFi. La integración de Webhooks se activa con cada autenticación de invitado, enriqueciendo el registro del CRM con la marca de tiempo de la última visita, la ubicación del establecimiento y la información del dispositivo. Esto permite al equipo de marketing segmentar las audiencias por antigüedad, frecuencia y ubicación, así como activar campañas de reactivación altamente personalizadas. El resultado técnico clave fue una reducción en el tiempo transcurrido entre la llegada de un invitado y su incorporación a un flujo de marketing activo, pasando de 24 horas (bajo el modelo anterior de consulta por lotes) a menos de 60 segundos.

Caso de estudio 2: Comercio minorista - Distribuidor de moda con múltiples tiendas

Un minorista nacional de moda con más de 80 tiendas implementó la API de Purple Portal para solucionar una brecha crítica en su estrategia de datos de clientes: disponían de sólidos datos de comercio electrónico, pero prácticamente no tenían información sobre el comportamiento de los visitantes en las tiendas físicas. Al conectar la API de WiFi para invitados de Purple con su almacén de datos existente mediante un proceso ETL nocturno, crearon una vista de cliente multicanal por primera vez. Se realizaban consultas al endpoint /visitors para cada tienda todas las noches, y los datos se unían con los registros de transacciones de comercio electrónico utilizando la dirección de correo electrónico como clave común. En un plazo de tres meses, el equipo de analítica identificó que los clientes que se conectaban al WiFi de la tienda tenían un valor medio de pedido un 34% mayor en su siguiente compra online, lo que proporcionó un caso de negocio convincente para realizar más inversiones en la experiencia digital en tienda. La integración no requirió cambios en la infraestructura de comercio electrónico existente, lo que demuestra la naturaleza de baja fricción del patrón de extracción de la API REST.

Caso de estudio 3: Eventos - Centro de conferencias

Un importante centro de conferencias del Reino Unido utilizó la API de Purple Portal para proporcionar por primera vez a los patrocinadores datos verificados de afluencia. Anteriormente, los informes de los patrocinadores dependían de recuentos manuales y lecturas de acreditaciones, métodos que requerían mucha mano de obra y resultaban imprecisos. Al exponer recuentos de visitantes agregados y anonimizados por zona (asociados a IDs de ubicaciones en la plataforma Purple) a través de la API, el equipo de eventos pudo ofrecer a los patrocinadores paneles de control en tiempo real que mostraban el tiempo de permanencia y el volumen de visitantes en las zonas patrocinadas. Los datos se extraían mediante la API REST cada 15 minutos durante los eventos y se mostraban en un portal de patrocinadores creado a medida. Esta capacidad contribuyó directamente a un aumento del 22% en las tasas de renovación de patrocinio en el primer año, ya que los patrocinadores ahora podían cuantificar el alcance de sus activaciones con datos de primera mano verificados.

Definiciones clave

Webhook

Un mecanismo automatizado en el que un servidor envía una notificación de datos en tiempo real (un push) a otra aplicación cuando ocurre un evento específico, a través de una solicitud HTTP POST.

En el contexto de Purple, un Webhook envía un payload JSON con los datos del visitante a su sistema en el momento en que un invitado se autentica en la red WiFi. Esto es fundamental para las actualizaciones en tiempo real de marketing y CRM.

API REST

Un estilo arquitectónico estandarizado para la creación de servicios web que permite a un sistema solicitar (o extraer) datos de otro utilizando métodos HTTP estándar como GET y POST.

Los equipos de TI utilizan la API REST de Purple para escribir scripts que extraen datos masivos de visitantes y sedes para su análisis en herramientas de inteligencia de negocio como Power BI o Tableau.

Autenticación por clave API

Un modelo de seguridad en el que el acceso a una API se concede proporcionando un token secreto único (la clave) con cada solicitud, normalmente en la cabecera HTTP Authorization.

Esto es más sencillo que OAuth e ideal para integraciones de servidor a servidor. Sus scripts deben incluir la clave API válida en las cabeceras de la solicitud para acceder a los datos de Purple.

Idempotencia

Una propiedad de una operación que significa que se puede aplicar varias veces sin cambiar el resultado más allá de la aplicación inicial.

El receptor de su Webhook debe ser idempotente. Si recibe el mismo evento de autenticación dos veces (lo que puede ocurrir debido a reintentos o reconexiones de dispositivos), no debería, por ejemplo, enviar dos correos de bienvenida.

JSON (JavaScript Object Notation)

Un formato ligero y basado en texto para el intercambio de datos que es fácil de leer para los humanos y fácil de analizar y generar para las máquinas.

La API de Purple y los Webhooks entregan todos los datos en formato JSON. Su aplicación deberá analizar este JSON para extraer campos como el correo electrónico, el nombre y el recuento de visitas.

LogicFlow

La herramienta visual y de arrastrar y soltar de Purple para crear flujos de trabajo automatizados de marketing y captación que pueden activar acciones basadas en el comportamiento y la demografía del visitante.

Utiliza LogicFlow para definir el recorrido del invitado. Es donde asocia su Webhook, indicando al sistema que lo ejecute cuando un usuario alcance el estado 'En línea' de su recorrido de acceso.

Captive Portal

La página web que un usuario ve y con la que debe interactuar antes de que se le conceda acceso a una red WiFi pública, que normalmente requiere autenticación o captura de datos.

La plataforma Purple impulsa el Captive Portal, y los datos introducidos por el usuario en esta página (por ejemplo, nombre, correo electrónico, campos personalizados) son los que pasan a estar disponibles a través de la API del Portal.

GDPR (General Data Protection Regulation)

Una ley integral de privacidad de datos en la Unión Europea que regula la recopilación, el procesamiento y el almacenamiento de datos personales de los residentes de la UE.

La API de Purple proporciona las herramientas para crear integraciones que cumplan con el GDPR, como respetar el estado de baja de un usuario y permitir la exportación de datos para las solicitudes de acceso de los interesados. La actualización de la API v1.7 mejoró específicamente la claridad del campo de baja para respaldar el cumplimiento.

ETL (Extract, Transform, Load)

Un proceso de integración de datos que consiste en extraer datos de un sistema de origen, transformarlos al formato requerido y cargarlos en un sistema de destino, como un almacén de datos.

El patrón de extracción de la API REST se implementa normalmente como un proceso ETL, donde los datos se extraen del endpoint /visitors de Purple, se transforman para que coincidan con el esquema de destino y se cargan en un CRM o almacén de datos.

Ejemplos prácticos

Un hotel de 200 habitaciones quiere añadir automáticamente nuevos usuarios de WiFi de invitados a su flujo de Salesforce Marketing Cloud y enviarles un correo electrónico de bienvenida.

  1. En Purple Portal, valide una nueva URL de Webhook que apunte a un endpoint seguro (por ejemplo, una función serverless en AWS Lambda). 2. Cree un LogicFlow de 'Conexión' que incluya el nodo Webhook, configurado para usar la URL validada. 3. Asigne este LogicFlow al flujo de acceso de WiFi de invitados del hotel. 4. La función serverless recibe el payload JSON al autenticarse el invitado, extrae el correo electrónico y el nombre del usuario, y realiza una llamada a la API a Salesforce Marketing Cloud para añadir al usuario al flujo de 'Nuevo invitado'. 5. La función devuelve una respuesta 200 OK a Purple dentro del plazo de tiempo de espera de 10 segundos.
Comentario del examinador: Esta solución utiliza correctamente el patrón de Webhook en tiempo real, que es ideal para acciones inmediatas como el envío de un correo electrónico de bienvenida. El uso de una función serverless es una forma rentable y escalable de alojar el endpoint receptor. Una alternativa sería realizar consultas periódicas (polling) al endpoint de la API /visitors, pero esto introduciría un retraso de hasta 24 horas y sería significativamente menos eficiente para un requisito en tiempo real.

Una cadena de retail con 50 tiendas quiere crear un panel centralizado en Power BI para analizar las tendencias de los visitantes en todas las ubicaciones.

  1. Cree un script (por ejemplo, en Python) que se ejecute de forma programada cada noche. 2. El script se autentica en la API de Purple Portal utilizando la clave API de la empresa. 3. Itera a través de cada uno de los 50 ID de las sedes, realizando una llamada al endpoint /visitors para cada una de ellas con el fin de recuperar todos los datos de los visitantes del día anterior. 4. El script transforma y carga estos datos en un almacén de datos centralizado (por ejemplo, Azure SQL o BigQuery). 5. Power BI se conecta al almacén de datos para crear el panel de análisis de todas las sedes.
Comentario del examinador: Este es un proceso ETL (extracción, transformación y carga) clásico y es el uso correcto del patrón de consulta periódica de la API REST. Es adecuado para la agregación de datos a gran escala que no requiere tiempo real para la inteligencia de negocio. El uso de un almacén de datos centralizado es una práctica recomendada para el rendimiento y la escalabilidad cuando se manejan datos de múltiples fuentes. La ausencia de límites de velocidad (rate limits) en la API de Purple significa que el script puede procesar las 50 sedes sin problemas de restricción de tráfico.

Preguntas de práctica

Q1. Un estadio desea identificar a los abonados de temporada VIP cuando se conecten al WiFi y enviar una notificación al panel del director de hospitalidad más cercano. ¿Qué patrón de integración deberían utilizar y por qué?

Sugerencia: Tenga en cuenta la velocidad requerida de la notificación y si la acción se activa mediante un evento.

Ver respuesta modelo

Deberían utilizar el patrón de Webhook (push). Se trata de un requisito en tiempo real: cuando el VIP se conecta, se activa inmediatamente un Webhook hacia un servicio que busca el correo electrónico o la dirección MAC del usuario en la base de datos de abonados de temporada. Si se encuentra una coincidencia, envía una notificación al panel de hospitalidad correspondiente. Un patrón de API REST (pull) sería demasiado lento, ya que depende de consultas periódicas y podría introducir retrasos de minutos u horas.

Q2. Tiene la tarea de crear un informe diario de los 10 locales más visitados de su cadena nacional de cafeterías. ¿Cómo obtendría los datos necesarios de Purple?

Sugerencia: ¿Se trata de un requisito de informe por lotes o en tiempo real? ¿A qué endpoint realizaría la consulta?

Ver respuesta modelo

Esta es una tarea de generación de informes por lotes, por lo que el patrón de API REST (pull) es el adecuado. Un script programado se ejecutaría diariamente, consultaría el endpoint /visitors para cada local, agregaría los recuentos de visitas del día anterior y luego calcularía los 10 primeros. No es necesaria la notificación casi instantánea que proporcionan los Webhooks. La ausencia de límites de tarifa significa que se pueden consultar todos los locales en una única ejecución de script sin preocuparse por la limitación de velocidad.

Q3. El endpoint de su receptor de Webhooks está fallando. Revisa los registros y ve un error de tiempo de espera agotado. ¿Cuál es la causa más probable según la documentación de Purple y cuáles son las dos consecuencias inmediatas?

Sugerencia: Piense en los requisitos de rendimiento de un receptor y en lo que hace Purple cuando no puede entregar una carga útil.

Ver respuesta modelo

La causa más probable es que el receptor esté tardando más de 10 segundos en procesar la carga útil JSON entrante y devolver una respuesta 200 OK. Las dos consecuencias inmediatas son: (1) Purple dejará de intentar enviar la solicitud actual y la volverá a poner en cola para un intento de reintento en 3 horas, lo que significa que la entrega de datos se retrasará; y (2) si esto continúa durante un período prolongado, Purple desactivará automáticamente el Webhook por completo, lo que requerirá una verificación manual en el portal antes de poder reactivarlo.

¿Tiene preguntas sobre su configuración específica?

Nuestro equipo trabaja con operadores de recintos, responsables de TI e ingenieros de redes en 80 000 espacios. Reserve una llamada de 20 minutos y le mostraremos cómo lo han solucionado otros profesionales como usted.