Skip to main content

API Notifications

L'API Notifications gère les notifications en temps réel pour les utilisateurs.

Vue d'ensemble

EndpointMéthodeDescription
/api/notificationsGETListe des notifications
/api/notifications/unread-countGETCompteur non lues
/api/notifications/{id}/readPOSTMarquer comme lue
/api/notifications/read-allPOSTTout marquer comme lu
/api/notifications/{id}DELETESupprimer une notification
/api/notifications/testPOSTCréer notification test (admin)

Authentification

Tous les endpoints nécessitent ROLE_USER minimum.

Types de notifications

TypeDescription
infoInformation générale
successAction réussie
warningAvertissement
errorErreur
alertAlerte importante

Catégories

CatégorieDescription
systemNotifications système
paiementNotifications paiements
plainteNotifications plaintes
menageNotifications ménages
importNotifications import/export

Liste des notifications

Endpoint

GET /api/notifications

Paramètres de requête

ParamètreTypeRequisDescription
limitintNonNombre max (défaut: 50, max: 100)
unreadbooleanNonUniquement 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"
}
}