Una herramienta de paneles de control con APIs de pájaros
Correo electrónico
·
24 mar 2022

Puntos clave
Las APIs de Bird se pueden combinar con Python and Plotly Dash para construir dashboards interactivos y potentes sin necesidad de la interfaz completa de Bird.
El proyecto demuestra cómo visualizar métricas y eventos utilizando las APIs de Métricas y Eventos de Bird dentro de una aplicación web personalizada.
Plotly Dash proporciona un marco de código abierto rápido para construir elementos de interfaz de usuario como menús desplegables, gráficos y tablas.
Los desarrolladores pueden extender la herramienta con analíticas de entregabilidad, filtrado y paginación para dashboards más completos.
Las mejoras futuras incluyen almacenamiento en caché, una mejorada interfaz de usuario e integración con otros productos de Bird o APIs de terceros.
La base de código (disponible en GitHub) ofrece un inicio sólido para cualquiera que desee construir dashboards alimentados por Bird o portales orientados al cliente.
Destacados de Q&A
¿Cuál es el objetivo de este proyecto de dashboarding?
Demuestra cómo los desarrolladores pueden usar las API de Bird con Python y Plotly Dash para crear paneles de control basados en datos que visualizan métricas de campaña y eventos recientes.
¿Por qué usar Plotly Dash para Bird APIs?
Dash es de código abierto, fácil de personalizar, e ideal para crear interfaces de usuario interactivas sin requerir experiencia en front-end.
¿Qué muestra el dashboard?
Visualiza métricas de series temporales desde la API de Métricas de Bird y datos de eventos recientes de la API de Eventos, con opciones para filtrar y seleccionar métricas en intervalos de tiempo personalizados.
¿Cómo se puede expandir aún más la herramienta?
Al agregar análisis de entregabilidad, filtros avanzados, almacenamiento en caché de datos y paginación para grandes conjuntos de datos para mejorar el rendimiento y la usabilidad.
¿Qué habilidades o herramientas se requieren para ejecutarlo?
Conocimiento básico de Python e instalación de requests, dash y pandas. Se requiere una clave API de Bird para extraer datos.
¿Cómo encaja este proyecto en el ecosistema de Bird?
Ilustra cómo se pueden aprovechar las API abiertas de Bird para crear paneles personalizados y herramientas de informes para equipos o clientes sin acceso a la plataforma completa.
Este script solo roza la superficie de lo que es posible utilizando Python, Plotly Dash y nuestras API.
Bird Metrics API + Dashboarding con Python
Hace casi un año, Tom Mairs, director de éxito del cliente de Bird, escribió una herramienta de correo utilizando Bird APIs. En este post, retomo el trabajo donde lo dejó. Su herramienta permite la transmisión programada de trabajos, pero ¿qué pasa si queremos crear nuestros propios tableros y registros de eventos?
Quizás quiera crear un tablero específico para un grupo empresarial o un tablero orientado al cliente, pero no proporcionar a los usuarios acceso completo a la interfaz de usuario de Bird. Este script apenas toca la superficie de lo que es posible utilizando Python, Plotly Dash y nuestros APIs. Al construir tableros que procesan datos de API de alto volumen, tenga en cuenta que los componentes de infraestructura como DNS pueden convertirse en cuellos de botella - hemos experimentado desafíos de escalamiento DNS de AWS que afectaron nuestras capacidades de procesamiento de datos. Para los entusiastas del flujo visual, también puede explorar la integración de Flow Builder con Google Cloud Functions y Vision API para añadir automatización impulsada por IA a sus canales de procesamiento de datos.
Cuando comencé mi búsqueda en línea, quería encontrar el camino con menos resistencia. Podría haber creado todos los tableros y la interfaz de usuario yo mismo en HTML y Python, sin embargo, después de algunas búsquedas en Google, me encontré con Plotly’s Dash, que se integra fácilmente con Python. Elegí Dash por 2 razones: 1) es de código abierto, y 2) después de leer la documentación, parecía fácilmente personalizable para lo que estaba tratando de hacer. Dash es una biblioteca de código abierto que es ideal para construir e implementar aplicaciones de datos con interfaces de usuario personalizadas. Esto hizo que la creación de una interfaz de usuario fuera extremadamente sencilla. La pregunta entonces se convirtió en, ¿qué tan complejo quería hacer esta aplicación? Cuanto más tiempo pasaba, más funciones quería añadir.
Para el proyecto inicial, quería asegurarme de tener un tablero con métricas personalizables y un marco de tiempo seleccionable. Inicialmente, comencé con un tablero donde solo podía elegir una métrica del menú desplegable. Luego, al recibir comentarios de colegas, afiné un poco el tablero para añadir selección múltiple y títulos de eje. También decidí añadir una pestaña adicional para un registro de eventos. Llegué al punto en que estaba satisfecho con lo que tenía como un buen punto de partida para cualquiera que desee construir sus propios tableros. Para los desarrolladores que quieren integrar datos de webhooks en tiempo real en sus tableros, consulte nuestra guía sobre cómo construir consumidores de webhook con Azure Functions. Por supuesto, puse el proyecto en Github para que lo clonen o desarrollen ramas.
Introducción
Para acceder a esta app, necesitarás asegurarte de que estés ejecutando python 3.10 o superior e instalar las siguientes bibliotecas:
Biblioteca de Python | Propósito |
|---|---|
requests | Comunicación API con servicios de Bird |
dash | Renderización de UI y panel de control |
pandas | Procesamiento de datos y generación de tablas |
Luego, introduce tu clave API en App.py y ejecuta la app. Funcionará en http://localhost:8050. Para más información sobre cómo desplegar esto en un servidor público (como AWS), consulta los siguientes recursos:
Creando la página del Dashboard
Creando la Event Details Page
Siguientes pasos
Para alguien que busca crear su propio panel de control o registro de eventos, este es un buen comienzo. Con la personalización aquí, el cielo es el límite.
Como se discutió anteriormente, algunas mejoras futuras que podrían realizarse son:
Agregar análisis de entregabilidad al panel de control
Agregar más filtros al panel de control
Opciones de caché posibles para que el API no se llame cada vez para mostrar las páginas
Mejoras de la IU
Agregar filtrado y paginación a la página de detalles del evento
Me interesaría recibir cualquier comentario o sugerencias para expandir este proyecto.
~ Zach Samuels, Bird Senior Solutions Engineer





