Vai al contenuto principale

Purple Portal API: Cosa Puoi Fare

Un riferimento tecnico per IT manager e architetti di rete su come sfruttare le API di Purple Portal. Questa guida dettaglia gli endpoint disponibili, l'autenticazione e i casi d'uso reali per integrare i dati del WiFi ospiti con i sistemi aziendali per migliorare la business intelligence e l'efficienza operativa. Copre i modelli di integrazione sia REST API che Webhook, con casi di studio concreti provenienti dai settori hospitality, retail ed eventi.

Di Tom HackettPubblicato
📖 9 minuti di lettura2,454 parole2 esempi pratici3 domande di esercitazione9 definizioni chiave

Video overview

Ascolta questa guida

Visualizza trascrizione del podcast
Benvenuto al briefing tecnico Purple. Sono un Senior Content Strategist qui in Purple e, nei prossimi dieci minuti, ti fornirò una panoramica concisa e pratica della nostra Portal API: cos'è, cosa puoi fare e come sfruttarla per ottenere il massimo impatto aziendale. Questo è per i responsabili IT, i progettisti e i direttori operativi che hanno bisogno di sapere come trasformare il loro guest WiFi da un semplice servizio a una risorsa di dati di grande valore. Iniziamo con il contesto. Hai un guest WiFi all'interno dei tuoi punti vendita. Ogni giorno, centinaia o migliaia di persone si connettono. Forniscono la loro email, forse il loro nome, e acconsentono ai tuoi termini. Si tratta di preziosi dati di prima parte. Il Purple Portal offre dashboard eccellenti per visualizzarli, ma il vero potere emerge quando colleghi questi dati al resto del tuo ecosistema aziendale. È qui che entra in gioco la Portal API. È il ponte che consente ai tuoi sistemi di dialogare con la nostra piattaforma in modo programmatico. Ora, entriamo nei dettagli tecnici. La Portal API è un'interfaccia RESTful standard. L'autenticazione è semplice e sicura, e utilizza una semplice chiave API. Non devi preoccuparti di complessi handshake OAuth per la comunicazione server-to-server. Aspetto fondamentale, non ci sono limiti di frequenza. L'abbiamo costruita per una scalabilità enterprise: quindi, sia che tu gestisca un singolo hotel o una catena nazionale di cinquecento punti vendita, l'API può gestire i tuoi volumi. Hai due modi principali per estrarre i dati. Il primo è il metodo pull: endpoint REST standard. Pensa a endpoint come visitatori e sedi. Puoi scrivere uno script per chiamare questi endpoint in base a una pianificazione, scaricare tutti i dati dei visitatori delle ultime ventiquattro ore e caricarli nel tuo data warehouse per l'analisi. Questa è la soluzione ideale per la business intelligence, per creare dashboard panoramiche in Power BI o Tableau. La parte davvero entusiasmante è però il metodo push: i Webhook. Questo serve per il tempo reale. Configuri un endpoint di ascolto sul tuo lato e, nel momento in cui un ospite si autentica sul tuo WiFi, ti inviamo un payload JSON con tutti i suoi dettagli: nome, email, in quale sede si trova, il numero di visite e persino il metodo di autenticazione che ha utilizzato, che si tratti di un modulo di registrazione, di un social login o di altro. È quasi istantaneo. Questo è ciò che sblocca un coinvolgimento immediato e personalizzato. È la differenza tra l'invio di un'email di marketing domani e l'invio di una notifica di bentornato con un'offerta unica nell'istante esatto in cui un cliente fedele varca la tua porta. Permettetemi di parlare dei campi dati che si ottengono. Il payload del Webhook è strutturato in quattro oggetti principali. L'oggetto client fornisce l'indirizzo MAC e lo user agent. Gli oggetti company e venue forniscono gli identificativi e le coordinate geografiche della posizione specifica. L'oggetto session fornisce il timestamp di autenticazione. E l'oggetto user è dove si trova il valore reale: nome, cognome, email, genere, data di nascita, numero di cellulare, codice postale e un conteggio delle visite per venue che mostra le date della prima e dell'ultima visita. È inoltre possibile acquisire campi personalizzati dal modulo di registrazione della splash page, quindi se si chiede agli ospiti il numero del programma fedeltà o il numero di stanza in un hotel, verranno trasmessi anche questi dati. Ora, nella versione 1.7 della API, c'è un miglioramento importante che vale la pena notare. Il campo unsubscribed ora distingue chiaramente tra gli utenti che hanno attivamente revocato il consenso al marketing dopo essere stati precedentemente iscritti e quelli che semplicemente non hanno mai prestato il consenso. Questo è fondamentale per la conformità al GDPR e per una segmentazione accurata. Non si vuole trattare un iscritto disattivato allo stesso modo di qualcuno che non è mai entrato nel funnel di marketing. Parliamo più in dettaglio dei modelli di integrazione. Per il modello pull della REST API, il flusso di lavoro tipico è uno script pianificato, ad esempio in Python o Node.js, eseguito ogni notte. Questo si autentica con la chiave API, interroga l'endpoint dei visitatori per ciascuna venue, trasforma i dati nel formato richiesto e li carica in un database centrale. Si tratta di un classico processo ETL. Per un operatore multi-sito, è sufficiente scorrere gli ID delle venue e aggregare i dati a livello centrale. Per il modello push del Webhook, l'architettura è leggermente diversa. È necessario un endpoint accessibile pubblicamente e protetto da SSL. Una funzione serverless è l'ideale in questo caso - AWS Lambda, Azure Functions o Google Cloud Functions. È conveniente, si scalano automaticamente e gestiscono la concorrenza tipica di una venue affollata. Quando la funzione riceve la richiesta POST da Purple, deve analizzare il JSON, eseguire la logica aziendale - ad esempio una ricerca nel CRM o un controllo di fedeltà - e restituire una risposta 200 OK il più rapidamente possibile. Questo mi porta al requisito di implementazione più importante: il listener deve rispondere entro dieci secondi. In caso contrario, Purple accoderà nuovamente la richiesta e riproverà dopo tre ore. Errori persistenti causeranno la disattivazione automatica del Webhook per motivi di sicurezza. Pertanto, mantenete il listener snello. Eseguite l'elaborazione minima necessaria per restituire una risposta rapida e, se dovete eseguire un'elaborazione complessa, inserite l'evento in una coda interna ed elaboratelo in modo asincrono. Ora esaminiamo alcuni scenari reali per rendere il tutto più concreto. Consideriamo un hotel di duecento camere. Desidera inserire automaticamente i nuovi ospiti WiFi in un percorso di email di benvenuto nella propria piattaforma di marketing. La soluzione è semplice: configurare un Webhook, creare un semplice listener serverless e, quando arrivano i dati di un nuovo utente, verificare se esiste già nella piattaforma di marketing. In caso contrario, aggiungerlo e avviare il percorso di benvenuto. L'hotel può anche utilizzare il campo del conteggio delle visite per distinguere i visitatori al primo accesso dagli ospiti abituali e personalizzare la comunicazione di conseguenza. Un ospite abituale potrebbe ricevere un'offerta premio fedeltà anziché un benvenuto generico. Consideriamo ora una catena di vendita al dettaglio nazionale con cinquanta negozi. Desidera una dashboard centrale che mostri le tendenze del traffico pedonale in tutti i punti vendita. In questo caso, il modello pull delle API REST è la scelta giusta. Uno script notturno interroga l'endpoint dei visitatori per ciascuna delle cinquanta sedi, aggrega i dati e li carica in un data warehouse. Il team di analisi crea quindi le proprie dashboard sulla base di questi dati. In questo modo è possibile vedere quali negozi presentano i tassi di nuovi visitatori più elevati, quali hanno i migliori rapporti di visitatori di ritorno e come i tempi di sosta si correlano con le prestazioni di vendita. Esaminiamo ora alcune trappole comuni e come evitarle. La prima trappola è la gestione dei eventi duplicati. La visita di un singolo ospite può attivare più eventi di autenticazione - ad esempio, se lo schermo del telefono si blocca e si riconnette, o se si sposta in roaming tra i vari access point. Il vostro listener deve essere idempotente. Prima di intraprendere un'azione come l'invio di un'email, verificate se avete già elaborato un evento per quell'utente in data odierna. La seconda trappola consiste nel non convalidare l'URL del listener prima di andare online. Purple richiede di convalidare l'endpoint nel portale prima che possa ricevere dati. Assicuratevi che il vostro listener sia attivo e restituisca l'intestazione wifiWebhookListener corretta prima di associarlo a un LogicFlow. La terza trappola è ignorare lo stato dell'abbonamento. Verificate sempre il campo unsubscribed prima di aggiungere un utente a una lista di marketing. L'invio di comunicazioni di marketing a qualcuno che ha negato il consenso è una violazione del GDPR con conseguenze significative. Passiamo ora a una sessione rapida di domande e risposte. Posso sincronizzare questi dati con il mio CRM personalizzato? Sì. Se il vostro CRM dispone di una API, potete utilizzare un listener Webhook come middleware per formattare i dati di Purple e inviarli al vostro sistema. Gli ID restituiti nel payload del Webhook corrispondono a quelli delle API REST, pertanto è anche possibile effettuare chiamate successive per ottenere ulteriori dettagli se necessario. Come posso gestire un utente che visita più punti vendita del mio gruppo? L'API fornisce il conteggio delle visite per ID della sede, in modo da poter tracciare facilmente il percorso di un cliente all'interno dell'intero gruppo e creare un profilo completo tra i diversi siti. C'è un limite al numero di URL Webhook che posso configurare? No. È possibile convalidare e utilizzare tutti gli URL del listener necessari, il che è utile se team o sistemi diversi devono ricevere gli stessi dati sugli eventi. Cosa succede se il mio listener va offline per manutenzione? Purple riproverà le consegne non riuscite, pertanto potresti ricevere un accumulo di eventi quando il tuo listener tornerà online. Il tuo listener deve gestire questa situazione in modo ottimale, elaborando eventi che potrebbero arrivare non in ordine cronologico. Per riassumere tutto ciò che abbiamo trattato oggi, la API del Purple Hub è la chiave per sbloccare l'immenso valore racchiuso nei dati del tuo WiFi per ospiti. Utilizza la REST API per estrarre i dati per reportistica e analisi. Utilizza i Webhook per inviare dati in tempo reale per un coinvolgimento immediato e personalizzato dei clienti. Ricorda il principio chiave: push per il tempo reale, pull per i report. Il tuo prossimo passo è esaminare la documentazione della API nel nostro portale di supporto. Se disponi di una licenza Engage, genera una chiave API e inizia a esplorare con Postman. Crea un semplice listener di Webhook. Guarda il flusso di dati entrare. Quello è il momento in cui il potenziale di questo strumento diventa cristallino. Grazie per aver ascoltato il Technical Briefing di Purple. Se desideri parlare con uno dei nostri solutions architect dei tuoi requisiti di integrazione specifici, visita purple dot ai e prenota una demo. Alla prossima.

