API Dashboard
L'API Dashboard fournit les statistiques et indicateurs pour le tableau de bord principal.
Vue d'ensemble
| Endpoint | Méthode | Description |
|---|---|---|
/api/dashboard/stats | GET | Statistiques globales |
/api/dashboard/recent-activity | GET | Activité récente |
/api/dashboard/payments-chart | GET | Données graphique paiements |
/api/dashboard/regions-distribution | GET | Distribution par région |
/api/dashboard/complaints-overview | GET | Aperçu des plaintes |
Authentification
Tous les endpoints nécessitent ROLE_USER minimum. Les données retournées sont filtrées selon les régions affectées à l'utilisateur.
Statistiques globales
Endpoint
GET /api/dashboard/stats
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
region | UUID | Non | Filtrer par région |
programme | UUID | Non | Filtrer par programme |
dateDebut | date | Non | Date de début période |
dateFin | date | Non | Date de fin période |
Réponse
{
"success": true,
"data": {
"menages": {
"total": 3500,
"nouveaux": 150,
"variation": 4.5
},
"beneficiaires": {
"total": 3500,
"actifs": 3450,
"variation": 2.1
},
"paiements": {
"totalMontant": 87500000,
"nombrePaiements": 3500,
"tauxReussite": 98.5,
"variation": 1.2
},
"plaintes": {
"total": 245,
"ouvertes": 45,
"resolues": 200,
"delaiMoyenResolution": 3.5
},
"budget": {
"alloue": 100000000,
"depense": 87500000,
"tauxExecution": 87.5
}
}
}
Activité récente
Endpoint
GET /api/dashboard/recent-activity
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
limit | int | Non | Nombre d'éléments (défaut: 10, max: 50) |
type | string | Non | Type d'activité: menage, paiement, plainte |
Réponse
{
"success": true,
"data": [
{
"type": "paiement",
"action": "execute",
"description": "Paiement de 25,000 XOF à Mamadou Diallo",
"user": "John Doe",
"timestamp": "2025-03-15T10:30:00+00:00",
"metadata": {
"beneficiaire": "Mamadou Diallo",
"montant": 25000
}
},
{
"type": "menage",
"action": "create",
"description": "Nouveau ménage MEN-OIO-001 créé",
"user": "Jane Smith",
"timestamp": "2025-03-15T09:15:00+00:00"
}
]
}
Données graphique paiements
Endpoint
GET /api/dashboard/payments-chart
Paramètres
| Paramètre | Type | Requis | Description |
|---|---|---|---|
periode | string | Non | week, month, quarter, year (défaut: month) |
region | UUID | Non | Filtrer par région |
Réponse
{
"success": true,
"data": {
"labels": ["Jan", "Fév", "Mar", "Avr", "Mai"],
"datasets": [
{
"label": "Montant payé",
"data": [15000000, 18500000, 22000000, 25000000, 87500000]
},
{
"label": "Nombre de paiements",
"data": [600, 740, 880, 1000, 3500]
}
],
"summary": {
"totalMontant": 168000000,
"totalPaiements": 6720,
"moyenneMensuelle": 33600000
}
}
}
Distribution par région
Endpoint
GET /api/dashboard/regions-distribution
Réponse
{
"success": true,
"data": [
{
"region": "Oio",
"menages": 1800,
"beneficiaires": 1800,
"montantPaye": 45000000,
"pourcentage": 51.4
},
{
"region": "Bafatá",
"menages": 1700,
"beneficiaires": 1700,
"montantPaye": 42500000,
"pourcentage": 48.6
}
]
}
Aperçu des plaintes
Endpoint
GET /api/dashboard/complaints-overview
Réponse
{
"success": true,
"data": {
"parStatut": {
"nouvelle": 15,
"en_cours": 30,
"resolue": 180,
"fermee": 20
},
"parCategorie": {
"paiement": 120,
"eligibilite": 45,
"donnees": 35,
"autre": 45
},
"parPriorite": {
"urgente": 10,
"haute": 25,
"moyenne": 150,
"basse": 60
},
"slaMetrics": {
"respecte": 220,
"depasse": 25,
"tauxRespect": 89.8
}
}
}