Pular para o conteúdo principal

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

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, a autenticação e os 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 REST API e Webhook, com estudos de caso concretos dos setores de hotelaria, varejo e eventos.

Por Tom HackettPublicado
📖 9 min de leitura2,515 palavras2 exemplos práticos3 questões práticas9 definições principais

Video overview

Ouça este guia

Ver transcrição do podcast
Bem-vindo ao Purple Technical Briefing. Sou Estrategista Sênior de Conteúdo aqui na Purple e, nos próximos dez minutos, vou apresentar uma visão geral concisa e prática da nossa Portal API - o que ela é, o que você pode fazer com ela e como aproveitá-la para obter o máximo de impacto nos negócios. Este conteúdo foi feito para gerentes de TI, arquitetos e diretores de operações que precisam saber como transformar o seu WiFi de visitantes de um simples serviço em um poderoso ativo de dados. Vamos começar pelo contexto. Você oferece WiFi de visitantes em seus locais. Todos os dias, centenas ou milhares de pessoas se conectam. Elas fornecem seus e-mails, talvez seus nomes, e aceitam os seus termos. Esses são dados primários valiosos. O Purple Hub oferece ótimos painéis para visualizar isso, mas o verdadeiro poder surge quando você conecta esses dados ao restante do seu ecossistema de negócios. É aí que a Portal API entra. Ela é a ponte que permite que seus sistemas se comuniquem com a nossa plataforma de forma programática. Agora, vamos aos detalhes técnicos. A Portal API é uma interface RESTful padrão. A autenticação é simples e segura, utilizando uma API Key direta. Você não precisa se preocupar com fluxos complexos de OAuth para a comunicação de servidor para servidor. Um ponto crítico: não há limites de taxa de requisição. Nós a desenvolvemos para escala empresarial, de modo que, se você administra um único hotel ou uma rede nacional de quinhentas lojas de varejo, a API suportará o seu volume. Você tem duas maneiras principais de extrair dados. Primeiro, o método de pull: endpoints REST padrão. Pense em endpoints como visitantes e locais. Você pode criar um script para chamar esses endpoints de forma programada, extrair todos os dados de visitantes das últimas vinte e quatro horas e carregá-los em seu data warehouse para análise. Essa é a sua principal escolha para business intelligence, para criar aqueles painéis de visão geral no Power BI ou Tableau. Mas a parte realmente empolgante é o método de push: Webhooks. Isso funciona em tempo real. Você configura um endpoint receptor do seu lado e, no exato momento em que um visitante se autentica no seu WiFi, enviamos para você uma carga de dados JSON com todas as informações dele - nome, e-mail, em qual local ele está, sua contagem de visitas e até mesmo o método de autenticação que utilizou, seja um formulário de cadastro, login social ou outro canal. É quase instantâneo. É isso que viabiliza um engajamento imediato e personalizado. É a diferença entre enviar um e-mail de marketing amanhã ou enviar uma notificação de boas-vindas com uma oferta exclusiva no segundo em que um cliente fiel entra pela sua porta.Deixe-me falar sobre os campos de dados que você obtém. O payload do Webhook é estruturado em quatro objetos principais. O objeto client fornece o endereço MAC e o user agent. Os objetos company e venue fornecem os identificadores e as coordenadas geográficas do local específico. O objeto session fornece o carimbo de data/hora de autenticação. E o objeto user é onde está o tesouro: nome, sobrenome, e-mail, gênero, data de nascimento, número de celular, código postal e uma contagem de visitas por venue mostrando as datas da primeira e da última visita. Você também pode capturar campos personalizados do formulário de registro da sua página splash. Assim, se você pedir aos visitantes o número do programa de fidelidade ou o número do quarto em um hotel, isso também será enviado. Agora, na versão um ponto sete da API, há uma melhoria importante que vale a pena destacar. O campo unsubscribed agora distingue claramente os usuários que cancelaram ativamente a assinatura de marketing após terem se inscrito anteriormente, daqueles que simplesmente nunca aceitaram participar. Isso é fundamental para a conformidade com a GDPR e para uma segmentação precisa. Você não quer tratar um ex-assinante da mesma forma que alguém que nunca esteve no seu funil de marketing. Vamos falar sobre os padrões de integração em mais detalhes. Para o padrão de pull da REST API, seu fluxo de trabalho típico é um script agendado, talvez em Python ou Node.js, que roda todas as noites. Ele se autentica com sua chave de API, consulta o endpoint de visitantes para cada venue, transforma os dados no formato exigido e os carrega em um banco de dados central. Este é um processo clássico de ETL. Para um operador de vários locais, você iteraria pelos IDs dos seus venues e agregaria os dados de forma centralizada. Para o padrão de push do Webhook, a arquitetura é um pouco diferente. Você precisa de um endpoint acessível publicamente e protegido por SSL. Uma função serverless é ideal aqui - AWS Lambda, Azure Functions ou Google Cloud Functions. É econômica, escala automaticamente e lida com a concorrência que você veria em um local movimentado. Quando a função recebe a requisição POST do Purple, ela deve analisar o JSON, executar sua lógica de negócios - talvez uma busca no CRM ou uma verificação de fidelidade - e retornar uma resposta duzentos OK o mais rápido possível. Isso me leva ao requisito de implementação mais importante: seu listener deve responder em até dez segundos. Se não responder, o Purple colocará a requisição de volta na fila e tentará novamente após três horas. Falhas persistentes farão com que o Webhook seja desativado automaticamente por motivos de segurança. Portanto, mantenha seu listener enxuto. Faça o processamento mínimo necessário para retornar uma resposta rápida e, se precisar fazer um processamento pesado, envie o evento para uma fila interna e processe-o de forma assíncrona. Agora, vamos analisar alguns cenários do mundo real para tornar isso concreto. Considere um hotel de duzentos quartos. Eles desejam cadastrar automaticamente novos hóspedes do WiFi em uma jornada de e-mail de boas-vindas em sua plataforma de marketing. A solução é simples: configure um Webhook, crie um listener serverless simples e, quando os dados de um novo usuário chegarem, verifique se ele já existe na plataforma de marketing. Caso contrário, adicione-o e inicie a jornada de boas-vindas. O hotel também pode usar o campo de contagem de visitas para distinguir visitantes de primeira viagem de hóspedes recorrentes e personalizar a comunicação de acordo. Um hóspede recorrente pode receber uma oferta de recompensa de fidelidade em vez de boas-vindas genéricas. Agora considere uma rede de varejo nacional com cinquenta lojas. Eles querem um painel central que mostre as tendências de fluxo de pessoas em todas as unidades. Aqui, o padrão de pull da REST API é a escolha certa. Um script noturno consulta o endpoint de visitantes para cada uma das cinquenta unidades, agrega os dados e os carrega em um data warehouse. A equipe de análise cria seus painéis com base nisso. Eles podem ver quais lojas têm as maiores taxas de novos visitantes, quais têm as melhores proporções de visitantes recorrentes e como os tempos de permanência se correlacionam com o desempenho de vendas. Deixe-me agora cobrir algumas armadilhas comuns e como evitá-las. A primeira armadilha é o tratamento de eventos duplicados. Uma única visita de um hóspede pode acionar vários eventos de autenticação - por exemplo, se a tela do telefone bloquear e ele se reconectar, ou se ele fizer roaming entre pontos de acesso. Seu listener deve ser idempotente. Antes de realizar uma ação como enviar um e-mail, verifique se você já processou um evento para esse usuário hoje. A segunda armadilha é não validar o URL do seu listener antes de entrar no ar. O Purple exige que você valide o endpoint no portal antes que ele possa receber dados. Certifique-se de que seu listener está ativo e retornando o cabeçalho wifiWebhookListener correto antes de anexá-lo a um LogicFlow. A terceira armadilha é ignorar o status de assinatura. Sempre verifique o campo unsubscribed antes de adicionar um usuário a uma lista de marketing. Enviar comunicações de marketing para alguém que optou por não participar é uma violação do GDPR com consequências significativas. Agora, uma rápida sessão de perguntas e respostas. Posso sincronizar isso com meu CRM personalizado? Sim. Se o seu CRM tiver uma API, você pode usar um listener de Webhook como middleware para formatar os dados do Purple e enviá-los para o seu sistema. Os IDs retornados no payload do Webhook correspondem aos da REST API, então você também pode fazer chamadas de acompanhamento para obter detalhes adicionais, se necessário. Como lidar com um usuário que visita vários locais em minha propriedade? A API fornece contagens de visitas por ID de local, para que você possa rastrear facilmente a jornada de um cliente em toda a sua propriedade e criar um perfil abrangente entre locais. Existe um limite para quantos URLs de Webhook posso configurar? Não. Você pode validar e usar quantos URLs de listener precisar, o que é útil se diferentes equipes ou sistemas precisarem receber os mesmos dados de eventos. O que acontece se o meu listener ficar offline para manutenção? O Purple tentará reenviar as entregas malsucedidas, portanto, você poderá receber um acúmulo de eventos acumulados quando seu listener voltar a ficar online. Seu listener precisa lidar com isso de forma amigável, processando eventos que podem chegar fora da ordem cronológica. Para resumir tudo o que cobrimos hoje, a API do Purple Hub é a sua chave para desbloquear o imenso valor contido nos dados de WiFi de visitantes. Use a API REST para extrair dados para relatórios e análises. Use Webhooks para enviar dados em tempo real para um engajamento imediato e personalizado com o cliente. Lembre-se do princípio fundamental: push para tempo real, pull para relatórios. Seu próximo passo é revisar a documentação da API em nosso portal de suporte. Se você tiver uma licença do Purple Engage, gere uma chave de API e comece a explorar com o Postman. Crie um listener de Webhook simples. Veja os dados fluírem. Esse é o momento em que o potencial desta ferramenta se torna perfeitamente claro. Obrigado por ouvir o Informativo Técnico do Purple. Se você deseja falar com um de nossos arquitetos de soluções sobre seus requisitos específicos de integração, visite purple dot ai e agende uma demonstração. Até a próxima.