Parte della nostra serie principale: Guida al Captive Portal →

Purple Portal API: Cosa Puoi Fare

Sintesi Esecutiva

Per i responsabili IT di sedi multi-sito - hotel, catene retail, stadi e centri congressi - la rete WiFi per gli ospiti è più di un semplice servizio di cortesia. È una fonte ricca e continuamente aggiornata di dati proprietari (first-party data) in grado di generare un impatto aziendale misurabile su marketing, operazioni e customer experience. L'API di Purple Hub fornisce l'interfaccia programmatica necessaria per sbloccare questo valore su scala. Consente ai team tecnici di andare oltre i cruscotti di analisi integrati e di creare integrazioni robuste e automatizzate che inseriscono dati sui visitatori conformi al GDPR direttamente nei sistemi aziendali principali, dalle piattaforme CRM e strumenti di marketing automation fino ai programmi fedeltà e ai data warehouse di business intelligence.

Questa guida è un riferimento pratico e operativo per architetti di soluzioni, responsabili IT e sviluppatori senior. Descrive in dettaglio il modello di autenticazione, gli endpoint disponibili, i modelli di integrazione e gli scenari di implementazione reali che dimostrano come l'API di Purple WiFi possa trasformare un'implementazione WiFi da un centro di costo a un asset di dati strategico. Sia che stiate valutando l'API per la prima volta o che stiate pianificando un'integrazione di livello enterprise, questo documento fornisce le basi tecniche e i framework decisionali necessari per procedere con sicurezza.

