Purple Portal API: O Que Você Pode Fazer Com Ela

A technical reference for IT managers and network architects on leveraging the Purple Portal API. This guide details available endpoints, authentication, and real-world use cases for integrating guest WiFi data with enterprise systems to enhance business intelligence and operational efficiency. It covers both REST API and Webhook integration patterns, with concrete case studies from hospitality, retail, and events sectors.

📖 9 min read📝 2,212 words🔧 2 examples3 questions📚 9 key terms

🎧 Listen to this Guide

View Transcript
Welcome to the Purple Technical Briefing. I'm a Senior Content Strategist here at Purple, and in the next ten minutes, I'm going to give you a concise, practical overview of our Portal API — what it is, what you can do with it, and how to leverage it for maximum business impact. This is for the IT managers, the architects, and the operations directors who need to know how to turn their guest WiFi from a simple utility into a powerful data asset. Let's start with the context. You have guest WiFi across your venues. Every day, hundreds or thousands of people connect. They provide their email, perhaps their name, and they consent to your terms. That's valuable first-party data. The Purple Portal gives you great dashboards to view this, but the real power comes when you connect that data to the rest of your business ecosystem. That's where the Portal API comes in. It's the bridge that allows your systems to talk to our platform programmatically. Now, let's get into the technical detail. The Portal API is a standard RESTful interface. Authentication is simple and secure, using a straightforward API Key. You don't need to worry about complex OAuth handshakes for server-to-server communication. Critically, there are no rate limits. We built it for enterprise scale, so whether you're running a single hotel or a national chain of five hundred retail locations, the API can handle your volume. You have two main ways to get data out. First, the pull method: standard REST endpoints. Think of endpoints like visitors and venues. You can write a script to call these endpoints on a schedule, pull down all the visitor data from the last twenty-four hours, and load it into your data warehouse for analysis. This is your go-to for business intelligence, for building those big-picture dashboards in Power BI or Tableau. But the really exciting part is the push method: Webhooks. This is for real-time. You set up a listener endpoint on your side, and the moment a guest authenticates on your WiFi, we send you a JSON payload with all their details — name, email, which venue they're in, their visit count, and even the authentication method they used, whether that was a registration form, social login, or something else. It's near-instant. This is what unlocks immediate, personalised engagement. It's the difference between sending a marketing email tomorrow, and sending a welcome back notification with a unique offer the second a loyal customer walks through your door. Let me talk about the data fields you get. The Webhook payload is structured into four main objects. The client object gives you the MAC address and user agent. The company and venue objects give you the identifiers and geo-coordinates of the specific location. The session object gives you the authentication timestamp. And the user object is where the gold is: first name, last name, email, gender, date of birth, mobile number, postcode, and a visit count per venue showing the first and last visit dates. You can also capture custom fields from your splash page registration form, so if you ask guests for their loyalty programme number or their room number at a hotel, that comes through too. Now, in version one point seven of the API, there's an important improvement worth noting. The unsubscribed field now clearly distinguishes between users who actively opted out of marketing after previously being subscribed, versus those who simply never opted in. This is critical for GDPR compliance and for accurate segmentation. You don't want to treat a lapsed subscriber the same way as someone who was never in your marketing funnel. Let's talk about the integration patterns in more detail. For the REST API pull pattern, your typical workflow is a scheduled script, perhaps in Python or Node.js, that runs nightly. It authenticates with your API key, queries the visitors endpoint for each venue, transforms the data into your required format, and loads it into a central database. This is a classic ETL process. For a multi-site operator, you'd iterate through your venue IDs and aggregate the data centrally. For the Webhook push pattern, the architecture is slightly different. You need a publicly accessible, SSL-secured endpoint. A serverless function is ideal here — AWS Lambda, Azure Functions, or Google Cloud Functions. It's cost-effective, scales automatically, and handles the concurrency you'd see at a busy venue. When the function receives the POST request from Purple, it should parse the JSON, perform its business logic — perhaps a CRM lookup or a loyalty check — and return a two hundred OK response as quickly as possible. This brings me to the most important implementation requirement: your listener must respond within ten seconds. If it doesn't, Purple will requeue the request and retry after three hours. Persistent failures will cause the Webhook to be automatically disabled for security reasons. So keep your listener lean. Do the minimum processing needed to return a fast response, and if you need to do heavy processing, push the event onto an internal queue and process it asynchronously. Now let's look at some real-world scenarios to make this concrete. Consider a two-hundred-room hotel. They want to automatically enrol new WiFi guests into a welcome email journey in their marketing platform. The solution is straightforward: configure a Webhook, build a simple serverless listener, and when a new user's data arrives, check if they already exist in the marketing platform. If not, add them and trigger the welcome journey. The hotel can also use the visit count field to distinguish first-time visitors from returning guests and tailor the communication accordingly. A returning guest might receive a loyalty reward offer rather than a generic welcome. Now consider a national retail chain with fifty stores. They want a central dashboard showing foot traffic trends across all locations. Here, the REST API pull pattern is the right choice. A nightly script queries the visitors endpoint for each of the fifty venues, aggregates the data, and loads it into a data warehouse. The analytics team then builds their dashboards on top of this. They can see which stores have the highest new visitor rates, which have the best returning visitor ratios, and how dwell times correlate with sales performance. Let me now cover some common pitfalls and how to avoid them. The first pitfall is duplicate event handling. A single guest visit can trigger multiple authentication events — for example, if they let their phone screen lock and it reconnects, or if they roam between access points. Your listener must be idempotent. Before taking an action like sending an email, check whether you've already processed an event for that user today. The second pitfall is not validating your listener URL before going live. Purple requires you to validate the endpoint in the portal before it can receive data. Make sure your listener is live and returning the correct wifiWebhookListener header before you attach it to a LogicFlow. The third pitfall is ignoring the subscription status. Always check the unsubscribed field before adding a user to a marketing list. Sending marketing communications to someone who has opted out is a GDPR violation with significant consequences. Now for a rapid-fire question and answer session. Can I sync this with my custom-built CRM? Yes. If your CRM has an API, you can use a Webhook listener as the middleware to format the Purple data and push it into your system. The IDs returned in the Webhook payload match those in the REST API, so you can also make follow-up calls to get additional detail if needed. How do I handle a user who visits multiple sites in my estate? The API provides visit counts per venue ID, so you can easily track a customer's journey across your entire estate and build a comprehensive cross-site profile. Is there a limit on how many Webhook URLs I can configure? No. You can validate and use as many listener URLs as you need, which is useful if different teams or systems need to receive the same event data. What happens if my listener goes down for maintenance? Purple will retry failed deliveries, so you may receive a backlog of events when your listener comes back online. Your listener needs to handle this gracefully, processing events that may arrive out of chronological order. To summarise everything we've covered today, the Purple Portal API is your key to unlocking the immense value within your guest WiFi data. Use the REST API to pull data for reporting and analytics. Use Webhooks to push data in real-time for immediate, personalised customer engagement. Remember the key principle: push for real-time, pull for reports. Your next step is to review the API documentation in our support portal. If you have an Engage licence, generate an API key and start exploring with Postman. Build a simple Webhook listener. See the data flow in. That's the moment the potential of this tool becomes crystal clear. Thank you for listening to the Purple Technical Briefing. If you'd like to speak with one of our solutions architects about your specific integration requirements, visit purple dot ai and book a demo. Until next time.

