Paramètres
Base path: /api/settings
GET /settings
Obtenir tous les paramètres.
Auth: Admin
Response: Objet settings unique (id=1). Les champs sensibles sont masqués en "********".
PUT /settings
Mettre à jour les paramètres. Seuls les champs présents dans le body sont mis à jour.
Auth: Admin
Mettre purchase_orders_enabled à 0 met automatiquement internal_consumption_enabled à 0. Activer internal_consumption_enabled alors que purchase_orders_enabled est 0 retourne une erreur 400.
POST /settings/upload-logo
Télécharger le logo du salon.
Auth: Admin
Content-Type: multipart/form-data — champ logo, max 5MB.
POST /settings/test-email
Envoyer un email de test pour vérifier la configuration SMTP.
Auth: Admin
Request body: { "to": "test@example.com" }
Emplacements
Les emplacements sont gérés via une route séparée sous /api/locations (et non sous /api/settings).
GET/POST/PUT/DELETE sous /api/locations et /api/locations/:id — nécessitent auth() ou auth('admin').
Jours fériés / TVA
Endpoints CRUD standards sous /api/settings :
- Jours fériés :
GET/POST /settings/holidays,DELETE /settings/holidays/:id - Taux de TVA :
GET/POST /settings/vat-rates,PUT/DELETE /settings/vat-rates/:id
Horaires d'ouverture
Les horaires sont configurés lors de l'installation initiale (POST /api/auth/setup) et stockés dans la table opening_hours. Il n'existe pas d'endpoint REST séparé pour les modifier après l'installation.
Fonctionnalités activables
Général
| Paramètre | Défaut | Description |
|---|---|---|
swipe_actions_enabled | 1 | Gestes de balayage (mobile) |
haptic_feedback_enabled | 1 | Retour haptique (mobile) |
longpress_contact_enabled | 1 | Appui long pour appeler/écrire (mobile) |
offline_mode_enabled | 1 | Cache hors ligne pour l'app mobile |
staff_personal_agenda_enabled | 1 | L'employé voit uniquement son propre agenda |
Stock et achats
| Paramètre | Défaut | Description |
|---|---|---|
purchase_orders_enabled | 1 | Commandes d'achat et fournisseurs. Si false, quantity_on_hand devient directement modifiable |
internal_consumption_enabled | 1 | Onglet consommation interne. Nécessite purchase_orders_enabled = true |
Tableau de bord et analyses
| Paramètre | Défaut | Description |
|---|---|---|
daily_revenue_goal_enabled | 0 | Objectif de CA journalier sur le tableau de bord |
daily_revenue_goal | 0 | Montant cible journalier |
revenue_forecast_enabled | 0 | Widget de prévision de CA |
visit_frequency_alerts_enabled | 0 | Alerte quand les clients ne visitent plus depuis longtemps |
visit_frequency_days | 42 | Seuil en jours pour les alertes de fréquence |
CRM et marketing
| Paramètre | Défaut | Description |
|---|---|---|
followup_sequences_enabled | 0 | Séquences d'emails de suivi automatiques |
product_recommendations_enabled | 0 | Recommandations de produits |
giftcard_qr_enabled | 0 | QR codes sur les emails de cartes cadeaux |
seasonal_promotions_enabled | 0 | Promotions saisonnières automatiques |
bulk_campaigns_enabled | 0 | Campagnes d'emailing en masse |
waitlist_position_enabled | 0 | Afficher la position dans la liste d'attente |
Notifications
| Paramètre | Défaut | Description |
|---|---|---|
notify_salon_waitlist_join | 1 | Notifier le salon lors d'une inscription en liste d'attente |
notify_salon_slot_available | 1 | Notifier quand un créneau se libère |
noshow_email_enabled | 1 | Email lors d'une facturation no-show |
low_stock_email_enabled | 1 | Email de stock bas |
booking_request_notify_email | 1 | Email à l'admin pour une nouvelle demande de réservation (provisional) |
booking_request_notify_push | 1 | Notification push à l'admin pour une nouvelle demande de réservation (provisional) |
Frais de no-show
| Paramètre | Défaut | Description |
|---|---|---|
noshow_enabled | 0 | Facturation automatique via Stripe |
noshow_fee_type | percentage | percentage ou fixed |
noshow_fee_value | 50 | Pourcentage (0-100) ou montant fixe |
noshow_min_amount | 0 | Montant minimum de la pénalité |
Paramètres de fidélité
Le programme de fidélité est géré via une route séparée sous /api/loyalty. Le flag loyalty_enabled est dans la table loyalty_settings, pas dans la table principale settings.
GET /loyalty/settings — Obtenir les paramètres de fidélité.
PUT /loyalty/settings — Mettre à jour les paramètres de fidélité. Auth: Admin