Pular para o conteúdo principal

API Paramètres

L'API Paramètres permet de gérer la configuration globale du système PCH-SIG.

Vue d'ensemble

EndpointMéthodeDescription
/api/settingsGETTous les paramètres
/api/settings/generalPUTParamètres généraux
/api/settings/paiementsPUTParamètres paiements
/api/settings/notificationsPUTParamètres notifications
/api/settings/securityPUTParamètres sécurité
/api/settings/integrationsPUTIntégrations (Kobo, SS)
/api/settings/dashboardGET/PUTConfiguration dashboard
/api/settings/menuPUTConfiguration menu
/api/settings/site-publicGET/PUTSite public
/api/settings/permissionsGETListe des permissions
/api/settings/resetPOSTRéinitialiser

Permission requise

admin.settings pour la modification, ROLE_USER pour la lecture du dashboard.


Récupérer tous les paramètres

Endpoint

GET /api/settings

Réponse

{
"success": true,
"data": {
"general": {
"appName": "Bemba",
"appDescription": "Système d'Information de Gestion - Projet Capital Humain",
"country": "Guinée-Bissau",
"currency": "XOF",
"language": "fr",
"timezone": "Africa/Bissau"
},
"paiements": {
"montantDefaut": 25000,
"delaiPaiement": 30,
"maxTentatives": 3,
"operateurDefaut": "orange_money"
},
"notifications": {
"emailEnabled": true,
"smsEnabled": false,
"emailFrom": "noreply@pch-sig.gw"
},
"security": {
"sessionTimeout": 3600,
"maxLoginAttempts": 5,
"passwordMinLength": 8,
"requirePasswordChange": false
},
"integrations": {
"koboToolbox": {
"enabled": true,
"apiUrl": "https://kf.kobotoolbox.org/api/v2"
},
"surveySolutions": {
"enabled": false
}
}
}
}

Paramètres généraux

Endpoint

PUT /api/settings/general

Corps de la requête

{
"appName": "Bemba",
"appDescription": "Système d'Information de Gestion",
"country": "Guinée-Bissau",
"currency": "XOF",
"language": "fr",
"timezone": "Africa/Bissau"
}

Paramètres de paiement

Endpoint

PUT /api/settings/paiements

Corps de la requête

{
"montantDefaut": 25000,
"delaiPaiement": 30,
"maxTentatives": 3,
"operateurDefaut": "orange_money"
}

Paramètres de sécurité

Endpoint

PUT /api/settings/security

Corps de la requête

{
"sessionTimeout": 3600,
"maxLoginAttempts": 5,
"passwordMinLength": 8,
"requirePasswordChange": false
}

Configuration des intégrations

Endpoint

PUT /api/settings/integrations

Corps de la requête

{
"koboToolbox": {
"enabled": true,
"apiUrl": "https://kf.kobotoolbox.org/api/v2",
"apiToken": "your-api-token"
},
"surveySolutions": {
"enabled": true,
"serverUrl": "https://demo.mysurvey.solutions",
"apiUser": "api_user",
"apiPassword": "api_password",
"workspace": "primary"
}
}

Tester une intégration

Endpoint

POST /api/settings/integrations/test/{type}

Types

TypeDescription
kobotoolboxTest connexion KoBoToolbox
surveysolutionsTest connexion Survey Solutions

Corps de la requête (KoBoToolbox)

{
"apiUrl": "https://kf.kobotoolbox.org/api/v2",
"apiToken": "your-api-token"
}

Réponse

{
"success": true,
"message": "Connexion réussie! 15 formulaire(s) trouvé(s)."
}

Configuration du dashboard par rôle

Endpoint GET

GET /api/settings/dashboard

Réponse

{
"success": true,
"data": {
"ROLE_ADMIN": ["statCards", "budgetCard", "regionPieChart", "paymentActivityChart", "regionsList", "complaintsOverview"],
"ROLE_TM_SPECIALIST": ["statCards", "budgetCard", "paymentActivityChart", "progressIndicators"],
"ROLE_USER": ["statCards", "regionPieChart", "regionsList"]
}
}

Endpoint PUT

PUT /api/settings/dashboard

Corps de la requête

{
"ROLE_ADMIN": ["statCards", "budgetCard", "regionPieChart", "paymentActivityChart", "regionsList", "complaintsOverview", "generateReport"],
"ROLE_TM_SPECIALIST": ["statCards", "budgetCard", "paymentActivityChart"]
}

Widgets disponibles

WidgetDescription
statCardsCartes statistiques principales
budgetCardCarte budget/exécution
regionPieChartGraphique répartition par région
paymentActivityChartGraphique activité paiements
regionsListListe des régions
progressIndicatorsIndicateurs de progression
complaintsOverviewAperçu des plaintes
regionFilterFiltre par région
generateReportBouton génération rapport

Réinitialiser aux valeurs par défaut

Endpoint

POST /api/settings/reset

Réponse

{
"success": true,
"message": "Paramètres réinitialisés aux valeurs par défaut",
"data": { ... }
}
aviso

Cette action réinitialise TOUS les paramètres. Elle ne peut pas être annulée.