Alertes SLA et Digest Email
Cette page documente le systeme d'alertes SLA et de notifications par email pour les plaintes.
Vue d'ensemble
Le systeme d'alertes SLA permet de :
- Detecter les plaintes approchant de leur echeance
- Envoyer des notifications aux agents et superviseurs
- Generer des rapports digest periodiques
- Escalader automatiquement les plaintes en retard
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ SYSTEME D'ALERTES SLA │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Cron Job │ --> │ Detection │ --> │ Envoi Email │ │
│ │ (Quotidien) │ │ Echeances │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Escalade │ │ Digest │ │
│ │ Automatique │ │ Coordinateur│ │
│ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Types de notifications
| Type | Declencheur | Destinataire |
|---|---|---|
| Alerte pre-echeance | 24h avant echeance | Agent assigne |
| Alerte echeance | Jour de l'echeance | Agent + Superviseur |
| Alerte depassement | Echeance depassee | Superviseur + Coordinateur |
| Digest quotidien | Chaque jour 8h | Coordinateur GRM |
| Digest hebdomadaire | Lundi 8h | Manager GRM |
Service de Digest (PlainteDigestService)
Fonctionnalites
- Agregation des statistiques par periode
- Identification des plaintes a risque
- Generation de rapports HTML et texte
- Envoi automatise via cron
Statistiques incluses
| Indicateur | Description |
|---|---|
| Ouvertes | Plaintes nouvellement creees |
| En cours | Plaintes en traitement |
| Resolues | Plaintes resolues dans la periode |
| En retard | Plaintes depassant le SLA |
| A risque | Plaintes approchant echeance (< 24h) |
Endpoint de test
Envoyer un digest manuellement
POST /api/plaintes/digest/send
Corps de la requete
{
"type": "daily",
"email": "coordinateur@example.com",
"periode": "2026-06-11"
}
Reponse
{
"success": true,
"message": "Digest envoye a coordinateur@example.com",
"data": {
"plaintesOuvertes": 15,
"plaintesEnCours": 45,
"plaintesResolues": 12,
"plaintesEnRetard": 3,
"plaintesARisque": 8
}
}
Configuration
Variables d'environnement
# Activation des notifications
PLAINTES_NOTIFICATIONS_ENABLED=true
# Emails des coordinateurs
PLAINTES_COORDINATOR_EMAILS=coord1@example.com,coord2@example.com
# Heures d'envoi des digests
PLAINTES_DIGEST_DAILY_HOUR=8
PLAINTES_DIGEST_WEEKLY_DAY=1
# Seuils d'alerte (en heures)
PLAINTES_SLA_ALERT_HOURS=24
PLAINTES_SLA_URGENT_HOURS=6
Configuration dans reference.php
'plaintes' => [
'notifications' => [
'enabled' => true,
'digest' => [
'daily' => true,
'weekly' => true,
'monthly' => true,
],
'alerts' => [
'pre_deadline' => 24, // heures
'deadline' => 0,
'overdue' => -1,
],
],
'coordinator_emails' => [
'coord@example.com',
],
],
Commande console
Envoi manuel du digest
php bin/console app:plainte-digest daily
php bin/console app:plainte-digest weekly
php bin/console app:plainte-digest monthly
Verification des SLA
php bin/console app:plainte-check-sla
Cette commande :
- Identifie les plaintes a risque
- Envoie les alertes appropriees
- Escalade les plaintes en retard
Template email
Structure du digest quotidien
<h2>Rapport GRM - [DATE]</h2>
<h3>Resume</h3>
<table>
<tr><td>Nouvelles plaintes</td><td>15</td></tr>
<tr><td>En cours</td><td>45</td></tr>
<tr><td>Resolues aujourd'hui</td><td>12</td></tr>
<tr style="color: red"><td>En retard SLA</td><td>3</td></tr>
</table>
<h3>Plaintes urgentes</h3>
<ul>
<li>PLT-2026-001234 - Paiement non recu (echeance: demain)</li>
<li>PLT-2026-001235 - Erreur montant (en retard: 2 jours)</li>
</ul>
<h3>Par categorie</h3>
...
Escalade automatique
Regles d'escalade
| Condition | Action |
|---|---|
| SLA depasse de 24h | Notification superviseur |
| SLA depasse de 48h | Escalade niveau 2 |
| SLA depasse de 72h | Alerte coordinateur |
Workflow
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Plainte │ --> │ Alerte │ --> │ Escalade │
│ en retard │ │ Agent │ │ Superviseur │
└──────────────┘ └──────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ Notification │
│ Coordinateur │
└──────────────┘
API de statistiques SLA
Statistiques globales
GET /api/plaintes/stats/sla
Reponse
{
"success": true,
"data": {
"tauxRespectSLA": 92.5,
"tempsResolutionMoyen": 3.2,
"plaintesEnRetard": 8,
"plaintesARisque": 15,
"parPriorite": {
"urgente": {"total": 10, "enRetard": 1},
"haute": {"total": 25, "enRetard": 3},
"moyenne": {"total": 45, "enRetard": 4},
"basse": {"total": 20, "enRetard": 0}
},
"evolution": [
{"date": "2026-06-05", "tauxSLA": 91.2},
{"date": "2026-06-06", "tauxSLA": 92.1},
{"date": "2026-06-07", "tauxSLA": 92.5}
]
}
}
Personnalisation des notifications
Par equipe
Chaque equipe peut avoir ses propres parametres :
{
"equipe": "Equipe Oio",
"notifications": {
"digestEnabled": true,
"alertsEnabled": true,
"escalationEnabled": true,
"recipients": ["superviseur.oio@example.com"]
}
}
Par categorie de plainte
Les categories sensibles (VBG, EAS/HS) ont des regles specifiques :
- Delais SLA reduits
- Notifications prioritaires
- Escalade immediate au coordinateur
Bonnes pratiques
:::tip Recommandations
- Surveillez les digests : Lisez le digest quotidien chaque matin
- Reagissez aux alertes : Les alertes pre-echeance permettent d'eviter les retards
- Analysez les tendances : Utilisez les stats hebdomadaires pour ameliorer les processus
- Mettez a jour les contacts : Assurez-vous que les emails sont a jour :::