Ein Dashboarding-Tool mit Bird APIs
·

Wichtige Erkenntnisse
Bird APIs können mit Python und Plotly Dash kombiniert werden, um leistungsstarke, interaktive Dashboards zu erstellen, ohne die vollständige Bird UI zu benötigen.
Das Projekt zeigt, wie man Metriken und Ereignisse visualisieren kann, indem man Bird’s Metrics API und Events API in einer benutzerdefinierten Webanwendung verwendet.
Plotly Dash bietet ein schnelles, quelloffenes Framework zum Erstellen von UI-Elementen wie Dropdown-Menüs, Diagrammen und Tabellen.
Entwickler können das Tool mit Zustellbarkeitsanalysen, Filterung und Paginierung für reichhaltigere Dashboards erweitern.
Zukünftige Verbesserungen beinhalten Caching, verbesserte UI und die Integration mit anderen Bird-Produkten oder Drittanbieter-APIs.
Der Code (verfügbar auf GitHub) bietet einen soliden Ausgangspunkt für alle, die Bird-gestützte Dashboards oder kundenorientierte Portale erstellen möchten.
Q&A Highlights
Was ist das Ziel dieses Dashboarding-Projekts?
Es zeigt, wie Entwickler Bird APIs mit Python und Plotly Dash verwenden können, um datengesteuerte Dashboards zu erstellen, die Kampagnenmetriken und aktuelle Ereignisse visualisieren.
Warum Plotly Dash für Bird APIs verwenden?
Dash ist Open Source, einfach zu individualisieren und ideal für die Erstellung interaktiver Benutzeroberflächen, ohne dass Front-End-Expertise erforderlich ist.
Was zeigt das Dashboard an?
Es visualisiert Zeitreihenmetriken aus der Bird’s Metrics API und aktuelle Ereignisdaten aus der Events API, mit Optionen zum Filtern und Auswählen von Metriken über benutzerdefinierte Zeitbereiche.
Wie kann das Tool weiter ausgebaut werden?
Durch das Hinzufügen von Zustellbarkeitsanalysen, erweiterten Filtern, Daten-Caching und Paginierung für große Datensätze zur Verbesserung der Leistung und Benutzerfreundlichkeit.
Welche Fähigkeiten oder Werkzeuge sind erforderlich, um es zu betreiben?
Grundkenntnisse in Python und Installation von requests, dash und pandas. Ein API-Schlüssel von Bird ist erforderlich, um Daten abzurufen.
Wie passt dieses Projekt in Birds Ökosystem?
Es zeigt, wie Birds offene APIs genutzt werden können, um benutzerdefinierte Dashboards und Berichtswerkzeuge für Teams oder Kunden zu erstellen, die keinen Zugang zur vollständigen Plattform haben.
Dieses Skript kratzt nur an der Oberfläche dessen, was mit Python, Plotly Dash und unseren APIs möglich ist.
Bird Metrics API + Dashboarding mit Python
Vor fast einem Jahr schrieb Tom Mairs, Birds Direktor für Kundenerfolg, ein Mailing-Tool unter Verwendung von Bird APIs. In diesem Beitrag knüpfe ich dort an, wo er aufgehört hat. Sein Tool ermöglicht die zeitgesteuerte Übertragung von Jobs, aber was ist, wenn wir unsere eigenen Dashboards und Ereignisprotokolle erstellen möchten?
Vielleicht möchte ich ein spezifisches Dashboard für eine Unternehmensgruppe oder ein kundenorientiertes Dashboard erstellen, aber den Benutzern nicht den vollständigen Zugriff auf die Bird UI gewähren. Dieses Skript berührt nur die Oberfläche dessen, was mit Python, Plotly Dash und unseren APIs möglich ist. Beim Erstellen von Dashboards, die API-Daten in hoher Menge verarbeiten, sei sich bewusst, dass Infrastrukturkomponenten wie DNS zu Engpässen werden können - wir haben AWS DNS Skalierungsherausforderungen erlebt, die unsere Datenverarbeitungskapazitäten beeinträchtigten. Für visuelle Workflow-Enthusiasten können Sie auch Flow Builder mit Google Cloud Functions und Vision API integrieren, um KI-gesteuerte Automatisierung zu Ihren Datenverarbeitungspipelines hinzuzufügen.
Als ich online zu suchen begann, wollte ich den Weg des geringsten Widerstands finden. Ich hätte alle Dashboards und die UI selbst in HTML und Python erstellen können, jedoch bin ich nach einigen Google-Suchen auf Plotly’s Dash gestoßen, das sich leicht mit Python integriert. Ich habe Dash aus 2 Gründen gewählt: 1) es ist Open Source und 2) nach dem Lesen der Dokumentation schien es sich leicht anpassen zu lassen für das, was ich versuchen wollte zu tun. Dash ist eine Open-Source-Bibliothek, die ideal ist für das Erstellen und Bereitstellen von Daten-Apps mit individuell gestalteten Benutzeroberflächen. Dadurch wurde das Erstellen einer UI extrem einfach. Die Frage wurde dann, wie komplex ich diese App gestalten wollte. Je mehr Zeit ich investierte, desto mehr Funktionen wollte ich hinzufügen.
Für das Initialprojekt wollte ich sicherstellen, dass ich ein Dashboard mit anpassbaren Metriken und einem auswählbaren Zeitrahmen hatte. Zunächst begann ich mit einem Dashboard, bei dem man nur eine Metrik aus dem Dropdown auswählen konnte. Dann, als ich Feedback von Kollegen erhielt, habe ich das Dashboard ein wenig verfeinert, um Multi-Select und Achsentitel hinzuzufügen. Ich habe mich auch entschieden, eine zusätzliche Registerkarte für ein Ereignisprotokoll hinzuzufügen. Ich kam an den Punkt, an dem ich zufrieden war mit dem, was ich als guten Ausgangspunkt für alle hatte, die ihre eigenen Dashboards erstellen möchten. Für Entwickler, die Echtzeit-Webhook-Daten in ihre Dashboards einspeisen möchten, werfen Sie einen Blick auf unseren Leitfaden zum Erstellen von Webhook-Konsumenten mit Azure Functions. Natürlich habe ich das Projekt in Github gestellt, damit Sie es klonen oder verzweigen können.
Erste Schritte
Um auf diese App zuzugreifen, müssen Sie sicherstellen, dass Sie Python 3.10 oder neuer ausführen und die folgenden Bibliotheken installieren:
Python-Bibliothek | Zweck |
|---|---|
requests | API-Kommunikation mit Bird-Diensten |
dash | UI und Dashboard-Rendering |
pandas | Datenverarbeitung und Tabellenerstellung |
Geben Sie dann Ihren API-Schlüssel in App.py ein und führen Sie die App aus. Sie wird unter http://localhost:8050 laufen. Für weitere Informationen zum Bereitstellen auf einem öffentlich zugänglichen Server (wie AWS), siehe die folgenden Ressourcen:
Erstellen der Dashboard Page
Creating the Event Details Seite
Nächste Schritte
Für jemanden, der sein eigenes Dashboard oder Ereignisprotokoll erstellen möchte, ist dies ein guter Anfang. Mit den Anpassungsmöglichkeiten hier ist der Himmel die Grenze.
Wie oben besprochen, könnten einige zukünftige Verbesserungen wie folgt aussehen:
Hinzufügen von Zustellungsanalysen zum Dashboard
Hinzufügen weiterer Filter zum Dashboard
Mögliche Caching-Optionen, damit die API nicht jedes Mal aufgerufen wird, um die Seiten anzuzeigen
UI-Verbesserungen
Hinzufügen von Filter- und Paginierungsmöglichkeiten zur Detailseite des Ereignisses
Ich wäre an jedem Feedback oder Vorschlägen zur Erweiterung dieses Projekts interessiert.
~ Zach Samuels, Bird Senior Solutions Engineer