Parte da nossa série principal: Guia de Captive Portal →

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

Resumo Executivo

Para líderes de TI em locais com múltiplos estabelecimentos - 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 atualizada de dados primários que pode gerar um impacto de negócios mensurável em marketing, operações e experiência do cliente. A Purple Portal API fornece a interface programática necessária para liberar 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 sistemas de negócios essenciais, 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, endpoints disponíveis, padrões de integração e 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 fundamentação técnica e as estruturas de decisão necessárias para prosseguir com confiança.

Detalhamento 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 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 da requisição. 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 é fundamental para a conformidade com a GDPR e para a segmentação precisa de 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, 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 Objetivo
/visitors GET Recuperar perfis de visitantes, incluindo dados de contato, dados demográficos e histórico de visitas
/venues GET Recuperar dados do estabelecimento 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 de acesso e quaisquer campos personalizados configurados na splash page.

Limites de Requisição

Uma vantagem arquitetônica fundamental da Purple Portal API é que não há limites de requisição. A plataforma é projetada para suportar qualquer volume de solicitações ou transações, tornando-a ideal para implantações em grande escala onde os scripts podem precisar processar milhares de registros de locais de acesso 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 controle de taxa de solicitação ou lógica de back-off em seu código 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 REST API pull envolve o seu sistema fazendo solicitaçõ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 Webhook push 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 'ouvinte') 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 quase real, como acionar uma mensagem de boas-vindas personalizada, atualizar o status de 'última visita' de um cliente em um CRM ou notificar um gerente de hotelaria que um visitante VIP chegou.