Approfondimento Tecnico

Autenticazione e Versionamento dell'API

L'API di Purple Hub utilizza l'autenticazione tramite API Key, un modello semplice e sicuro ideale per le integrazioni server-to-server. A differenza dei flussi OAuth 2.0, che richiedono cicli di scambio e aggiornamento dei token, l'autenticazione tramite API Key prevede l'inclusione di un segreto statico negli intestazioni della richiesta. Questa semplicità riduce l'overhead di integrazione senza compromettere la sicurezza, a condizione che la chiave venga memorizzata in modo sicuro e ruotata periodicamente come parte della normale politica di gestione delle credenziali.

La versione di produzione attuale è la v1.7, che ha introdotto diversi miglioramenti importanti rispetto alla v1.6.2. In particolare, la proprietà unsubscribed nell'oggetto dati utente distingue ora chiaramente tra un utente che ha revocato attivamente il consenso al marketing dopo essere stato precedentemente iscritto e un utente che non si è mai iscritto affatto. Questa distinzione è fondamentale per la conformità al GDPR e per un'accurata segmentazione del pubblico. Inoltre, gli endpoint Visitors e Venues restituiscono ora una risposta HTTP 200 OK quando non vengono trovati dati, anziché un 404 Not Found, che in precedenza causava confusione nelle logiche di monitoraggio e gestione degli errori.

Endpoint Disponibili

L'API di Portal Company espone tre categorie principali di endpoint con cui i team IT interagiranno regolarmente.