header_image.png

Resumo Executivo

Para líderes de TI em locais com múltiplas unidades — hotéis, redes de varejo, estádios e centros de convenções — a rede WiFi para visitantes é mais do que uma simples comodidade. É uma fonte rica e continuamente reabastecida de dados primários (first-party data) que pode gerar um impacto comercial mensurável em marketing, operações e experiência do cliente. A Purple Portal API fornece a interface programática necessária para desbloquear esse valor em escala. Ela permite que as equipes técnicas vão além dos painéis de análise integrados e criem integrações robustas e automatizadas que alimentam dados de visitantes em conformidade com a GDPR diretamente nos principais sistemas de negócios, desde plataformas de CRM e ferramentas de automação de marketing até programas de fidelidade e data warehouses de business intelligence.

Este guia é uma referência prática e acionável para arquitetos de soluções, gerentes de TI e desenvolvedores seniores. Ele detalha o modelo de autenticação, os endpoints disponíveis, os padrões de integração e os cenários de implantação no mundo real que demonstram como a Purple WiFi API pode transformar uma implantação de WiFi de um centro de custos em um ativo de dados estratégico. Quer você esteja avaliando a API pela primeira vez ou planejando uma integração em nível de produção, este documento fornece a base técnica e as estruturas de decisão necessárias para prosseguir com confiança.

