API — Notifications¶
Ce document décrit les endpoints de l'API REST pour la gestion des notifications in-app (domain Notification).
Base URL
Tous les endpoints sont préfixés par /api/v1. Authentification JWT requise.
Endpoints¶
GET /notifications — Lister les notifications¶
Retourne la liste paginée des notifications de l'utilisateur connecté, triées par date décroissante.
| Paramètre | Type | Description |
|---|---|---|
page | integer | Numéro de page (défaut : 1) |
{
"data": [
{
"id": 1,
"type": "game_joined",
"title": "Nouveau joueur",
"message": "Jean a rejoint la partie",
"data": { "game_id": 42, "actor_id": 5 },
"is_read": false,
"read_at": null,
"created_at": "2026-03-08T14:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"total": 1,
"unread_count": 1
}
}
GET /notifications/unread-count — Compteur de non lues¶
Retourne le nombre de notifications non lues de l'utilisateur connecté.
POST /notifications/{id}/read — Marquer comme lue¶
Marque une notification comme lue. L'utilisateur doit être le propriétaire de la notification.
| Paramètre | Type | Description |
|---|---|---|
id | integer | ID de la notification |
POST /notifications/read-all — Tout marquer comme lu¶
Marque toutes les notifications non lues de l'utilisateur comme lues.
DELETE /notifications/{id} — Supprimer¶
Supprime une notification. L'utilisateur doit être le propriétaire.
Types de notifications¶
| Type | Catégorie | Déclencheur |
|---|---|---|
game_joined | Matchs | Un joueur rejoint la partie |
game_left | Matchs | Un joueur quitte la partie |
game_cancelled | Matchs | Le créateur annule la partie |
game_full | Matchs | La partie est complète (4/4) |
game_reminder | Matchs | Rappel avant la partie |
game_started | Matchs | La partie a commencé |
score_submitted | Scores | Un joueur soumet le score |
score_validated | Scores | Un joueur valide le score |
score_contested | Scores | Un joueur conteste le score |
score_finalized | Scores | Le score est finalisé |