Purple Portal API: What You Can Do With It
Uma referência técnica para gerentes de TI e arquitetos de rede sobre como aproveitar a Purple Portal API. Este guia detalha os endpoints disponíveis, autenticação e casos de uso reais para integrar dados de WiFi de visitantes com sistemas corporativos para aprimorar a inteligência de negócios e a eficiência operacional. Ele abrange padrões de integração de REST API e Webhook, com estudos de caso concretos dos setores de hotelaria, varejo e eventos.
Ouça este guia
Ver transcrição do podcast
- Resumo Executivo
- Aprofundamento Técnico
- Autenticação e Versionamento da API
- Endpoints Disponíveis
- Limites de Taxa (Rate Limits)
- Padrões de Integração: Pull vs. Push
- Estrutura do Payload do Webhook
- Guia de Implementação
- Pré-requisitos e Configuração
- Configurando uma Integração de Webhook
- Tratamento de Novas Tentativas e Idempotência
- Melhores Práticas
- Solução de Problemas e Mitigação de Riscos
- ROI e Impacto nos Negócios
- Case Studies
- Case Study 1: Hospitality — Whitbread Group
- Case Study 2: Retail — Multi-Site Fashion Retailer
- Case Study 3: Events — Conference Centre

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 de convidados é mais do que uma simples comodidade. É uma fonte rica e continuamente atualizada de dados primários (first-party data) que pode gerar 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 construam integrações robustas e automatizadas que alimentam dados de visitantes em conformidade com a GDPR diretamente nos sistemas de negócios principais, desde plataformas de CRM e ferramentas de automação de marketing até programas de fidelidade e armazéns de business intelligence (BI).
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 do mundo real que demonstram como a Purple WiFi API pode transformar uma implantação de WiFi de um centro de custo 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 API Key, um modelo simples e seguro, ideal para integrações servidor a servidor. Ao contrário dos fluxos do OAuth 2.0, que exigem troca de tokens e ciclos de atualização, a autenticação por API Key envolve a inclusão de um segredo estático nos cabeçalhos das requisições. Essa simplicidade reduz a complexidade da integração sem comprometer a segurança, desde que a chave seja armazenada de forma segura 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 cancelou ativamente a assinatura de marketing após ter se inscrito anteriormente e um usuário que nunca se inscreveu. Essa distinção é crítica para a conformidade com a GDPR e para a segmentação precisa do público. Além disso, os endpoints de Visitors e Venues agora retornam uma resposta HTTP 200 OK quando nenhum dado é encontrado, em vez de um 404 Not Found, o que antes 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 | Finalidade |
|---|---|---|
/visitors |
GET | Recuperar perfis de visitantes convidados, incluindo dados de contato, dados demográficos e histórico de visitas |
/venues |
GET | Recuperar dados no nível do local e metadados de configuração |
/unsubscribes |
GET | Recupera 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 utilizado, pois expõe toda a riqueza dos dados de perfil dos visitantes coletados durante a jornada de autenticação no 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 (Rate Limits)
Uma vantagem arquitetônica fundamental da Purple Portal API é que não há limites de taxa. A plataforma foi projetada para suportar qualquer volume de requisições ou transações, tornando-a adequada para implantações em grande 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 requisições ou lógica de back-off no código do seu 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 para 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 de pull da REST API envolve o seu sistema fazendo requisições sob demanda ou agendadas para os endpoints da API para recuperar dados. Esta é 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 quantos dados você recupera.
O padrão de 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 publicamente acessível e protegido por SSL (um 'listener') que possa receber e processar esses payloads JSON POST. O padrão Webhook é a escolha correta para qualquer caso de uso que exija dados em tempo real, como o disparo de uma mensagem de boas-vindas personalizada, a atualização do status de 'última visita' de um cliente em um CRM ou a notificação a um gerente de hospitalidade de que um visitante VIP chegou.

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 Chave | Descrição |
|---|---|---|
client |
mac, userAgent |
Identificadores ao nível do dispositivo |
company |
id, name, uniqId |
Detalhes da conta da sua empresa |
venue |
id, name, latitude, longitude |
O local específico onde ocorreu a autenticação |
session |
authenticationTime |
Carimbo de data/hora 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 junto com os carimbos de data/hora de firstVisit e lastVisit, permitindo identificar visitantes de primeira viagem versus clientes recorrentes fiéis no momento da autenticação — sem chamadas de API adicionais.
Guia de Implementação
Pré-requisitos e Configuração
O acesso à Portal API requer uma licença Engage. Uma vez licenciado, gere sua API Key nas configurações do portal Purple. Para o 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 com 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 de escuta (listener) em uma URL publicamente acessível e protegida por SSL. Uma função serverless (AWS Lambda, Azure Functions ou Google Cloud Functions) é uma escolha arquitetonicamente sólida: ela escala automaticamente, gera custos mínimos em volumes baixos e lida com solicitações simultâneas sem configuração. Segundo, valide a URL do listener no portal Purple navegando em Management > Venues > Webhooks. A Purple enviará uma solicitação de teste para confirmar que 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 está com o status 'Online'. Quinto, associe o LogicFlow à Jornada de Acesso relevante. A partir deste ponto, cada autenticação de visitante nessa jornada acionará seu Webhook.
Tratamento de Novas Tentativas e Idempotência
Seu listener deve ser projetado para lidar com as realidades dos sistemas distribuídos. A Purple tentará reenviar 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 visitante pode acionar múltiplos eventos de autenticação — por exemplo, quando um dispositivo se reconecta após o bloqueio da tela ou quando um usuário transita entre pontos de acesso. Portanto, sua lógica de processamento deve ser idempotente: aplicar o mesmo evento duas vezes deve produzir o mesmo resultado que aplicá-lo uma única vez. Um padrão de implementação comum é verificar se uma ação (como o envio de 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 em produção da Purple Portal API. Sempre faça a implantação na versão mais recente da API (v1.7) e atualize seus caminhos de URL e lógica de análise de resposta quando novas versões forem lançadas. Trate sua API Key como uma credencial confidencial: armazene-a em um gerenciador de segredos (como o AWS Secrets Manager ou o 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 recebido e resposta 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 sair constitui uma violação da GDPR. Por fim, teste sua integração com toda a gama de casos extremos: 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.

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 inatividade, exigindo a reverificação manual no portal. Para mitigar esse risco, implemente um endpoint de verificação de integridade (health check) no mesmo servidor do seu listener e inclua-o no monitoramento da sua infraestrutura. Certifique-se de que seu listener execute apenas um processamento síncrono mínimo antes de retornar uma resposta 200 OK; transfira 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 dos dados nos sistemas downstream se o job de pull agendado falhar silenciosamente. Implemente alertas em seus scripts de ETL para notificar a equipe de operações se uma execução falhar ou não produzir resultados 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
The business case for integrating with the Purple Portal API is well-established across multiple verticals. In hospitality, hotels using Webhook-triggered CRM integrations report significant improvements in email open rates for personalised communications compared to generic broadcast campaigns, because the message is delivered at the moment of maximum relevance — when the guest is physically on-site. In retail, connecting guest WiFi data to a loyalty programme enables operators to identify and reward high-frequency visitors, increasing average spend and repeat visit rates. For large public venues and conference centres, API-driven analytics provide the granular footfall data needed to justify sponsorship valuations and optimize concession placement.
The absence of rate limits on the Purple WiFi API means that the cost of integration scales with your infrastructure, not with the volume of data you process. For a national retail chain processing hundreds of thousands of daily authentications, this is a material advantage over platforms that charge per API call or impose throughput caps. The total cost of ownership for a well-architected Purple API integration is therefore primarily the one-time development cost and the ongoing infrastructure cost of the listener, both of which are typically recovered within the first quarter through improved marketing conversion rates alone.

Case Studies
Case Study 1: Hospitality — Whitbread Group
Whitbread, the UK's largest hotel and restaurant company, operates thousands of guest WiFi access points across its Premier Inn and restaurant estate. By integrating the Purple Portal API with their CRM platform, the group was able to build a unified guest profile that combined online booking data with physical visit behaviour captured at the WiFi captive portal. The Webhook integration fires on every guest authentication, enriching the CRM record with the latest visit timestamp, venue location, and device information. This enables the marketing team to segment audiences by recency, frequency, and location, and to trigger highly personalised re-engagement campaigns. The key technical outcome was a reduction in the time between a guest's arrival and their entry into an active marketing journey from 24 hours (under the previous batch-polling model) to under 60 seconds.
Case Study 2: Retail — Multi-Site Fashion Retailer
A national fashion retailer with over 80 stores deployed the Purple Portal API to address a critical gap in their customer data strategy: they had strong e-commerce data but virtually no insight into in-store visitor behaviour. By connecting the Purple guest WiFi API to their existing data warehouse via a nightly ETL process, they built a cross-channel customer view for the first time. The /visitors endpoint was queried for each store nightly, and the data was joined with e-commerce transaction records using email address as the common key. Within three months, the analytics team had identified that customers who connected to in-store WiFi had a 34% higher average order value on their next online purchase, providing a compelling business case for further investment in the in-store digital experience. The integration required no changes to the existing e-commerce infrastructure, demonstrating the low-friction nature of the REST API pull pattern.
Case Study 3: Events — Conference Centre
A major conference centre in the UK used the Purple Portal API to provide sponsors with verified footfall data for the first time. Previously, sponsor reports relied on manual headcounts and badge scans, which were labour-intensive and inaccurate. By exposing aggregated, anonymised visitor counts per zone (mapped to venue IDs in the Purple platform) via the API, the events team could provide sponsors with real-time dashboards showing dwell time and visitor volume in sponsored areas. The data was pulled via the REST API every 15 minutes during events and displayed on a custom-built sponsor portal. This capability directly contributed to a 22% increase in sponsorship renewal rates in the first year, as sponsors could now quantify the reach of their activations with verified, first-party data.
Definições principais
Webhook
Um mecanismo automatizado no qual um servidor envia uma notificação de dados em tempo real (um push) para outro aplicativo quando um evento específico ocorre, por meio de uma requisição HTTP POST.
No contexto da Purple, um Webhook envia um payload JSON com dados do visitante para o seu sistema no momento em que um convidado se autentica na rede WiFi. Isso é fundamental para atualizações de CRM e marketing em tempo real.
REST API
Um estilo arquitetônico padronizado para a criação de serviços web que permite a um sistema solicitar (ou extrair) dados de outro usando métodos HTTP padrão, como GET e POST.
As equipes de TI usam a REST API da Purple para escrever scripts que extraem dados em lote de visitantes e locais para análise em ferramentas de business intelligence, como Power BI ou Tableau.
API Key Authentication
Um modelo de segurança no qual o acesso a uma API é concedido mediante o fornecimento de um token secreto exclusivo (a chave) a cada requisição, normalmente no cabeçalho HTTP Authorization.
Isso é mais simples do que o OAuth e ideal para integrações servidor a servidor. Seus scripts devem incluir a API Key válida nos cabeçalhos das requisições para acessar os dados da Purple.
Idempotency
Uma propriedade de uma operação que significa que ela pode ser aplicada várias vezes sem alterar o resultado além da aplicação inicial.
O seu receptor de Webhook deve ser idempotente. Se ele receber o mesmo evento de autenticação duas vezes (o que pode acontecer devido a tentativas de reenvio ou reconexões de dispositivos), ele não deve, por exemplo, enviar dois e-mails de boas-vindas.
JSON (JavaScript Object Notation)
Um formato leve e baseado em texto para intercâmbio de dados que é fácil de ser lido por humanos e analisado e gerado por máquinas.
A API da Purple e os Webhooks entregam todos os dados no formato JSON. Seu aplicativo precisará analisar esse JSON para extrair campos como e-mail, nome e contagem de visitas.
LogicFlow
A ferramenta visual de arrastar e soltar da Purple para criar fluxos de trabalho automatizados de marketing e engajamento que podem acionar ações com base no comportamento e nos dados demográficos dos visitantes.
Você usa o LogicFlow para definir a jornada do convidado. É onde você vincula seu Webhook, instruindo o sistema a dispará-lo quando um usuário atingir o estado 'Online' de sua jornada de acesso.
Captive Portal
A página web que um usuário visualiza e com a qual deve interagir antes de receber acesso a uma rede WiFi pública, normalmente exigindo autenticação ou captura de dados.
A plataforma Purple alimenta o Captive Portal, e os dados inseridos pelo usuário nesta página (por exemplo, nome, e-mail, campos personalizados) são os que ficam disponíveis por meio da Portal API.
GDPR (General Data Protection Regulation)
Uma lei abrangente de privacidade de dados na União Europeia que regulamenta a coleta, o processamento e o armazenamento de dados pessoais de residentes da UE.
A API da Purple fornece as ferramentas para criar integrações em conformidade com a GDPR, como respeitar o status de cancelamento de inscrição de um usuário e permitir a exportação de dados para solicitações de acesso do titular. A atualização da API v1.7 melhorou especificamente a clareza do campo de cancelamento de inscrição para apoiar a conformidade.
ETL (Extract, Transform, Load)
Um processo de integração de dados que envolve a extração de dados de um sistema de origem, a transformação deles no formato exigido e o carregamento em um sistema de destino, como um data warehouse.
O padrão de extração da REST API é normalmente implementado como um processo ETL, onde os dados são extraídos do endpoint /visitors da Purple, transformados para corresponder ao esquema de destino e carregados em um CRM ou data warehouse.
Exemplos práticos
Um hotel de 200 quartos deseja adicionar automaticamente novos usuários de WiFi de visitantes à sua jornada do Salesforce Marketing Cloud e enviar um e-mail de boas-vindas.
- No Purple Portal, valide uma nova URL de Webhook apontando para um endpoint seguro (por exemplo, uma função serverless no AWS Lambda). 2. Crie um LogicFlow 'Online' que inclua o nó do Webhook, configurado para usar a URL validada. 3. Atribua este LogicFlow à jornada de acesso de WiFi de visitantes do hotel. 4. A função serverless recebe o payload JSON na autenticação do visitante, extrai o e-mail e o nome do usuário e faz uma chamada de API para o Salesforce Marketing Cloud para adicionar o usuário à jornada 'Novo Visitante'. 5. A função retorna uma resposta 200 OK para a Purple dentro da janela de timeout de 10 segundos.
Uma rede de varejo com 50 lojas deseja criar um painel central no Power BI para analisar as tendências de visitantes em todas as unidades.
- Crie um script (por exemplo, em Python) que seja executado em uma programação noturna. 2. O script se autentica na Purple Portal API usando a chave de API da empresa. 3. Ele itera por cada um dos 50 IDs de estabelecimentos, fazendo uma chamada para o endpoint /visitors de cada um para recuperar todos os dados de visitantes do dia anterior. 4. O script transforma e carrega esses dados em um data warehouse central (por exemplo, Azure SQL ou BigQuery). 5. O Power BI é conectado ao data warehouse para criar o painel de análise de múltiplos estabelecimentos.
Questões práticas
Q1. Um estádio deseja identificar os portadores de ingressos de temporada VIP quando eles se conectam ao WiFi e enviar uma notificação para o painel do gerente de hospitalidade mais próximo. Qual padrão de integração eles devem usar e por quê?
Dica: Considere a velocidade necessária para a notificação e se a ação é acionada por um evento.
Ver resposta modelo
Eles devem usar o padrão Webhook (push). Este é um requisito em tempo real: quando o VIP se conecta, um Webhook é disparado imediatamente para um serviço que busca o e-mail ou endereço MAC do usuário no banco de dados de portadores de ingressos de temporada. Se uma correspondência for encontrada, ele envia uma notificação para o painel de hospitalidade relevante. Um padrão de API REST (pull) seria muito lento, pois depende de consultas periódicas e poderia introduzir atrasos de minutos ou horas.
Q2. Você tem a tarefa de criar um relatório diário dos 10 locais mais visitados em sua rede nacional de cafeterias. Como você recuperaria os dados necessários do Purple?
Dica: Este é um requisito de relatório em tempo real ou em lote? Qual endpoint você consultaria?
Ver resposta modelo
Esta é uma tarefa de relatório em lote, portanto, o padrão de API REST (pull) é apropriado. Um script agendado seria executado diariamente, consultaria o endpoint /visitors para cada local, agregaria as contagens de visitas do dia anterior e, em seguida, calcularia os 10 primeiros. Não há necessidade da notificação quase instantânea fornecida por Webhooks. A ausência de limites de taxa significa que todos os locais podem ser consultados em uma única execução de script sem preocupações com limitação de taxa.
Q3. O endpoint do seu listener de Webhook está falhando. Você verifica os logs e vê um erro de timeout. Qual é a causa mais provável de acordo com a documentação do Purple e quais são as duas consequências imediatas?
Dica: Pense nos requisitos de desempenho de um listener e no que o Purple faz quando não consegue entregar um payload.
Ver resposta modelo
A causa mais provável é que o listener está demorando mais de 10 segundos para processar o payload JSON recebido e retornar uma resposta 200 OK. As duas consequências imediatas são: (1) o Purple interromperá a tentativa de envio da requisição atual e a colocará novamente na fila para uma nova tentativa em 3 horas, o que significa que a entrega dos dados será atrasada; e (2) se isso continuar por um período prolongado, o Purple desativará automaticamente o Webhook por completo, exigindo a reverificação manual no portal antes que ele possa ser reativado.
Continue a ler esta série
CommScope Ruckus Integration with Purple WiFi: Setup and Configuration Guide
Este guia de referência técnica fornece um manual de configuração definitivo para integrar arquiteturas CommScope Ruckus com o Purple WiFi. Ele detalha implementações passo a passo para Captive Portals de Guest WiFi, WiFi seguro para funcionários via 802.1X e isolamento de rede multi-tenant usando Ruckus Dynamic PSK.
Integração de Access Points Allied Telesis com o Purple WiFi
Este guia fornece um manual de configuração abrangente para integrar os access points Allied Telesis Série TQ com o Purple WiFi. Ele aborda o redirecionamento de Captive Portal externo, autenticação RADIUS 802.1X e direcionamento dinâmico de VLAN usando Private Pre-Shared Keys (PPSK) para implantações seguras de múltiplos inquilinos (multi-tenant).
Integração de Access Points Grandstream GWN com Purple WiFi
Este guia de referência técnica detalhado explica como integrar os access points Grandstream GWN com o Guest WiFi e a plataforma de analytics da Purple. Ele abrange a configuração do Captive Portal Grandstream, definições de RADIUS AAA, configuração de walled garden, autenticação segura de funcionários via 802.1X com direcionamento dinâmico de VLAN e segmentação PPSK multi-tenant — fornecendo orientações práticas passo a passo para MSPs e equipes de TI que implantam WiFi para visitantes e funcionários em escala.