# Résumé : Notifications Internes Support ## ✅ Fonctionnalité implémentée **Objectif :** Envoyer un email à `paie@odentas.fr` quand un utilisateur (non-staff) interagit avec le support. ## 📧 Deux types de notifications ### 1. Nouveau ticket créé - **Déclencheur :** Utilisateur crée un ticket - **Email à :** paie@odentas.fr - **Sujet :** [SUPPORT] Nouveau ticket : {sujet} - **Contient :** Organisation, code employeur, nom/email créateur, message initial ### 2. Réponse utilisateur - **Déclencheur :** Utilisateur répond à un ticket existant - **Email à :** paie@odentas.fr - **Sujet :** [SUPPORT] Réponse au ticket : {sujet} - **Contient :** Organisation, code employeur, nom/email utilisateur, statut, réponse ## 🔧 Fichiers modifiés 1. **`/lib/emailTemplateService.ts`** - Ajout de 2 nouveaux types : `support-ticket-created`, `support-ticket-reply` - Ajout de 5 nouveaux champs dans `EmailDataV2` - Création des templates email avec infoCard et detailsCard 2. **`/lib/emailMigrationHelpers.ts`** - Fonction `sendInternalTicketCreatedEmail()` - notification nouveau ticket - Fonction `sendInternalTicketReplyEmail()` - notification réponse utilisateur - Conversion automatique des sauts de ligne en `
` 3. **`/app/api/tickets/route.ts`** - Ajout de l'envoi de notification après création de ticket (si !isStaff) - Récupération des infos utilisateur et organisation - Gestion d'erreur non-bloquante 4. **`/app/api/tickets/[id]/messages/route.ts`** - Ajout de l'envoi de notification après ajout de message (si !isStaff) - Récupération des infos utilisateur et ticket - Gestion d'erreur non-bloquante ## 🎯 Points clés ✅ **Sauts de ligne préservés** : Conversion `\n` → `
` dans les messages ✅ **Gestion d'erreurs** : Les erreurs d'email ne bloquent jamais la création du ticket ✅ **Permissions** : Utilisation de `createSbServiceRole()` pour `getUserById` ✅ **Code employeur** : Récupéré depuis `organization_details.code_employeur` ✅ **Pas de double notification** : Staff n'envoie pas de notification interne ✅ **Messages internes ignorés** : Les messages `internal: true` ne génèrent pas d'email ## 🚀 Prêt à déployer - ✅ 0 erreur TypeScript - ✅ Templates email créés - ✅ Fonctions helper implémentées - ✅ API routes modifiées - ✅ Documentation complète dans `SUPPORT_INTERNAL_NOTIFICATIONS.md` ## 🧪 Test rapide 1. Se connecter en tant qu'utilisateur (non-staff) 2. Créer un nouveau ticket → Email reçu sur paie@odentas.fr 3. Répondre au ticket → Email reçu sur paie@odentas.fr 4. Se connecter en tant que staff et répondre → Pas d'email interne (uniquement à l'utilisateur)