Aprofundamento Técnico

Autenticação e Versionamento da API

A Purple Portal API usa autenticação por chave de API, um modelo direto e seguro, muito adequado para integrações de servidor para servidor. Ao contrário dos fluxos OAuth 2.0, que exigem troca de tokens e ciclos de atualização, a autenticação por chave de API envolve a inclusão de um segredo estático nos cabeçalhos da solicitação. Essa simplicidade reduz a sobrecarga de integração sem comprometer a segurança, desde que a chave seja armazenada com segurança e rotacionada periodicamente como parte de sua política padrão de gerenciamento de credenciais.

A versão de produção atual é a v1.7, que introduziu várias melhorias importantes em relação à v1.6.2. O mais significativo é que a propriedade unsubscribed no objeto de dados do usuário agora distingue claramente entre um usuário que optou ativamente por não receber marketing após ter se inscrito anteriormente e um usuário que nunca se inscreveu. Essa distinção é fundamental para a conformidade com a GDPR e para a segmentação precisa do público. Além disso, os endpoints Visitors e Venues agora retornam uma resposta HTTP 200 OK quando nenhum dado é encontrado, em vez de um 404 Not Found, que anteriormente causava confusão na lógica de monitoramento e tratamento de erros.

Endpoints Disponíveis

A Portal Company API expõe três categorias principais de endpoints com as quais as equipes de TI interagirão regularmente.

Endpoint Método Propósito
/visitors GET Recuperar perfis de visitantes, incluindo dados de contato, informações demográficas e histórico de visitas
/venues GET Recuperar dados no nível do local e metadados de configuração
/unsubscribes GET Recuperar uma lista de usuários que optaram por não receber comunicações de marketing

Todos os endpoints retornam dados no formato JSON. O endpoint visitors é o mais comumente usado, pois expõe toda a riqueza dos dados de perfil do visitante coletados durante a jornada de autenticação do Captive Portal. Isso inclui nome, sobrenome, endereço de e-mail, gênero, data de nascimento, número de celular, código postal, provedor de autenticação (por exemplo, formulário de registro, login social), contagem de visitas por local e quaisquer campos personalizados configurados na splash page.

Limites de Taxa

Uma das principais vantagens arquitetônicas da Purple Portal API é que não há limites de taxa. A plataforma foi projetada para suportar qualquer volume de solicitações ou transações, tornando-a adequada para implantações em larga escala, onde os scripts podem precisar processar milhares de registros de locais ou milhões de perfis de visitantes. Isso remove uma restrição comum que complica o design de integração com outras plataformas e elimina a necessidade de limitação de solicitações (throttling) ou lógica de recuo (back-off) no código do cliente.

Padrões de Integração: Pull vs. Push

A Purple WiFi API suporta dois padrões de integração fundamentalmente diferentes, cada um adequado a diferentes casos de uso. Entender qual padrão aplicar em um determinado cenário é a decisão arquitetônica mais importante que você tomará.

O padrão pull da REST API envolve seu sistema fazendo solicitações sob demanda ou programadas aos endpoints da API para recuperar dados. Essa é a abordagem correta para processamento em lote, relatórios e business intelligence. Um script ETL noturno que extrai todos os dados de visitantes do dia anterior e os carrega em um data warehouse é um exemplo clássico. O padrão pull oferece controle total sobre quando e quanta quantidade de dados você recupera.

O padrão push de Webhook envolve a Purple enviando dados para o seu sistema no momento em que um evento específico ocorre — especificamente, quando um visitante se autentica na rede WiFi. Seu sistema deve expor um endpoint HTTP acessível publicamente e protegido por SSL (um 'listener') que possa receber e processar esses payloads JSON POST. O padrão de Webhook é a escolha correta para qualquer caso de uso que exija dados quase em tempo real, como acionar uma mensagem de boas-vindas personalizada, atualizar o status de 'visto por último' de um cliente em um CRM ou notificar um gerente de hospitalidade de que um hóspede VIP chegou.

api_architecture_diagram.png

Estrutura do Payload do Webhook

O payload JSON entregue por um Webhook da Purple é estruturado em quatro objetos principais, cada um fornecendo uma dimensão diferente de contexto para o evento de autenticação.