Purple Portal API: O Que Você Pode Fazer Com Ela - api architecture diagram

Estrutura de 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 de acesso específico onde ocorreu a autenticação
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 é altamente valioso para operadores de múltiplos locais. Ele fornece uma contagem de visitas por local junto com os timestamps firstVisit e lastVisit, permitindo que você identifique visitantes de primeira viagem versus clientes recorrentes e leais no momento exato da autenticação - sem a necessidade de chamadas adicionais de API.

Tem dúvidas sobre a sua configuração específica?

A nossa equipa trabalha com operadores de espaços, gestores de TI e engenheiros de rede em 80.000 locais. Agende uma chamada de 20 minutos e mostraremos como outros profissionais na sua situação o resolveram.

Guia de Implementação

Pré-requisitos e Configuração

O acesso à Portal API exige uma licença Engage. Uma vez licenciado, gere sua Chave de API diretamente 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 requisição corretos. Um arquivo de demonstração em PHP também está disponível para equipes que preferem um ponto de partida baseado em 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 receptor em uma URL acessível publicamente e protegida por SSL. Uma função serverless (AWS Lambda, Azure Functions ou Google Cloud Functions) é uma excelente escolha de arquitetura: ela escala automaticamente, gera custos mínimos em volumes baixos e lida com requisições simultâneas sem necessidade de configuração adicional. Segundo, valide a URL receptora no portal Purple acessando Gerenciamento > Locais > Webhooks. A Purple enviará uma requisição de teste para confirmar que o endpoint está acessível e retorna o cabeçalho obrigatório wifiWebhookListener: 1. Terceiro, crie ou edite um LogicFlow no portal e adicione um Nó de Ação de Webhook, selecionando sua URL validada. Quarto, certifique-se de que o LogicFlow esteja com o status 'Online'. Quinto, vincule o LogicFlow à Jornada de Acesso relevante. A partir deste momento, cada autenticação de visitante nessa jornada acionará seu Webhook.

