Uno strumento di dashboarding con le API di Bird
·
24 mar 2022

Punti Chiave
Le API di Bird possono essere combinate con Python e Plotly Dash per costruire dashboard potenti e interattive senza bisogno dell'interfaccia utente completa di Bird.
Il progetto dimostra come visualizzare metriche ed eventi utilizzando l'API delle metriche di Bird e l'API degli eventi all'interno di un'app web personalizzata.
Plotly Dash fornisce un framework rapido e open-source per costruire elementi UI come menu a discesa, grafici e tabelle.
Gli sviluppatori possono estendere lo strumento con analisi di deliverability, filtri e paginazione per dashboard più ricche.
I futuri miglioramenti includono caching, interfaccia utente migliorata e integrazione con altri prodotti Bird o API di terze parti.
Il codice sorgente (disponibile su GitHub) offre un forte punto di partenza per chiunque voglia costruire dashboard alimentate da Bird o portali per i clienti.
Punti salienti del Q&A
Qual è l'obiettivo di questo progetto di dashboard?
Dimostra come gli sviluppatori possono utilizzare le API di Bird con Python e Plotly Dash per creare dashboard basate sui dati che visualizzano le metriche delle campagne e gli eventi recenti.
Perché utilizzare Plotly Dash per le API degli uccelli?
Dash è open source, facile da personalizzare e ideale per creare interfacce utente interattive senza richiedere competenze di front-end.
Cosa mostra il pannello di controllo?
Visualizza le metriche delle serie temporali dall'API di Metrics di Bird e i dati sugli eventi recenti dall'API degli eventi, con opzioni per filtrare e selezionare metriche su intervalli di tempo personalizzati.
Come può essere ulteriormente ampliato lo strumento?
Aggiungendo analisi di deliverabilità, filtri avanzati, caching dei dati e paginazione per grandi set di dati per migliorare le prestazioni e l'usabilità.
Quali competenze o strumenti sono necessari per gestirlo?
Conoscenze di base di Python e installazione di requests, dash e pandas. È necessaria una chiave API di Bird per estrarre i dati.
Come si inserisce questo progetto nell'ecosistema di Bird?
Illustra come le API aperte di Bird possono essere sfruttate per creare dashboard personalizzate e strumenti di reporting per team o clienti senza accesso all'intera piattaforma.
Questo script tocca solo la superficie di ciò che è possibile utilizzare Python, Plotly Dash e le nostre API.
API di Bird Metrics + Dashboarding con Python
Quasi un anno fa, Tom Mairs, direttore del successo clienti di Bird, ha scritto uno strumento di mailer utilizzando le API di Bird. In questo post, riprendo da dove aveva lasciato. Il suo strumento consente la trasmissione temporizzata di lavori, ma cosa succede se vogliamo creare i nostri dashboard e registri eventi?
Forse voglio creare un dashboard specifico per un gruppo aziendale o un dashboard rivolto ai clienti, ma non fornire agli utenti accesso completo all'interfaccia utente di Bird. Questo script tocca solo la superficie di ciò che è possibile utilizzare Python, Plotly Dash, e le nostre API. Quando si costruiscono dashboard che elaborano dati API ad alto volume, è importante essere consapevoli che componenti infrastrutturali come il DNS possono diventare colli di bottiglia - abbiamo sperimentato sfide di scalabilità DNS su AWS che hanno influenzato le nostre capacità di elaborazione dei dati. Per gli appassionati di flussi di lavoro visivi, puoi anche esplorare l'integrazione di Flow Builder con Google Cloud Functions e Vision API per aggiungere automazione potenziata dall'IA alle tue pipeline di elaborazione dei dati.
Quando ho iniziato la mia ricerca online, volevo trovare il percorso di minor resistenza. Avrei potuto creare tutti gli dashboard e l'UI da solo in HTML e python, tuttavia, dopo alcune ricerche su Google, ho trovato Dash di Plotly, che si integra facilmente con python. Ho scelto Dash per 2 motivi: 1) è open source, e 2) dopo aver letto la documentazione sembrava facilmente personalizzabile per ciò che stavo cercando di fare. Dash è una libreria open-source che è ideale per costruire e distribuire app di dati con interfacce utente personalizzate. Questo ha reso la creazione di un'interfaccia utente estremamente semplice. La domanda è quindi diventata, quanto complesso volevo rendere quest'app? Più tempo spendevo, più funzionalità volevo aggiungere.
Per il progetto iniziale, volevo assicurarmi di avere un dashboard con metriche personalizzabili e un intervallo di tempo selezionabile. Inizialmente, ho iniziato con un dashboard in cui potevi scegliere solo una metrica dal menu a discesa. Poi, mentre ricevevo feedback dai colleghi, ho affinato un po' il dashboard per aggiungere la selezione multipla e i titoli degli assi. Ho anche deciso di aggiungere una scheda aggiuntiva per un registro eventi. Sono arrivato al punto in cui ero soddisfatto di avere un buon punto di partenza per chiunque desiderasse costruire i propri dashboard. Per gli sviluppatori che vogliono alimentare dati webhook in tempo reale nei loro dashboard, dai un'occhiata alla nostra guida su come costruire consumatori webhook con Azure Functions. Naturalmente, ho messo il progetto su Github per te da clonare o ramificare.
Iniziare
Per accedere a questa app, devi assicurarti di eseguire python 3.10 o superiore e installare le seguenti librerie:
Libri Python | Scopo |
|---|---|
requests | Comunicazione API con i servizi di Bird |
dash | Rendering UI e dashboard |
pandas | Elaborazione dei dati e generazione di tabelle |
Quindi, inserisci la tua chiave API in App.py e avvia l'app. Essa verrà eseguita su http://localhost:8050. Per ulteriori informazioni su come distribuirlo su un server accessibile al pubblico (come AWS), consulta le seguenti risorse:
Creando la pagina del cruscotto
Creazione della pagina dei dettagli dell'evento
Prossimi passi
Per qualcuno che cerca di creare il proprio dashboard o registro eventi, questo è un buon inizio. Con la personalizzazione qui, il cielo è il limite.
Come discusso sopra, alcuni miglioramenti futuri che potrebbero essere apportati sono:
Aggiungere analisi della deliverability al dashboard
Aggiungere più filtri al dashboard
Possibili opzioni di caching in modo che l'API non venga chiamata ogni volta per visualizzare le pagine
Miglioramenti dell'interfaccia utente
Aggiungere filtri e paginazione alla pagina dei dettagli degli eventi
Sarei interessato a ascoltare eventuali feedback o suggerimenti per espandere questo progetto.
~ Zach Samuels, Bird Senior Solutions Engineer