Objeto Campos Principais Descrição
client mac, userAgent Identificadores no nível do dispositivo
company id, name, uniqId Detalhes da conta da sua empresa
venue id, name, latitude, longitude O local específico onde a autenticação ocorreu
session authenticationTime Timestamp ISO 8601 do evento de autenticação
user email, firstName, lastName, gender, provider, visitCountForVenues, customFields Dados completos do perfil do visitante

O objeto user.visitCountForVenues é particularmente valioso para operadores de múltiplos locais. Ele fornece uma contagem de visitas por local, juntamente com os timestamps de firstVisit e lastVisit, permitindo que você identifique visitantes de primeira viagem em comparação com clientes fiéis que retornam no momento da autenticação — sem nenhuma chamada de API adicional.

Guia de Implementação

Pré-requisitos e Configuração

O acesso à Portal API requer uma licença Engage. Uma vez licenciado, gere sua chave de API nas configurações do portal da Purple. Para desenvolvimento e testes iniciais, o Postman é a ferramenta recomendada; a Purple fornece um guia de configuração dedicado para configurar as variáveis de ambiente e os cabeçalhos de solicitação corretos. Um arquivo de demonstração em PHP também está disponível para equipes que preferem um ponto de partida de script no lado do servidor.

Configurando uma Integração de Webhook

A implantação de uma integração de Webhook envolve cinco etapas. Primeiro, crie e implante seu endpoint listener em uma URL acessível publicamente e protegida por SSL. Uma função serverless (AWS Lambda, Azure Functions ou Google Cloud Functions) é uma escolha arquitetônica sólida: ela é dimensionada automaticamente, incorre em custo mínimo em baixos volumes e lida com solicitações simultâneas sem configuração. Segundo, valide a URL do listener no portal da Purple navegando até Management > Venues > Webhooks. A Purple enviará uma solicitação de teste para confirmar se o endpoint está acessível e retorna o cabeçalho wifiWebhookListener: 1 obrigatório. Terceiro, crie ou edite um LogicFlow no portal e adicione um Webhook Action Node, selecionando sua URL validada. Quarto, certifique-se de que o LogicFlow esteja definido com o status 'Online'. Quinto, anexe o LogicFlow à Access Journey relevante. A partir desse ponto, cada autenticação de visitante nessa jornada acionará seu Webhook.

Lidando com Tentativas (Retries) e Idempotência

Seu listener deve ser projetado para lidar com as realidades dos sistemas distribuídos. A Purple tentará novamente uma entrega de Webhook com falha após três horas se o seu listener não responder (o tempo limite exceder 10 segundos) ou retornar um status de erro. Isso significa que seu listener pode receber o mesmo evento várias vezes. Além disso, uma única visita de um hóspede pode acionar vários eventos de autenticação — por exemplo, quando um dispositivo se reconecta após o bloqueio da tela ou quando um usuário se move entre pontos de acesso (roaming). Portanto, sua lógica de processamento deve ser idempotente: aplicar o mesmo evento duas vezes deve produzir o mesmo resultado que aplicá-lo uma vez. Um padrão de implementação comum é verificar se uma ação (como enviar um e-mail de boas-vindas) já foi executada para um determinado ID de usuário dentro de uma janela de tempo definida antes de executá-la.

Melhores Práticas

Vários princípios devem orientar qualquer implantação de produção da Purple Portal API. Sempre implante na versão mais recente da API (v1.7) e atualize seus caminhos de URL e a lógica de análise de resposta quando novas versões forem lançadas. Trate sua chave de API como uma credencial confidencial: armazene-a em um gerenciador de segredos (como AWS Secrets Manager ou Azure Key Vault) em vez de no código-fonte ou em variáveis de ambiente em sistemas compartilhados. Para listeners de Webhook, implemente o registro estruturado (logging) de cada payload e resposta recebidos para facilitar a depuração e as trilhas de auditoria. Respeite os campos unsubscribed e unsubscribedDate no objeto do usuário; processar ações de marketing para usuários que optaram por não participar constitui uma violação da GDPR. Por fim, teste sua integração em toda a gama de casos extremos (edge cases): usuários sem endereço de e-mail, usuários com campos personalizados nulos e eventos de autenticação que chegam fora da ordem cronológica.

webhook_integration_infographic.png

Solução de Problemas e Mitigação de Riscos