Tratamento de Novas Tentativas e Idempotência

Seu receptor deve ser projetado para lidar com as realidades dos sistemas distribuídos. A Purple tentará reenviar uma entrega de Webhook que falhou após três horas caso seu receptor não responda (tempo limite superior a 10 segundos) ou retorne um status de erro. Isso significa que seu receptor pode receber o mesmo evento múltiplas vezes. Além disso, uma única visita de visitante 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 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 apenas uma 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 realizada para um determinado ID de usuário dentro de um intervalo de tempo definido antes de executá-la novamente.

Melhores Práticas

Vários princípios devem guiar qualquer implantação em produção da Purple Portal API. Sempre faça a implantação em relação à 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 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 contra usuários que optaram por sair constitui uma violação do GDPR. Por fim, teste sua integração contra toda a gama de casos de teste 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.

Purple Portal API: O Que Você Pode Fazer Com Ela - webhook integration infographic

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, o Purple desativará automaticamente o Webhook após um período prolongado de inatividade, exigindo reverificação manual no portal. Para mitigar esse risco, implemente um endpoint de verificação de integridade (health check) no mesmo servidor que seu listener e inclua-o no monitoramento de sua infraestrutura. Certifique-se de que seu listener realize apenas um 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 a tarefa de extração agendada falhar silenciosamente. Implemente alertas em seus scripts 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

O caso de negócios para a integração com a Purple Portal API está bem consolidado em vários setores. Na hotelaria, hotéis que utilizam integrações de CRM acionadas por Webhook relatam melhorias significativas nas taxas de abertura de e-mails para comunicações personalizadas em comparação com campanhas genéricas de transmissão, porque a mensagem é entregue no momento de máxima relevância - quando o hóspede está fisicamente no local. No varejo, conectar os dados de 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 recorrentes. Para grandes locais públicos e centros de conferências, as análises orientadas por API fornecem os dados detalhados de fluxo de pessoas necessários para justificar avaliações de patrocínio e otimizar a distribuição de concessões.

A ausência de limites de taxa na Purple WiFi API significa que o custo de integração escala 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, esta é uma vantagem material em relação a plataformas que cobram por chamada de API ou impõem limites de processamento. O custo total de propriedade para uma integração bem projetada da Purple API é, portanto, principalmente o custo de desenvolvimento único e o custo de infraestrutura contínuo do listener, ambos os quais são normalmente recuperados logo no primeiro trimestre apenas através de melhores taxas de conversão de marketing.

Purple Portal API: O Que Você Pode Fazer Com Ela - retail integration usecase

Estudos de Caso

Estudo de Caso 1: Hotelaria - Whitbread Group

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

Estudo de Caso 2: Varejo - Varejista de Moda Multilojas

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

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

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

Definições principais

Webhook

Um mecanismo automatizado onde 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 de visitantes para o seu sistema no exato momento em que um visitante 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 web services que permite que um sistema solicite (ou extraia) dados de outro usando métodos HTTP padrão, como GET e POST.

As equipes de TI usam a Purple REST API para criar scripts que extraem dados em lote de visitantes e estabelecimentos para análise em ferramentas de business intelligence como Power BI ou Tableau.

