Alertes SLA et Digest Email
Les plaintes ont un délai de traitement par phase et un délai global (SLA). Le SIG signale les retards par des endpoints d'alerte, un digest e-mail quotidien et une escalade automatique.
Endpoints
| Méthode | Endpoint | Accès | Description |
|---|---|---|---|
| GET | /api/plaintes/alertes | utilisateur connecté | Plaintes en retard et compteurs |
| GET | /api/plaintes/alertes/stats | utilisateur connecté | Compteurs seuls |
| GET | /api/plaintes/alertes/resume | utilisateur connecté | Résumé pour le tableau de bord de l'utilisateur |
| POST | /api/plaintes/alertes/check | ROLE_ADMIN | Lance la vérification et l'envoi des alertes |
GET /api/plaintes/alertes/stats
{
"success": true,
"data": {
"total_ouvertes": 60,
"en_retard_phase": 8,
"en_retard_sla": 5,
"echeance_proche": 12,
"critiques": 2
}
}
critiques compte les plaintes en retard de plus de 3 jours.
GET /api/plaintes/alertes/resume
{
"success": true,
"data": {
"totalOuvertes": 60,
"enRetardPhase": 8,
"enRetardSla": 5,
"echeanceProche": 12,
"critiques": 2,
"plaintesUrgentes": [
{
"id": "…",
"reference": "PLT-2026-000123",
"plaignant": "…",
"priorite": "haute",
"joursRestantsPhase": -2,
"joursRestantsSla": 1,
"isPhaseEnRetard": true,
"isSlaEnRetard": false
}
],
"hasAlertes": true
}
}
POST /api/plaintes/alertes/check
Réponse : { "success": true, "message": "Vérification des alertes effectuée", "data": { … } }.
Digest quotidien
Le digest n'a pas d'endpoint : il part d'une commande planifiée.
php bin/console app:plaintes:send-digest # envoi
php bin/console app:plaintes:send-digest --dry-run # simulation
- Chaque utilisateur reçoit un seul e-mail listant toutes les plaintes en retard SLA qui le concernent, avec le projet de chaque plainte.
- Une plainte déjà signalée dans les 24 dernières heures n'est pas reprise.
- Les e-mails passent par la file asynchrone (Messenger), jamais par un envoi SMTP dans la requête.
ENABLE_PLAINTE_ALERTS=falsedésactive les alertes.
Planification recommandée : une fois par jour à 8 h.
0 8 * * * php bin/console app:plaintes:send-digest
Vérification des retards
php bin/console app:plaintes:check-overdue [--dry-run] [--stats-only]
Escalade automatique
php bin/console app:plaintes:escalade [--dry-run]
Quand la phase du workflow ne configure pas ses propres niveaux, l'escalade suit deux paliers :
| Niveau | Destinataire | Déclenchement |
|---|---|---|
| 0 | Agent | Pas d'escalade |
| 1 | Coordinateur de composante, selon le module de la plainte | Délai d'escalade dépassé une fois |
| 2 | Coordinateur national | Délai dépassé deux fois |
Pour les cas sensibles, le délai est divisé par deux. Planification recommandée : toutes les deux heures.
0 */2 * * * php bin/console app:plaintes:escalade
L'escalade manuelle est décrite dans Escalade.