O modo de falha mais comum em uma integração de Webhook é um listener lento ou indisponível. Se o endpoint falhar consistentemente em responder dentro de 10 segundos, a Purple desativará automaticamente o Webhook após um período prolongado de falta de resposta, exigindo uma nova verificação manual no portal. Para mitigar esse risco, implemente um endpoint de verificação de integridade (health check) no mesmo servidor que o seu listener e inclua-o no monitoramento da sua infraestrutura. Certifique-se de que seu listener execute apenas o processamento síncrono mínimo antes de retornar uma resposta 200 OK; descarregue qualquer computação pesada ou chamadas de API downstream para uma fila assíncrona.

Para integrações de REST API, o principal risco é a desatualização de dados em sistemas downstream se o job de pull programado falhar silenciosamente. Implemente alertas em seus scripts ETL para notificar a equipe de operações se uma execução falhar ou não produzir saída inesperadamente. Ao migrar da API v1.6.2 para a v1.7, audite todo o código que faz referência ao campo unsubscribed e ao endpoint Unsubscribes, pois o nome da propriedade foi corrigido de unsubcribers para unsubscribers na v1.7.

ROI e Impacto nos Negócios

O business case para a integração com a Purple Portal API está bem estabelecido em vários setores. Na hospitalidade, os hotéis que usam integrações de CRM acionadas por Webhook relatam melhorias significativas nas taxas de abertura de e-mail para comunicações personalizadas em comparação com campanhas de transmissão genéricas, porque a mensagem é entregue no momento de máxima relevância — quando o hóspede está fisicamente no local. No varejo, conectar os dados do WiFi de visitantes a um programa de fidelidade permite que os operadores identifiquem e recompensem visitantes de alta frequência, aumentando o gasto médio e as taxas de visitas repetidas. Para grandes locais públicos e centros de convenções, as análises orientadas por API fornecem os dados granulares de fluxo de pessoas necessários para justificar as avaliações de patrocínio e otimizar o posicionamento das concessões.

A ausência de limites de taxa na Purple WiFi API significa que o custo da integração é dimensionado com a sua infraestrutura, não com o volume de dados que você processa. Para uma rede de varejo nacional que processa centenas de milhares de autenticações diárias, essa é uma vantagem material sobre as plataformas que cobram por chamada de API ou impõem limites de taxa de transferência. O custo total de propriedade para uma integração bem arquitetada da Purple API é, portanto, principalmente o custo de desenvolvimento único e o custo contínuo de infraestrutura do listener, ambos normalmente recuperados no primeiro trimestre apenas por meio de melhores taxas de conversão de marketing.

retail_integration_usecase.png

Estudos de Caso

Estudo de Caso 1: Hospitalidade — Whitbread Group

A Whitbread, a maior empresa de hotéis e restaurantes do Reino Unido, opera milhares de pontos de acesso WiFi para visitantes em sua rede Premier Inn e restaurantes. Ao integrar a Purple Portal API com sua plataforma de CRM, o grupo conseguiu criar um perfil unificado de hóspedes que combinava dados de reservas online com o comportamento de visitas físicas capturado no Captive Portal do WiFi. A integração do Webhook é acionada a cada autenticação de visitante, enriquecendo o registro do CRM com o timestamp da visita mais recente, a localização do local e as informações do dispositivo. Isso permite que a equipe de marketing segmente o público por recência, frequência e localização, e acione campanhas de reengajamento altamente personalizadas. O principal resultado técnico foi a redução do tempo entre a chegada de um hóspede e sua entrada em uma jornada de marketing ativa de 24 horas (sob o modelo anterior de pesquisa em lote) para menos de 60 segundos.

Estudo de Caso 2: Varejo — Varejista de Moda com Múltiplas Lojas

Uma varejista de moda nacional com mais de 80 lojas implantou a Purple Portal API para resolver uma lacuna crítica em sua estratégia de dados de clientes: eles tinham dados sólidos de e-commerce, mas praticamente nenhuma visão sobre o comportamento dos visitantes nas lojas físicas. Ao conectar a Purple WiFi API de visitantes ao seu data warehouse existente por meio de um processo ETL noturno, eles construíram uma visão do cliente cross-channel pela primeira vez. O endpoint /visitors era consultado para cada loja todas as noites, e os dados eram unidos aos registros de transações de e-commerce usando o endereço de e-mail como chave comum. Em três meses, a equipe de análise identificou que os clientes que se conectavam ao WiFi na loja tinham um valor médio de pedido 34% maior em sua próxima compra online, fornecendo um business case convincente para mais investimentos na experiência digital na loja. A integração não exigiu alterações na infraestrutura de e-commerce existente, demonstrando a natureza de baixo atrito do padrão pull da REST API.