Autenticação por Chave de API

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 de autorização HTTP.

Isso é mais simples que o OAuth e ideal para integrações servidor-a-servidor. Seus scripts devem incluir a Chave de API válida nos cabeçalhos das requisições para acessar os dados da Purple.

Idempotência

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 novas tentativas 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 para humanos lerem e para máquinas analisarem e gerarem.

A API do Purple e os Webhooks entregam todos os dados no formato JSON. Sua aplicação precisará analisar esse JSON para extrair campos como e-mail, nome e contagem de visitas.

LogicFlow

A ferramenta visual 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 dados demográficos do visitante.

Você usa o LogicFlow para definir a jornada do visitante. É onde você anexa seu Webhook, instruindo o sistema a dispará-lo quando um usuário atinge o estado 'Online' de sua jornada de acesso.

Captive Portal

A página web que um usuário vê e com a qual deve interagir antes de ter o acesso concedido 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 via Portal API.

GDPR (General Data Protection Regulation)

Uma lei abrangente de privacidade de dados na União Europeia que rege a coleta, processamento e armazenamento de dados pessoais de residentes da UE.

A API do Purple fornece as ferramentas para criar integrações em conformidade com a GDPR, como respeitar o status de não inscrito de um usuário e permitir a exportação de dados para solicitações de acesso do titular. A atualização v1.7 da API melhorou especificamente a clareza do campo de não inscrito 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, transformando-os no formato exigido e carregando-os em um sistema de destino, como um data warehouse.

O padrão de pull 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 no Salesforce Marketing Cloud e enviar um e-mail de boas-vindas.

  1. No Purple Portal, valide uma nova URL de Webhook apontando para um endpoint seguro (por exemplo, uma função sem servidor no AWS Lambda). 2. Crie um LogicFlow 'Online' que inclua o nó Webhook, configurado para usar a URL validada. 3. Atribua este LogicFlow à jornada de acesso ao WiFi de visitantes do hotel. 4. A função sem servidor 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 tempo limite de 10 segundos.
Comentário do examinador: Esta solução usa corretamente o padrão Webhook em tempo real, que é ideal para ações imediatas como o envio de um e-mail de boas-vindas. O uso de uma função sem servidor é uma forma econômica e escalável de hospedar o endpoint receptor. Uma alternativa seria consultar o endpoint da API /visitors, mas isso introduziria um atraso de até 24 horas e seria significativamente menos eficiente para um requisito em tempo real.

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 localidades.

  1. Crie um script (por exemplo, em Python) executado em uma programação diária 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 ao endpoint /visitors para cada um a fim de recuperar todos os dados de visitantes do dia anterior. 4. O script transforma e carrega esses dados em um repositório central de dados (por exemplo, Azure SQL ou BigQuery). 5. O Power BI é conectado ao repositório de dados para criar o painel de análise multi-estabelecimento.
Comentário do examinador: Este é um processo clássico de ETL (Extração, Transformação e Carregamento) e é o uso correto do padrão de consulta da REST API. É adequado para agregação de dados em grande escala e não em tempo real para inteligência de negócios. O uso de um repositório central de dados é uma prática recomendada para desempenho e escalabilidade ao lidar com dados de várias fontes. A ausência de limites de taxa na API da Purple significa que o script pode processar todos os 50 estabelecimentos sem preocupações de gargalo.

Questões práticas

Q1. Um estádio deseja identificar os portadores de ingressos de temporada VIP quando eles se conectarem 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 de Webhook (push). Este é um requisito em tempo real: quando o VIP se conecta, um Webhook dispara 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 REST API (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, então o padrão de REST API (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 de notificação quase instantânea fornecida por Webhooks. A ausência de limites de taxa de requisição significa que todos os locais podem ser consultados em uma única execução de script sem preocupações de gargalo.

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 esteja 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 enviar a requisição atual e a colocará de volta na fila para uma nova tentativa em 3 horas, o que significa que o envio de dados será atrasado; 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 possa ser reativado.

Tem dúvidas sobre a sua configuração específica?

A nossa equipa trabalha com operadores de espaços, gestores de TI e engenheiros de rede em 80.000 locais. Agende uma chamada de 20 minutos e mostraremos como outros profissionais na sua situação o resolveram.