Paramètres d'organisation
Base URL : /api/v1/admin/org/settings
Configuration de l'organisation : devise, fuseaux horaires, règles métier, notifications et fonctionnalités.
GET /admin/org/settings
Récupère la configuration de l'organisation.
Permissions : settings.read ou organization.manage
Réponse (200)
{
"notification_config": {
"channels": {
"email": { "enabled": true },
"sms": { "enabled": false },
"whatsapp": { "enabled": false }
},
"event_routing": {
"anomaly_detected": ["email"],
"recharge_completed": ["email"]
},
"email_default_from": "noreply@caffette.app"
},
"settings": {
"default_locale": "fr",
"currency": "XOF",
"default_low_stock_threshold": 10,
"max_reservation_days_ahead": 30,
"max_daily_spend_cents": 5000,
"self_service_enabled": true,
"parent_features_enabled": true,
"default_payment_provider": "fedapay",
"utc_offset_minutes": 0,
"business_hours": {
"timezone": "Africa/Lome",
"days": {
"monday": { "open": "07:00", "close": "18:00", "closed": false }
}
},
"reservation_cutoff_time": "18:00",
"reservation_cancellation_cutoff_days": 1,
"reservation_cancellation_cutoff_time": "09:00",
"reservation_service_hour": "12:00",
"reservation_min_advance_days": 1,
"reservation_creation_deadline_time": "09:00",
"reservation_allow_product_deadlines": true,
"auto_close_register_time": "18:00",
"auto_close_register_enabled": true,
"daily_report_enabled": true,
"daily_report_time": "20:00",
"daily_report_email": "admin@courslumiere.com",
"daily_report_recharges": true,
"daily_report_ventes": true,
"daily_report_soldes": true
}
}
Champs de settings
| Champ | Type | Description |
|---|---|---|
default_locale | string | Langue par défaut |
currency | string | Devise ISO 4217 |
default_low_stock_threshold | integer | Seuil de stock bas par défaut |
max_reservation_days_ahead | integer | Horizon de réservation (jours) |
max_daily_spend_cents | integer | Plafond de dépense journalier |
self_service_enabled | boolean | Portail libre-service porteurs |
parent_features_enabled | boolean | Fonctionnalités parent-enfant |
default_payment_provider | string | Fournisseur de paiement par défaut |
utc_offset_minutes | integer | Décalage UTC en minutes |
business_hours | object | Horaires (timezone + jours) |
reservation_cutoff_time | time | Heure limite de réservation |
reservation_cancellation_cutoff_days | integer | Délai min avant annulation (jours) |
reservation_cancellation_cutoff_time | time | Heure limite d'annulation |
reservation_service_hour | time | Heure de service |
reservation_min_advance_days | integer | Préavis minimum (jours) |
reservation_creation_deadline_time | time | Heure limite de création |
reservation_allow_product_deadlines | boolean | Autoriser les délais par produit |
auto_close_register_enabled | boolean | Fermeture automatique des caisses |
auto_close_register_time | time | Heure de fermeture auto |
daily_report_enabled | boolean | Rapport quotidien par email |
daily_report_time | time | Heure d'envoi |
daily_report_email | string | Destinataire |
daily_report_recharges / daily_report_ventes / daily_report_soldes | boolean | Sections incluses |
PUT /admin/org/settings
Met à jour la configuration.
Permissions : settings.update ou organization.manage
| Champ | Type | Description |
|---|---|---|
notification_config | object | Configuration des notifications (remplacement) |
settings | object | Paramètres (fusion JSON) |
PUT /api/v1/admin/org/settings
Content-Type: application/json
{
"settings": {
"currency": "XOF",
"self_service_enabled": true,
"parent_features_enabled": true
},
"notification_config": {
"channels": {
"email": { "enabled": true },
"sms": { "enabled": true }
}
}
}
Fusion JSON
Le champ settings est fusionné : seules les clés de premier niveau fournies sont écrasées, les autres sont conservées. notification_config, en revanche, est remplacé en bloc.
Réponse (200)
{
"message": "Paramètres mis à jour"
}
Permissions
| Permission | Description |
|---|---|
settings.read | Lecture des paramètres |
settings.update | Modification des paramètres |
organization.manage | Super-permission couvrant settings.* |
Voir aussi
- Logs & Audit — journaux de l'organisation
- Notifications — templates et notifications programmées