Endpoint Metodo Scopo
/visitors GET Recupera i profili dei visitatori ospiti, inclusi dati di contatto, dati demografici e cronologia delle visite
/venues GET Recupera i dati a livello di sede e i metadati di configurazione

Tutti gli endpoint restituiscono dati in formato JSON. L'endpoint visitors è quello utilizzato più comunemente, in quanto espone la ricchezza completa dei dati del profilo ospite raccolti durante il percorso di autenticazione del Captive Portal. Ciò include nome, cognome, indirizzo email, sesso, data di nascita, numero di cellulare, codice postale, provider di autenticazione (es. modulo di registrazione, login social), conteggio delle visite per sede e qualsiasi campo personalizzato configurato sulla splash page.

Limiti di frequenza (Rate Limits)

Un vantaggio architetturale chiave delle API di Purple Portal è che non ci sono limiti di frequenza. La piattaforma è progettata per supportare qualsiasi volume di richieste o transazioni, rendendola adatta a implementazioni su larga scala in cui gli script potrebbero dover elaborare migliaia di record di sedi o milioni di profili di visitatori. Ciò rimuove un vincolo comune che complica la progettazione dell'integrazione con altre piattaforme ed elimina la necessità di limitazione delle richieste o logica di back-off nel codice client.

Modelli di integrazione: Pull vs. Push

Le API di Purple WiFi supportano due modelli di integrazione fondamentalmente diversi, ciascuno adatto a casi d'uso differenti. Comprendere quale modello applicare in uno scenario specifico è la decisione architetturale più importante che prenderai.

Il modello di pull tramite REST API prevede che il tuo sistema effettui richieste su richiesta o pianificate agli endpoint API per recuperare i dati. Questo è l'approccio corretto per l'elaborazione batch, la reportistica e la business intelligence. Uno script ETL notturno che estrae tutti i dati dei visitatori dal giorno precedente e li carica in un data warehouse è un esempio canonico. Il modello pull ti offre il controllo completo su quando e quanti dati recuperare.

Il modello di push tramite Webhook prevede che Purple invii dati al tuo sistema nel momento in cui si verifica un evento specifico - nello specifico, quando un ospite si autentica sulla rete WiFi. Il tuo sistema deve esporre un endpoint HTTP accessibile pubblicamente e protetto da SSL (un "listener") in grado di ricevere ed elaborare questi payload JSON POST. Il modello Webhook è la scelta corretta per qualsiasi caso d'uso che richieda dati quasi in tempo reale, come l'invio di un messaggio di benvenuto personalizzato, l'aggiornamento dello stato "visto l'ultima volta" di un cliente in un CRM o la notifica a un hospitality manager dell'arrivo di un ospite VIP.

Purple Portal API: Cosa Puoi Fare - api architecture diagram

Struttura del payload del Webhook

Il payload JSON fornito da un Webhook di Purple è strutturato in quattro oggetti principali, ognuno dei quali fornisce una dimensione diversa di contesto per l'evento di autenticazione.

Oggetto Campi chiave Descrizione
client mac, userAgent Identificatori a livello di dispositivo
company id, name, uniqId Dettagli del tuo account aziendale
venue id, name, latitude, longitude La posizione specifica in cui è avvenuta l'autenticazione
session authenticationTime Timestamp ISO 8601 dell'evento di autenticazione
user email, firstName, lastName, gender, provider, visitCountForVenues, customFields Dati completi del profilo ospite

L'oggetto user.visitCountForVenues è particolarmente prezioso per i gestori di reti multi-sito. Fornisce un conteggio delle visite per singola sede, insieme ai timestamp firstVisit e lastVisit, consentendo di identificare i visitatori al primo accesso rispetto ai clienti fidelizzati che ritornano, direttamente al momento dell'autenticazione - senza alcuna chiamata API aggiuntiva.

Hai domande sulla tua configurazione specifica?

Il nostro team collabora con gestori di sedi, responsabili IT e ingegneri di rete in 80.000 sedi. Prenota una chiamata di 20 minuti e ti mostreremo come altri professionisti come te hanno risolto il problema.

Guida all'implementazione

Prerequisiti e configurazione

L'accesso alle API del portale richiede una licenza Engage. Una volta ottenuta la licenza, genera la tua chiave API all'interno delle impostazioni del portale Purple. Per lo sviluppo iniziale e i test, lo strumento consigliato è Postman; Purple fornisce una guida di configurazione dedicata per impostare le variabili d'ambiente e gli header di richiesta corretti. È disponibile anche un file demo in PHP per i team che preferiscono un punto di partenza basato su scripting lato server.

Configurazione di un'integrazione Webhook

