Pular para o conteúdo principal

API Dashboard

L'API Dashboard fournit les statistiques du tableau de bord principal. Trois endpoints, tous en lecture (GET), réservés aux utilisateurs connectés.

EndpointDescription
/api/dashboard/all-statsMénages, bénéficiaires, paiements, plaintes et programmes
/api/dashboard/registre-social-statsPopulation, santé et scolarisation des membres des ménages
/api/dashboard/langues-statsLangues parlées et langue d'entrevue des ménages

Paramètres communs​

ParamètreDescription
regionUUID d'une région
projetUUID ou code d'un projet. Un code inconnu ne renvoie rien (jamais tous les projets).

Périmètre​

Les chiffres sont limités au périmètre de l'utilisateur : son institution et ses projets. Un ménage est compté pour un projet s'il y participe, pas seulement s'il a été collecté par lui. Un utilisateur sans rattachement obtient des compteurs à zéro.


GET /api/dashboard/all-stats​

{
"success": true,
"data": {
"menages": {
"total": 3500,
"eligibles": 2100,
"tauxEligibilite": 60.0,
"parRegion": [
{ "regionId": "…", "nom": "Region A", "total": 1200, "eligibles": 700 }
],
"parCategorie": [],
"parCategoriePopulation": []
},
"beneficiaires": { "total": 2100, "actifs": 2050 },
"paiements": {
"total": 6300,
"reussis": 6200,
"montantTotal": 157500000,
"tauxReussite": 98.4
},
"plaintes": { "total": 245, "ouvertes": 30, "resolues": 200, "enCours": 15 },
"programmes": {
"total": 3,
"actifs": 2,
"budgetTotal": 200000000,
"montantDecaisse": 157500000,
"objectifBeneficiaires": 2500,
"nbBeneficiairesActifs": 2050,
"tauxExecution": 78.8
}
}
}

Un paiement est compté comme réussi quand il a abouti (statut execute).


GET /api/dashboard/registre-social-stats​

Paramètre supplémentaire : mois (défaut 3), fenêtre d'analyse des visites et suivis récents.

{
"success": true,
"data": {
"population": {
"totalMembres": 15400,
"femmesEnceintes": 320,
"femmesAllaitantes": 410,
"handicapes": 150,
"enfants05": 2600,
"enfants010": 4800,
"femmes1549": 3700
},
"sante": {
"maladiesChroniques": 210,
"malnutrition": { "total": 95, "mam": 70, "mas": 25 },
"visitesRecentes": 340,
"visitesParType": [{ "type": "prenatale", "total": 120 }],
"suivisPrenatauxRecents": 120
},
"scolarisation": {
"enfantsAgeScolare": 4100,
"enfantsScolarises": 3300,
"tauxScolarisation": 80.5,
"parTrancheAge": []
},
"periodeAnalyse": { "mois": 3, "dateDebut": "2026-07-21", "dateFin": "2026-10-21" }
}
}

GET /api/dashboard/langues-stats​

{
"success": true,
"data": {
"totalMenages": 3500,
"languesParlees": [{ "code": "kriol", "nom": "Kriol", "total": 3100, "pourcentage": 88.6 }],
"langueEntrevue": [{ "code": "kriol", "nom": "Kriol", "total": 2900, "pourcentage": 82.9 }],
"languesDisponibles": { "kriol": "Kriol", "pt": "Portugais" }
}
}

Exemple​

curl "https://sig.example.com/api/dashboard/all-stats?projet=<uuid-ou-code>" \
-H "Authorization: Bearer <token>"

Les statistiques de plaintes détaillées se trouvent dans l'API des plaintes, celles des transferts dans /api/cycles/{id}/stats et /api/paiements/stats.