Sobre el proyecto

Laravel Metrics Plausible es una biblioteca de PHP que envuelve la API v2 de Plausible Analytics Stats, proporcionando una interfaz fluida y nativa de Laravel para recuperar y gestionar datos analíticos. Características principales - Recuperar totales agregados (visitantes, páginas vistas, tasa de rebote, etc.) - Consultar datos de series temporales con rangos de fechas y dimensiones personalizadas (por hora, día, mes) - Obtener desgloses por páginas, páginas de entrada/salida, fuentes, canales, parámetros UTM, países, regiones, ciudades, dispositivos, navegadores y sistemas operativos - Acceder a conversiones de objetivos, eventos personalizados y conteo de visitantes en tiempo real - Gestionar sitios y objetivos de Plausible (listar, crear, eliminar) - Construir consultas personalizadas mediante un generador de consultas que refleja la carga útil de la API - Maneja la autenticación, límites de tasa y errores genéricos de la API con excepciones específicas - Funciona tanto con Plausible Cloud como con la edición comunitaria autohospedada - Configuración almacenada en la base de datos mediante spatie/laravel-settings, eliminando la necesidad de archivos de configuración Instalación 1. Añadir el paquete: composer require jeffersongoncalves/laravel-metrics-plausible 2. Ejecutar migraciones para crear la tabla de configuración: php artisan migrate Configuración Tras la migración, las variables de entorno alimentan la configuración: PLAUSIBLE_API_KEY – Clave de API desde Plausible Settings → API Keys PLAUSIBLE_SITE_ID – Dominio del sitio (ej. example.com) PLAUSIBLE_BASE_URL – URL base de Plausible (por defecto https://plausible.io, cambiar para autohospedado) Las configuraciones también pueden actualizarse mediante programación a través de la clase PlausibleSettings. Resumen de uso Todas las interacciones se realizan a través de la fachada Plausible. Totales agregados: $stats = Plausible::aggregate(); $stats->visitors(); // 1234 $stats->pageviews(); // 4321 Series temporales: $rows = Plausible::timeseries(DateRange::Last30Days, Dimension::TimeDay); foreach ($rows as $row) { echo $row->label . ': ' . $row->visitors(); } Los desgloses (páginas, fuentes, países, dispositivos, etc.) están disponibles mediante métodos dedicados como Plausible::pages(), Plausible::countries(), Plausible::devices(). Visitantes en tiempo real: $visitors = Plausible::realtimeVisitors(); Consultas personalizadas: $query = Plausible::query() ->metrics(Metric::Visitors, Metric::Pageviews) ->dateRange(DateRange::Last7Days) ->dimensions(Dimension::Page) ->filter('is', Dimension::Country, ['BR', 'PT']) ->orderBy(Metric::Visitors, 'desc') ->limit(50); $rows = Plausible::rows($query); Gestión de sitios: Plausible::sites(); Plausible::createSite('example.com', 'America/Sao_Paulo'); Plausible::deleteSite('example.com'); Gestión de objetivos: Plausible::goals(); Plausible::createEventGoal('Signup'); Plausible::deleteGoal(1); Enums Metric – Visitors, Visits, Pageviews, BounceRate, VisitDuration, Events, etc. DateRange – Day, Last7Days, Last30Days, Last12Months, Year, All, etc. Dimension – Page, Hostname, Source, Referrer, Device, Browser, Country, City, TimeHour, TimeDay, etc. Gestión de errores - AuthenticationException: clave API o ID de sitio faltante/inválido, o respuesta 403. - RateLimitException: respuesta HTTP 429. - PlausibleException: fallos genéricos de la API (clase base para los anteriores). Pruebas y desarrollo Ejecute el conjunto de pruebas con composer test, formatee el código con composer format y realice análisis estático con composer analyse. Licencia Distribuido bajo la Licencia MIT.