La distribuzione di un'integrazione Webhook prevede cinque passaggi. Primo, crea e distribuisci il tuo endpoint listener su un URL accessibile pubblicamente e protetto da SSL. Una funzione serverless (AWS Lambda, Azure Functions o Google Cloud Functions) rappresenta una scelta architetturale eccellente: si adatta automaticamente, comporta costi minimi a bassi volumi e gestisce le richieste simultanee senza configurazione. Secondo, valida l'URL del listener nel portale Purple navigando su Gestione > Sedi > Webhook. Purple invierà una richiesta di test per confermare che l'endpoint sia raggiungibile e restituisca l'header richiesto wifiWebhookListener: 1. Terzo, crea o modifica un LogicFlow nel portale e aggiungi un nodo di azione Webhook, selezionando il tuo URL convalidato. Quarto, assicurati che lo stato del LogicFlow sia impostato su 'Online'. Quinto, associa il LogicFlow al relativo Percorso di Accesso. Da questo momento, ogni autenticazione ospite su quel percorso attiverà il tuo Webhook.

Gestione dei tentativi e idempotenza

Il tuo listener deve essere progettato per gestire le dinamiche tipiche dei sistemi distribuiti. Purple tenterà nuovamente l'invio di un Webhook fallito dopo tre ore se il tuo listener non risponde (timeout superiore a 10 secondi) o restituisce uno stato di errore. Ciò significa che il tuo listener potrebbe ricevere lo stesso evento più volte. Inoltre, una singola visita dell'ospite può generare più eventi di autenticazione - ad esempio, quando un dispositivo si riconnette dopo il blocco dello schermo, o quando un utente si sposta in roaming tra i punti di accesso. La tua logica di elaborazione deve quindi essere idempotente: l'applicazione dello stesso evento due volte deve produrre lo stesso risultato dell'applicazione singola. Un modello di implementazione comune consiste nel verificare se un'azione (come l'invio di un'e-mail di benvenuto) sia già stata eseguita per un determinato ID utente entro una finestra temporale definita prima di eseguirla.

Best Practice

Diversi principi dovrebbero guidare qualsiasi implementazione in produzione dell'API del Purple Portal. Implementa sempre l'integrazione con l'ultima versione dell'API (v1.7) e aggiorna i percorsi degli URL e la logica di analisi delle risposte al rilascio di nuove versioni. Tratta la tua API Key come una credenziale sensibile: memorizzala in un gestore di segreti (come AWS Secrets Manager o Azure Key Vault) anziché nel codice sorgente o nelle variabili di ambiente su sistemi condivisi. Per i listener di Webhook, implementa una registrazione strutturata di ogni payload e risposta in arrivo per facilitare il debug e i percorsi di controllo. Rispetta i campi unsubscribed e unsubscribedDate nell'oggetto utente; l'elaborazione di azioni di marketing verso utenti che hanno effettuato l'opt-out costituisce una violazione del GDPR. Infine, testa la tua integrazione con l'intera gamma di casi limite: utenti senza indirizzo email, utenti con campi personalizzati nulli ed eventi di autenticazione che arrivano fuori dall'ordine cronologico.

Purple Portal API: Cosa Puoi Fare - webhook integration infographic

Risoluzione dei problemi e mitigazione dei rischi

La modalità di errore più comune in un'integrazione Webhook è un listener lento o non disponibile. Se l'endpoint non risponde costantemente entro 10 secondi, Purple disabiliterà automaticamente il Webhook dopo un periodo prolungato di mancata risposta, richiedendo una nuova verifica manuale nel portale. Per mitigare questo rischio, implementa un endpoint di controllo dello stato (health check) sullo stesso server del tuo listener e includilo nel monitoraggio della tua infrastruttura. Assicurati che il tuo listener esegua solo un'elaborazione sincrona minima prima di restituire una risposta 200 OK; delega qualsiasi calcolo pesante o chiamata API a valle a una coda asincrona.

Per le integrazioni API REST, il rischio principale è l'obsolescenza dei dati nei sistemi a valle se il processo di pull pianificato fallisce in modo silenzioso. Implementa avvisi sui tuoi script ETL per informare il team operativo se un'esecuzione fallisce o non produce risultati in modo imprevisto. Quando esegui la migrazione dall'API v1.6.2 alla v1.7, controlla tutto il codice che fa riferimento al campo unsubscribed e all'endpoint Unsubscribes, poiché il nome della proprietà è stato corretto da unsubcribers a unsubscribers nella v1.7.

ROI e impatto aziendale

