API Notifications
L'API Notifications gère les notifications en temps réel pour les utilisateurs.
Vue d'ensemble
| Endpoint | Méthode | Description |
|---|---|---|
/api/notifications | GET | Liste des notifications |
/api/notifications/unread-count | GET | Compteur non lues |
/api/notifications/{id}/read | POST | Marquer comme lue |
/api/notifications/read-all | POST | Tout marquer comme lu |
/api/notifications/{id} | DELETE | Supprimer une notification |
/api/notifications/test | POST | Créer notification test (admin) |
Authentification
Tous les endpoints nécessitent ROLE_USER minimum.
Types de notifications
| Type | Description |
|---|---|
info | Information générale |
success | Action réussie |
warning | Avertissement |
error | Erreur |
alert | Alerte importante |
Catégories
| Catégorie | Description |
|---|---|
system | Notifications système |
paiement | Notifications paiements |
plainte | Notifications plaintes |
menage | Notifications ménages |
import | Notifications import/export |
Liste des notifications
Endpoint
GET /api/notifications
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
limit | int | Non | Nombre max (défaut: 50, max: 100) |
unread | boolean | Non | Uniquement non lues |
Réponse
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Paiement exécuté",
"message": "Le cycle PCH-C002 a été exécuté avec succès. 3500 paiements traités.",
"type": "success",
"category": "paiement",
"isRead": false,
"link": "/paiements/cycles/550e8400-e29b-41d4-a716-446655440001",
"data": {
"cycleId": "550e8400-e29b-41d4-a716-446655440001",
"nombrePaiements": 3500
},
"createdAt": "2025-03-15T10:30:00+00:00",
"readAt": null,
"isGlobal": false
}
],
"unreadCount": 5
}
Compteur non lues
Endpoint
GET /api/notifications/unread-count
Réponse
{
"success": true,
"count": 5
}
Marquer comme lue
Endpoint
POST /api/notifications/{id}/read
Réponse
{
"success": true,
"message": "Notification marquée comme lue"
}
Marquer tout comme lu
Endpoint
POST /api/notifications/read-all
Réponse
{
"success": true,
"message": "12 notifications marquées comme lues",
"count": 12
}
Supprimer une notification
Endpoint
DELETE /api/notifications/{id}
Contraintes
- Seules les notifications personnelles peuvent être supprimées
- Les notifications globales ne peuvent pas être supprimées
Réponse
{
"success": true,
"message": "Notification supprimée"
}
Créer notification de test (Admin)
Endpoint
POST /api/notifications/test
Permission requise
ROLE_ADMIN
Corps de la requête
{
"title": "Test Notification",
"message": "Ceci est une notification de test",
"type": "info",
"category": "system",
"link": "/dashboard",
"data": {
"customField": "value"
}
}
Réponse
{
"success": true,
"message": "Notification de test créée",
"notification": {
"id": "550e8400-e29b-41d4-a716-446655440010",
"title": "Test Notification"
}
}