Un outil de tableau de bord avec les API d'oiseaux
·
24 mars 2022

Points Clés
Les APIs Bird peuvent être combinées avec Python et Plotly Dash pour créer des tableaux de bord puissants et interactifs sans avoir besoin de l'interface complète de Bird.
Le projet démontre comment visualiser les métriques et événements en utilisant l’API des métriques et l’API des événements de Bird au sein d'une application web personnalisée.
Plotly Dash fournit un cadre open-source rapide pour construire des éléments d'interface utilisateur comme des listes déroulantes, des graphiques et des tableaux.
Les développeurs peuvent étendre l'outil avec des analyses de délivrabilité, un filtrage et une pagination pour des tableaux de bord plus riches.
Les améliorations futures comprennent la mise en cache, une interface utilisateur améliorée, et l'intégration avec d'autres produits Bird ou des APIs tierces.
La base de code (disponible sur GitHub) offre un bon point de départ pour quiconque souhaite construire des tableaux de bord alimentés par Bird ou des portails destinés aux clients.
Points forts des Q&A
Quel est l'objectif de ce projet de dashboarding ?
Il démontre comment les développeurs peuvent utiliser les API de Bird avec Python et Plotly Dash pour créer des tableaux de bord axés sur les données qui visualisent les métriques de campagne et les événements récents.
Pourquoi utiliser Plotly Dash pour les Bird APIs ?
Dash est open source, facile à personnaliser, et idéal pour créer des interfaces utilisateur interactives sans nécessiter d'expertise en développement front-end.
Que montre le tableau de bord ?
Il visualise les métriques de séries chronologiques de l'API des métriques de Bird et les données d'événements récents de l'API des événements, avec des options pour filtrer et sélectionner des métriques sur des plages de temps personnalisées.
Comment peut l'outil être étendu davantage ?
En ajoutant des analyses de délivrabilité, des filtres avancés, la mise en cache de données et la pagination pour les grands ensembles de données afin d'améliorer les performances et l'utilisation.
Quelles compétences ou outils sont nécessaires pour le faire fonctionner ?
Connaissances de base en Python et installation de requests, dash et pandas. Une clé API de Bird est nécessaire pour extraire des données.
Comment ce projet s'intègre-t-il dans l'écosystème de Bird ?
Il illustre comment les API ouvertes de Bird peuvent être utilisées pour créer des tableaux de bord personnalisés et des outils de reporting pour les équipes ou les clients sans accès à la plateforme complète.
Ce script effleure à peine la surface de ce qui est possible en utilisant Python, Plotly Dash et nos API.
Bird Metrics API + Tableau de bord avec Python
Il y a presque un an, Tom Mairs, directeur du succès client de Bird, a créé un outil de mailing utilisant les APIs de Bird. Dans cet article, je reprends là où il s'est arrêté. Son outil permet la transmission programmée de tâches, mais que faire si nous voulons créer nos propres tableaux de bord et journaux d'événements ?
Peut-être que je veux créer un tableau de bord spécifique pour un groupe d'affaires ou un tableau de bord orienté client, mais ne pas fournir aux utilisateurs un accès complet à l'interface utilisateur de Bird. Ce script ne fait qu'effleurer les possibilités d'utilisation de Python, Plotly Dash et nos APIs. Lors de la création de tableaux de bord traitant des données API à haut volume, sachez que les composants d'infrastructure comme le DNS peuvent devenir des goulots d'étranglement - nous avons rencontré des problèmes de mise à l'échelle DNS avec AWS qui ont affecté nos capacités de traitement des données. Pour les passionnés de flux de travail visuel, vous pouvez également explorer l'intégration de Flow Builder avec Google Cloud Functions et Vision API pour ajouter de l'automatisation IA à vos pipelines de traitement de données.
Alors que je commençais mes recherches en ligne, je voulais trouver le chemin de moindre résistance. J'aurais pu créer tous les tableaux de bord et l'interface utilisateur moi-même en HTML et Python, cependant, après quelques recherches sur Google, je suis tombé sur Plotly’s Dash, qui s'intègre facilement avec Python. J'ai choisi Dash pour deux raisons : 1) c'est open source, et 2) après avoir lu la documentation, il semblait facilement personnalisable pour ce que je voulais faire. Dash est une bibliothèque open source idéale pour construire et déployer des applications de données avec des interfaces utilisateur personnalisées. Cela a rendu la création d'une interface utilisateur extrêmement simple. La question est alors devenue, à quel point je voulais complexifier cette application ? Plus je passais de temps, plus je voulais ajouter de fonctionnalités.
Pour le projet initial, je voulais m'assurer d'avoir un tableau de bord avec des métriques personnalisables et une plage de temps sélectionnable. Initialement, j'ai commencé avec un tableau de bord où vous ne pouviez choisir qu'un seul indicateur dans le menu déroulant. Ensuite, en recevant les retours de mes collègues, j'ai amélioré le tableau de bord pour ajouter la multi-sélection et les titres des axes. J'ai également décidé d'ajouter un onglet supplémentaire pour un journal des événements. Je suis arrivé à un point où j'étais satisfait de ce que j'avais comme bon point de départ pour quiconque souhaitant créer ses propres tableaux de bord. Pour les développeurs qui souhaitent intégrer des données de webhook en temps réel dans leurs tableaux de bord, consultez notre guide sur la création de consommateurs de webhook avec Azure Functions. Bien sûr, j'ai mis le projet sur Github pour que vous puissiez le cloner ou en faire une branche.
Commencer
Pour accéder à cette app, vous devez vous assurer que vous utilisez Python 3.10 ou une version supérieure et installer les bibliothèques suivantes :
Bibliothèque Python | But |
|---|---|
requests | Communication API avec les services Bird |
dash | Rendu de l'UI et du tableau de bord |
pandas | Traitement des données et génération de tableaux |
Ensuite, entrez votre clé API dans App.py et exécutez l'app. Elle fonctionnera sur http://localhost:8050. Pour plus d'informations sur le déploiement sur un serveur accessible au public (comme AWS), consultez les ressources suivantes :
Creating the Dashboard Page
Créer la Page des Détails de l'Événement
Étapes suivantes
Pour quelqu'un cherchant à créer son propre tableau de bord ou journal d'événements, c'est un bon début. Avec la personnalisation ici, le ciel est la limite.
Comme discuté ci-dessus, certaines améliorations futures qui pourraient être faites sont :
Ajouter des analyses de délivrabilité au tableau de bord
Ajouter plus de filtres au tableau de bord
Options de mise en cache possible pour que l'API ne soit pas appelée à chaque fois pour afficher les pages
Améliorations de l'UI
Ajout de filtres et de pagination à la page de détails des événements
Je serais intéressé par recueillir tout retour ou toute suggestion pour étendre ce projet.
~ Zach Samuels, Bird Senior Solutions Engineer