Il business case per l'integrazione con le Purple Portal API è ampiamente consolidato in molteplici settori verticali. Nel settore hospitality, gli hotel che utilizzano integrazioni CRM attivate tramite Webhook segnalano miglioramenti significativi nei tassi di apertura delle email per le comunicazioni personalizzate rispetto alle campagne broadcast generiche, poiché il messaggio viene recapitato nel momento di massima rilevanza - ovvero quando l'ospite si trova fisicamente in loco. Nel retail, il collegamento dei dati del WiFi per gli ospiti a un programma di fidelizzazione consente ai gestori di identificare e premiare i visitatori ad alta frequenza, aumentando la spesa media e i tassi di visite ripetute. Per le grandi arene pubbliche e i centri congressi, le analisi basate su API forniscono i dati granulari sull'affluenza necessari per giustificare le valutazioni delle sponsorizzazioni e ottimizzare il posizionamento dei punti di ristoro.

L'assenza di limiti di frequenza (rate limit) sulle Purple WiFi API significa che il costo dell'integrazione scala con la tua infrastruttura, non con il volume di dati elaborati. Per una catena di vendita al dettaglio nazionale che gestisce centinaia di migliaia di autenticazioni giornaliere, questo rappresenta un vantaggio concreto rispetto alle piattaforme che addebitano costi per singola chiamata API o che impongono tetti di larghezza di banda. Il costo totale di proprietà (TCO) per un'integrazione delle Purple API ben progettata è quindi costituito principalmente dal costo di sviluppo una tantum e dal costo infrastrutturale continuo del listener, entrambi generalmente recuperati entro il primo trimestre grazie al solo miglioramento dei tassi di conversione marketing.

Purple Portal API: Cosa Puoi Fare - retail integration usecase

Casi di Studio

Caso di Studio 1: Hospitality - Whitbread Group

Whitbread, la più grande azienda di hotel e ristoranti del Regno Unito, gestisce migliaia di punti di accesso WiFi per gli ospiti in tutto il suo patrimonio di Premier Inn e ristoranti. Integrando le Purple Portal API con la loro piattaforma CRM, il gruppo è stato in grado di creare un profilo ospite unificato che unisce i dati di prenotazione online con il comportamento di visita fisica rilevato sul Captive Portal WiFi. L'integrazione Webhook si attiva a ogni autenticazione dell'ospite, arricchendo il record CRM con il timestamp dell'ultima visita, la posizione della sede e le informazioni sul dispositivo. Ciò consente al team di marketing di segmentare i destinatari in base a recency, frequenza e posizione geografica, e di avviare campagne di re-engagement altamente personalizzate. Il principale risultato tecnico è stato la riduzione del tempo che intercorre tra l'arrivo di un ospite e il suo inserimento in un percorso di marketing attivo da 24 ore (con il precedente modello a polling periodico) a meno di 60 secondi.

Caso di Studio 2: Retail - Rivenditore di Moda Multi-Sito

Un rivenditore di moda nazionale con oltre 80 negozi ha implementato la Purple Portal API per colmare una lacuna critica nella propria strategia di dati sui clienti: disponeva di ottimi dati sull'e-commerce ma di pochissime informazioni sul comportamento dei visitatori in negozio. Collegando l'API di Purple per il guest WiFi al proprio data warehouse esistente tramite un processo ETL notturno, ha creato per la prima volta una vista cliente cross-channel. L'endpoint /visitors veniva interrogato ogni notte per ciascun negozio e i dati venivano uniti ai record delle transazioni e-commerce utilizzando l'indirizzo e-mail come chiave comune. Entro tre mesi, il team di analisi ha identificato che i clienti che si connettevano al WiFi in negozio registravano un valore medio dell'ordine superiore del 34% sul successivo acquisto online, fornendo un business case convincente per ulteriori investimenti nell'esperienza digitale in negozio. L'integrazione non ha richiesto modifiche all'infrastruttura di e-commerce esistente, a dimostrazione del basso livello di attrito del modello pull delle REST API.

Case Study 3: Eventi - Centro Congressi

Un importante centro congressi nel Regno Unito ha utilizzato la Purple Portal API per fornire per la prima volta agli sponsor dati verificati sull'affluenza. In precedenza, i report per gli sponsor si basavano sul conteggio manuale delle persone e sulla scansione dei badge, metodi che richiedevano un uso intensivo di manodopera ed erano imprecisi. Rendendo disponibili tramite API i conteggi dei visitatori aggregati e anonimizzati per zona (mappati sugli ID delle sedi nella piattaforma Purple), il team degli eventi ha potuto fornire agli sponsor dashboard in tempo reale che mostravano il tempo di permanenza e il volume dei visitatori nelle aree sponsorizzate. I dati venivano estratti tramite la REST API ogni 15 minuti durante gli eventi e visualizzati su un portale sponsor personalizzato. Questa funzionalità ha contribuito direttamente a un aumento del 22% dei tassi di rinnovo delle sponsorizzazioni nel primo anno, poiché gli sponsor potevano ora quantificare la portata delle loro attivazioni con dati di prima parte verificati.

Definizioni chiave

Webhook

