API Reference - Analytics
Documentation complète de l'API REST Lumyria pour les endpoints d'analytics et métriques BigQuery.
Authentification JWT
Token JWT requis
Toutes les requêtes à l'API Analytics doivent inclure un token JWT valide. Obtenez votre token via l'endpoint /api/auth/login.
Base URL et configuration
Note: Tous les endpoints analytics sont prefixés par /analytics/. Les données proviennent directement des tables BigQuery LumApps.
Endpoints Analytics disponibles
/api/analytics/dashboard-metricsCoreMétriques principales pour le dashboard (utilisateurs actifs, contenu, engagement)
/api/analytics/user-activityUsersActivité détaillée des utilisateurs par période et département
/api/analytics/user-engagementUsersNiveaux d'engagement des utilisateurs avec segmentation
/api/analytics/content-viewsContentStatistiques de consultation de contenu et temps passé
/api/analytics/top-contentContentClassement du contenu le plus populaire par catégorie
/api/analytics/video-analyticsVideoMétriques spécialisées pour le contenu vidéo
/api/analytics/video-retention/:videoIdVideoCourbe de rétention détaillée pour une vidéo spécifique
/api/analytics/search-analyticsSearchAnalytics des recherches : termes populaires, taux de succès
/api/analytics/community-statsCommunityPerformance des communautés : membres actifs, contributions
/api/analytics/notification-statsEngagementPerformance des notifications : taux d'ouverture, clics
/api/analytics/implication-levelsUsersClassification des utilisateurs par niveau d'implication
/api/analytics/device-breakdownTechnicalRépartition par type d'appareil : desktop, mobile, tablet
/api/analytics/billingBusinessMétriques de facturation et utilisation des ressources
/api/analytics/directory-usageDirectoryUtilisation de l'annuaire : recherches, consultations de profils
Dashboard Metrics - Endpoint principal
GET /api/analytics/dashboard-metrics
Récupère les métriques principales pour l'affichage dashboard : utilisateurs actifs, contenu populaire, engagement global.
Exemple de requête
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| startDate | string | - | Date de début (YYYY-MM-DD) |
| endDate | string | - | Date de fin (YYYY-MM-DD) |
| teamId | string | - | Filtrer par équipe spécifique |
| siteId | string | - | Filtrer par site LumApps |
Réponse exemple
{
"activeUsers": 1250,
"totalContent": 8540,
"avgEngagement": 0.67,
"period": "last_30_days",
"trends": {
"users": "+12%",
"content": "+8%",
"engagement": "+5%"
},
"timestamp": "2024-01-15T10:30:00Z"
}User Activity Analytics
GET /api/analytics/user-activity
Analyse détaillée de l'activité utilisateurs par période, département et type d'action.
Paramètres disponibles
| Paramètre | Type | Description | Exemple |
|---|---|---|---|
| startDate | string | Date de début (YYYY-MM-DD) | 2024-01-01 |
| endDate | string | Date de fin (YYYY-MM-DD) | 2024-01-31 |
| department | string | Filtrer par département | marketing |
| groupBy | string | Grouper par période (day, week, month) | day |
| limit | number | Nombre max de résultats (défaut: 100) | 50 |
Exemple de requête avec filtres
Réponse exemple
{
"data": [
{
"date": "2024-01-15",
"activeUsers": 245,
"sessions": 567,
"pageViews": 1234,
"avgSessionDuration": 420
}
],
"total": 1,
"period": "daily"
}Endpoints spécialisés
Video Analytics
Courbe de rétention détaillée pour une vidéo spécifique avec points d'abandon.
Implication Levels
Classification des utilisateurs par niveau d'implication dans la plateforme.
Search Analytics
Statistiques des recherches : termes populaires, taux de succès, suggestions.
Directory Usage
Utilisation de l'annuaire : recherches, consultations de profils.
Gestion des erreurs
Réponse d'erreur standard
{
"error": {
"code": "BIGQUERY_ERROR",
"message": "Erreur lors de l'exécution de la requête BigQuery",
"details": {
"query": "SELECT * FROM fact_user_activity",
"bigqueryError": "Table not found"
}
}
}Gestion des erreurs BigQuery
Les erreurs liées à BigQuery (tables manquantes, permissions insuffisantes) sont encapsulées avec des détails techniques pour faciliter le débogage.
Codes de réponse HTTP
| Code HTTP | Status | Description |
|---|---|---|
| 200 | OK | Requête réussie, données retournées |
| 400 | Bad Request | Paramètres invalides ou manquants |
| 401 | Unauthorized | Token JWT manquant ou invalide |
| 403 | Forbidden | Permissions insuffisantes pour cette ressource |
| 429 | Rate Limited | Trop de requêtes, ralentir le débit |
| 500 | Server Error | Erreur interne, contacter le support |
Rate limiting
- • 1000 requêtes par heure par utilisateur
- • 50 requêtes par minute pour les analytics temps réel
- • Headers X-RateLimit-* inclus dans les réponses