Estudo de Caso 3: Eventos — Centro de Convenções

Um grande centro de convenções no Reino Unido usou a Purple Portal API para fornecer aos patrocinadores dados verificados de fluxo de pessoas pela primeira vez. Anteriormente, os relatórios dos patrocinadores dependiam de contagens manuais e leituras de crachás, que eram trabalhosos e imprecisos. Ao expor contagens de visitantes agregadas e anonimizadas por zona (mapeadas para IDs de locais na plataforma da Purple) por meio da API, a equipe de eventos pôde fornecer aos patrocinadores painéis em tempo real mostrando o tempo de permanência e o volume de visitantes em áreas patrocinadas. Os dados eram extraídos via REST API a cada 15 minutos durante os eventos e exibidos em um portal de patrocinadores personalizado. Esse recurso contribuiu diretamente para um aumento de 22% nas taxas de renovação de patrocínio no primeiro ano, pois os patrocinadores agora podiam quantificar o alcance de suas ativações com dados primários verificados.

Key Terms & Definitions

Webhook

An automated mechanism where a server sends a real-time data notification (a push) to another application when a specific event occurs, via an HTTP POST request.

In the Purple context, a Webhook sends a JSON payload with visitor data to your system the moment a guest authenticates on the WiFi network. This is critical for real-time marketing and CRM updates.

REST API

A standardized architectural style for building web services that allows one system to request (or pull) data from another using standard HTTP methods such as GET and POST.

IT teams use the Purple REST API to write scripts that pull bulk visitor and venue data for analysis in business intelligence tools like Power BI or Tableau.

API Key Authentication

A security model where access to an API is granted by providing a unique secret token (the key) with each request, typically in the HTTP Authorization header.

This is simpler than OAuth and ideal for server-to-server integrations. Your scripts must include the valid API Key in the request headers to access Purple's data.

Idempotency

A property of an operation meaning that it can be applied multiple times without changing the result beyond the initial application.

Your Webhook listener should be idempotent. If it receives the same authentication event twice (which can happen due to retries or device reconnections), it should not, for example, send two welcome emails.

JSON (JavaScript Object Notation)

A lightweight, text-based format for data interchange that is easy for humans to read and for machines to parse and generate.

The Purple API and Webhooks deliver all data in JSON format. Your application will need to parse this JSON to extract fields like email, name, and visit count.

LogicFlow

Purple's visual, drag-and-drop tool for creating automated marketing and engagement workflows that can trigger actions based on visitor behaviour and demographics.

You use LogicFlow to define the guest journey. It is where you attach your Webhook, telling the system to fire it when a user reaches the 'Online' state of their access journey.

Captive Portal

The web page that a user sees and must interact with before being granted access to a public WiFi network, typically requiring authentication or data capture.

The Purple platform powers the captive portal, and the data entered by the user on this page (e.g., name, email, custom fields) is what becomes available via the Portal API.

GDPR (General Data Protection Regulation)

A comprehensive data privacy law in the European Union that governs the collection, processing, and storage of personal data of EU residents.

The Purple API provides the tools to build GDPR-compliant integrations, such as respecting the unsubscribed status of a user and enabling data export for subject access requests. The v1.7 API update specifically improved the clarity of the unsubscribed field to support compliance.

ETL (Extract, Transform, Load)

A data integration process that involves extracting data from a source system, transforming it into the required format, and loading it into a destination system such as a data warehouse.

The REST API pull pattern is typically implemented as an ETL process, where data is extracted from Purple's /visitors endpoint, transformed to match the destination schema, and loaded into a CRM or data warehouse.

Case Studies