Un meccanismo automatizzato in cui un server invia una notifica di dati in tempo reale (un push) a un'altra applicazione al verificarsi di un evento specifico, tramite una richiesta HTTP POST.

Nel contesto di Purple, un Webhook invia un payload JSON con i dati del visitatore al tuo sistema nel momento stesso in care un ospite si autentica sulla rete WiFi. Questo è fondamentale per il marketing in tempo reale e gli aggiornamenti del CRM.

REST API

Uno stile architetturale standardizzato per la creazione di servizi web che consente a un sistema di richiedere (o estrarre) dati da un altro utilizzando metodi HTTP standard come GET e POST.

I team IT utilizzano le REST API di Purple per scrivere script che estraggono dati aggregati di visitatori e sedi per l'analisi in strumenti di business intelligence come Power BI o Tableau.

Autenticazione tramite Chiave API

Un modello di sicurezza in cui l'accesso a un'API viene concesso fornendo un token segreto univoco (la chiave) con ogni richiesta, in genere nell'header HTTP Authorization.

Questo metodo è più semplice di OAuth e ideale per le integrazioni server-to-server. I tuoi script devono includere la chiave API valida negli header della richiesta per accedere ai dati di Purple.

Idempotenza

Proprietà di un'operazione per cui può essere applicata più volte senza modificare il risultato oltre l'applicazione iniziale.

Il tuo listener Webhook dovrebbe essere idempotente. Se riceve lo stesso evento di autenticazione due volte (il che può accadere a causa di tentativi ripetuti o riconnessioni del dispositivo), non dovrebbe, ad esempio, inviare due email di benvenuto.

JSON (JavaScript Object Notation)

Un formato leggero e basato su testo per l'interscambio di dati, facile da leggere per gli esseri umani e da analizzare e generare per le macchine.

L'API di Purple e i Webhook distribuiscono tutti i dati in formato JSON. La tua applicazione dovrà analizzare questo JSON per estrarre campi come email, nome e conteggio delle visite.

LogicFlow

Lo strumento visivo drag-and-drop di Purple per la creazione di flussi di lavoro automatizzati di marketing e coinvolgimento che possono attivare azioni in base al comportamento e ai dati demografici dei visitatori.

Utilizzi LogicFlow per definire il percorso dell'ospite. È qui che colleghi il tuo Webhook, indicando al sistema di attivarlo quando un utente raggiunge lo stato 'Online' del proprio percorso di accesso.

Captive Portal

La pagina web che un utente visualizza e con cui deve interagire prima di poter accedere a una rete WiFi pubblica, che in genere richiede l'autenticazione o l'acquisizione di dati.

La piattaforma Purple gestisce il Captive Portal e i dati inseriti dall'utente in questa pagina (es. nome, email, campi personalizzati) sono quelli che diventano disponibili tramite l'API del portale.

GDPR (General Data Protection Regulation)

Una legge completa sulla privacy dei dati nell'Unione Europea che disciplina la raccolta, il trattamento e la conservazione dei dati personali dei residenti nell'UE.

L'API di Purple fornisce gli strumenti per creare integrazioni conformi al GDPR, come il rispetto dello stato di disiscrizione di un utente e l'abilitazione dell'esportazione dei dati per le richieste di accesso dell'interessato. L'aggiornamento dell'API v1.7 ha migliorato specificamente la chiarezza del campo relativo alla disiscrizione per supportare la conformità.

ETL (Extract, Transform, Load)

Un processo di integrazione dei dati che prevede l'estrazione di dati da un sistema di origine, la loro trasformazione nel formato richiesto e il loro caricamento in un sistema di destinazione come un data warehouse.

Il modello di pull dell'API REST viene tipicamente implementato come un processo ETL, in cui i dati vengono estratti dall'endpoint /visitors di Purple, trasformati per corrispondere allo schema di destinazione e caricati in un CRM o in un data warehouse.

Esempi pratici

Un hotel da 200 camere desidera aggiungere automaticamente i nuovi utenti del WiFi ospiti al proprio percorso di Salesforce Marketing Cloud e inviare un'email di benvenuto.

  1. Nel Purple Portal, convalida un nuovo URL Webhook che punta a un endpoint sicuro (ad esempio, una funzione serverless su AWS Lambda). 2. Crea un LogicFlow "Online" che includa il nodo Webhook, configurato per utilizzare l'URL convalidato. 3. Assegna questo LogicFlow al percorso di accesso WiFi ospiti dell'hotel. 4. La funzione serverless riceve il payload JSON al momento dell'autenticazione dell'ospite, estrae l'email e il nome dell'utente ed effettua una chiamata API a Salesforce Marketing Cloud per aggiungere l'utente al percorso "Nuovo Ospite". 5. La funzione restituisce una risposta 200 OK a Purple entro la finestra di timeout di 10 secondi.
