# 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 `<br>`

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` → `<br>` 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)