A 200-room hotel wants to automatically add new guest WiFi users to their Salesforce Marketing Cloud journey and send a welcome email.

  1. In the Purple Portal, validate a new Webhook URL pointing to a secure endpoint (e.g., a serverless function on AWS Lambda). 2. Create an 'Online' LogicFlow that includes the Webhook node, configured to use the validated URL. 3. Assign this LogicFlow to the hotel's guest WiFi access journey. 4. The serverless function receives the JSON payload on guest authentication, extracts the user's email and name, and makes an API call to Salesforce Marketing Cloud to add the user to the 'New Guest' journey. 5. The function returns a 200 OK response to Purple within the 10-second timeout window.
Implementation Notes: This solution correctly uses the real-time Webhook pattern, which is ideal for immediate actions like sending a welcome email. Using a serverless function is a cost-effective and scalable way to host the listener endpoint. An alternative would be to poll the /visitors API endpoint, but this would introduce a delay of up to 24 hours and be significantly less efficient for a real-time requirement.

A retail chain with 50 stores wants to build a central dashboard in Power BI to analyze visitor trends across all locations.

  1. Create a script (e.g., in Python) that runs on a nightly schedule. 2. The script authenticates to the Purple Portal API using the company's API key. 3. It iterates through each of the 50 venue IDs, making a call to the /visitors endpoint for each to retrieve all visitor data from the previous day. 4. The script transforms and loads this data into a central data warehouse (e.g., Azure SQL or BigQuery). 5. Power BI is connected to the data warehouse to create the cross-venue analytics dashboard.
Implementation Notes: This is a classic ETL (Extract, Transform, Load) process and is the correct use of the REST API's polling pattern. It is suitable for non-real-time, large-scale data aggregation for business intelligence. Using a central data warehouse is a best practice for performance and scalability when dealing with data from multiple sources. The absence of rate limits on the Purple API means the script can process all 50 venues without throttling concerns.

Scenario Analysis

Q1. A stadium wants to identify VIP season ticket holders when they connect to the WiFi and send a notification to the nearest hospitality manager's dashboard. Which integration pattern should they use and why?

💡 Hint:Consider the required speed of the notification and whether the action is triggered by an event.

Show Recommended Approach

They should use the Webhook (push) pattern. This is a real-time requirement: when the VIP connects, a Webhook fires immediately to a service that looks up the user's email or MAC address against the season ticket holder database. If a match is found, it pushes a notification to the relevant hospitality dashboard. A REST API (pull) pattern would be too slow, as it relies on periodic polling and could introduce delays of minutes or hours.

Q2. You are tasked with creating a daily report of the top 10 most visited venues in your national chain of coffee shops. How would you retrieve the necessary data from Purple?

💡 Hint:Is this a real-time or a batch reporting requirement? What endpoint would you query?

Show Recommended Approach

This is a batch reporting task, so the REST API (pull) pattern is appropriate. A scheduled script would run daily, query the /visitors endpoint for each venue, aggregate the visit counts for the previous day, and then calculate the top 10. There is no need for the near-instant notification provided by Webhooks. The absence of rate limits means all venues can be queried in a single script run without throttling concerns.

Q3. Your Webhook listener endpoint is failing. You check the logs and see a timeout error. What is the most likely cause according to Purple's documentation, and what are the two immediate consequences?

💡 Hint:Think about the performance requirements of a listener and what Purple does when it cannot deliver a payload.

Show Recommended Approach

The most likely cause is that the listener is taking longer than 10 seconds to process the incoming JSON payload and return a 200 OK response. The two immediate consequences are: (1) Purple will stop trying to send the current request and will requeue it for a retry attempt in 3 hours, meaning data delivery is delayed; and (2) if this continues for a prolonged period, Purple will automatically disable the Webhook entirely, requiring manual re-verification in the portal before it can be re-enabled.

Key Takeaways

  • The Purple Portal API provides programmatic access to guest WiFi data using simple API Key authentication, with no rate limits.
  • It requires an Engage license and currently operates on version v1.7, which improved GDPR compliance through clearer unsubscribed status handling.
  • Use the REST API (pull) for batch data exports, ETL processes, and analytics dashboards.
  • Use Webhooks (push) for real-time, event-driven actions like CRM syncs, personalised messaging, and loyalty triggers.
  • Webhook listeners must be SSL-secured, respond within 10 seconds, and be designed to handle duplicate events idempotently.
  • Key use cases span hospitality (real-time CRM enrichment), retail (cross-channel analytics), and events (verified footfall data for sponsors).
  • The API enables organizations to transform their WiFi infrastructure from a cost centre into a strategic data asset with a clear, measurable ROI.