Commento dell'esaminatore: Questa soluzione utilizza correttamente il modello Webhook in tempo reale, ideale per azioni immediate come l'invio di un'email di benvenuto. L'uso di una funzione serverless è un modo economico e scalabile per ospitare l'endpoint listener. Un'alternativa sarebbe quella di interrogare l'endpoint API /visitors, ma questo introdurrebbe un ritardo fino a 24 ore e sarebbe significativamente meno efficiente per un requisito in tempo reale.

Una catena retail con 50 negozi desidera creare un cruscotto centrale in Power BI per analizzare le tendenze dei visitatori in tutte le sedi.

  1. Crea uno script (ad esempio, in Python) da eseguire con pianificazione notturna. 2. Lo script si autentica alle API di Purple Portal utilizzando la chiave API dell'azienda. 3. Esegue un ciclo attraverso ciascuno dei 50 ID sede, effettuando una chiamata all'endpoint /visitors per ognuno di essi per recuperare tutti i dati dei visitatori del giorno precedente. 4. Lo script trasforma e carica questi dati in un data warehouse centrale (ad esempio, Azure SQL o BigQuery). 5. Power BI viene collegato al data warehouse per creare il cruscotto di analisi cross-sede.
Commento dell'esaminatore: Questo è un classico processo ETL (Extract, Transform, Load) ed è l'uso corretto del modello di polling delle REST API. È adatto per l'aggregazione di dati su larga scala non in tempo reale per la business intelligence. L'uso di un data warehouse centrale è una best practice per le prestazioni e la scalabilità quando si gestiscono dati provenienti da più fonti. L'assenza di limiti di frequenza sulle API di Purple consente allo script di elaborare tutte e 50 le sedi senza problemi di limitazione.

Domande di esercitazione

Q1. Un impianto sportivo vuole identificare i possessori di abbonamenti VIP quando si connettono al WiFi e inviare una notifica alla dashboard del responsabile dell'ospitalità più vicino. Quale modello di integrazione dovrebbero utilizzare e perché?

Suggerimento: Considera la velocità richiesta per la notifica e se l'azione è attivata da un evento.

Visualizza risposta modello

Dovrebbero utilizzare il modello Webhook (push). Si tratta di un requisito in tempo reale: quando il VIP si connette, un Webhook si attiva immediatamente verso un servizio che cerca l'email o l'indirizzo MAC dell'utente nel database degli abbonati. Se viene trovata una corrispondenza, invia una notifica alla dashboard di ospitalità pertinente. Un modello di API REST (pull) sarebbe troppo lento, poiché si basa su un polling periodico e potrebbe introdurre ritardi di minuti o ore.

Q2. Hai il compito di creare un report giornaliero dei 10 locali più visitati della tua catena nazionale di caffetterie. Come faresti a recuperare i dati necessari da Purple?

Suggerimento: Si tratta di un requisito di reporting in tempo reale o batch? Quale endpoint interrogheresti?

Visualizza risposta modello

Si tratta di un'attività di reporting in batch, quindi il modello API REST (pull) è appropriato. Uno script pianificato verrebbe eseguito quotidianamente, interrogherebbe l'endpoint /visitors per ciascun locale, aggregherebbe i conteggi delle visite per il giorno precedente e quindi calcolerebbe i primi 10. Non è necessaria la notifica quasi istantanea fornita dai Webhook. L'assenza di limiti di frequenza consente di interrogare tutti i locali in un'unica esecuzione dello script senza problemi di throttling.

Q3. L'endpoint del tuo listener di Webhook sta fallendo. Controlli i log e noti un errore di timeout. Qual è la causa più probabile secondo la documentazione di Purple e quali sono le due conseguenze immediate?

Suggerimento: Pensa ai requisiti di prestazioni di un listener e a cosa fa Purple quando non può consegnare un payload.

Visualizza risposta modello

La causa più probabile è che il listener impieghi più di 10 secondi per elaborare il payload JSON in entrata e restituire una risposta 200 OK. Le due conseguenze immediate sono: (1) Purple smetterà di tentare l'invio della richiesta corrente e la reinserirà in coda per un nuovo tentativo dopo 3 ore, con conseguente ritardo nella consegna dei dati; e (2) se questa situazione persiste per un periodo prolungato, Purple disabiliterà automaticamente il Webhook per intero, richiedendo una nuova verifica manuale nel portale prima di poterlo riattivare.

Hai domande sulla tua configurazione specifica?

Il nostro team collabora con gestori di sedi, responsabili IT e ingegneri di rete in 80.000 sedi. Prenota una chiamata di 20 minuti e ti mostreremo come altri professionisti come te hanno risolto il problema.