API Paramètres
L'API Paramètres permet de gérer la configuration globale du système PCH-SIG.
Vue d'ensemble
| Endpoint | Méthode | Description |
|---|---|---|
/api/settings | GET | Tous les paramètres |
/api/settings/general | PUT | Paramètres généraux |
/api/settings/paiements | PUT | Paramètres paiements |
/api/settings/notifications | PUT | Paramètres notifications |
/api/settings/security | PUT | Paramètres sécurité |
/api/settings/integrations | PUT | Intégrations (Kobo, SS) |
/api/settings/dashboard | GET/PUT | Configuration dashboard |
/api/settings/menu | PUT | Configuration menu |
/api/settings/site-public | GET/PUT | Site public |
/api/settings/permissions | GET | Liste des permissions |
/api/settings/reset | POST | Ré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
| Type | Description |
|---|---|
kobotoolbox | Test connexion KoBoToolbox |
surveysolutions | Test 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
| Widget | Description |
|---|---|
statCards | Cartes statistiques principales |
budgetCard | Carte budget/exécution |
regionPieChart | Graphique répartition par région |
paymentActivityChart | Graphique activité paiements |
regionsList | Liste des régions |
progressIndicators | Indicateurs de progression |
complaintsOverview | Aperçu des plaintes |
regionFilter | Filtre par région |
generateReport | Bouton 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.