229 lines
5.7 KiB
Markdown
229 lines
5.7 KiB
Markdown
# 🎯 Actions à effectuer - Migration Email Signature Salarié
|
||
|
||
## ✅ Ce qui est DÉJÀ fait dans le code
|
||
|
||
- ✅ Route API créée : `app/api/emails/signature-salarie/route.ts`
|
||
- ✅ Type d'email ajouté au système universel v2
|
||
- ✅ Configuration du template email
|
||
- ✅ Code Lambda modifié (fichier fourni)
|
||
- ✅ Documentation complète
|
||
|
||
---
|
||
|
||
## 🔧 Ce que VOUS devez faire
|
||
|
||
### 1️⃣ Générer une API Key sécurisée
|
||
|
||
```bash
|
||
# Exécuter cette commande pour générer une clé aléatoire
|
||
openssl rand -hex 32
|
||
```
|
||
|
||
**Exemple de résultat :**
|
||
```
|
||
a7f3d8c2b1e9f4a6d8c3b2e1f5a9d7c4b8e2f6a3d9c5b7e4f1a8d6c3b9e5f2a7
|
||
```
|
||
|
||
⚠️ **Sauvegardez cette clé dans un endroit sûr** (vous en aurez besoin 2 fois)
|
||
|
||
---
|
||
|
||
### 2️⃣ Ajouter la clé dans l'Espace Paie (Local)
|
||
|
||
```bash
|
||
# Dans le terminal, depuis le dossier du projet
|
||
echo "LAMBDA_API_KEY=<collez_votre_clé_ici>" >> .env.local
|
||
```
|
||
|
||
**Exemple :**
|
||
```bash
|
||
echo "LAMBDA_API_KEY=a7f3d8c2b1e9f4a6d8c3b2e1f5a9d7c4b8e2f6a3d9c5b7e4f1a8d6c3b9e5f2a7" >> .env.local
|
||
```
|
||
|
||
---
|
||
|
||
### 3️⃣ Ajouter la clé sur Vercel (Production)
|
||
|
||
#### Option A : Via interface Vercel
|
||
|
||
1. Aller sur https://vercel.com/votre-projet
|
||
2. Settings → Environment Variables
|
||
3. Ajouter une nouvelle variable :
|
||
- **Name** : `LAMBDA_API_KEY`
|
||
- **Value** : `<collez_votre_clé>`
|
||
- **Environments** : Cocher Production, Preview, Development
|
||
4. Cliquer sur "Save"
|
||
|
||
#### Option B : Via CLI Vercel
|
||
|
||
```bash
|
||
# Installer Vercel CLI si nécessaire
|
||
npm i -g vercel
|
||
|
||
# Se connecter
|
||
vercel login
|
||
|
||
# Ajouter la variable
|
||
vercel env add LAMBDA_API_KEY
|
||
|
||
# Coller la clé quand demandé
|
||
# Sélectionner : Production, Preview, Development
|
||
```
|
||
|
||
#### Redéployer
|
||
|
||
```bash
|
||
vercel --prod
|
||
```
|
||
|
||
---
|
||
|
||
### 4️⃣ Configurer AWS Lambda
|
||
|
||
#### Via AWS Console
|
||
|
||
1. Aller sur https://console.aws.amazon.com/lambda/
|
||
2. Région : **eu-west-3** (Paris)
|
||
3. Trouver la fonction : **postDocuSealSalarie**
|
||
4. Onglet **Configuration** → **Environment variables**
|
||
5. Cliquer sur **Edit**
|
||
|
||
#### Ajouter ces 2 variables :
|
||
|
||
| Key | Value | Description |
|
||
|-----|-------|-------------|
|
||
| `ESPACE_PAIE_URL` | `https://paie.odentas.fr` | URL de l'Espace Paie (production) |
|
||
| `ESPACE_PAIE_API_KEY` | `<votre_clé_générée>` | **La même clé qu'à l'étape 1** |
|
||
|
||
6. Cliquer sur **Save**
|
||
|
||
#### (Optionnel) Supprimer les anciennes variables
|
||
|
||
Ces variables ne sont plus utilisées, vous pouvez les supprimer :
|
||
- `AWS_SES_FROM`
|
||
- `S3_BUCKET_NAME_EMAILS`
|
||
- `AIRTABLE_API_KEY`
|
||
|
||
---
|
||
|
||
### 5️⃣ Mettre à jour le code de la Lambda
|
||
|
||
1. Toujours dans AWS Lambda → **postDocuSealSalarie**
|
||
2. Onglet **Code**
|
||
3. Ouvrir le fichier `index.js`
|
||
4. **Remplacer tout le contenu** par le code du fichier `LAMBDA_SIGNATURE_SALARIE_UPDATED.js` (fourni dans ce projet)
|
||
5. Cliquer sur **Deploy**
|
||
|
||
---
|
||
|
||
### 6️⃣ Tester
|
||
|
||
#### Test 1 : Vérifier que l'API répond
|
||
|
||
```bash
|
||
# Depuis votre terminal local
|
||
curl -X POST https://paie.odentas.fr/api/emails/signature-salarie \
|
||
-H "X-API-Key: <votre_clé>" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{
|
||
"employeeEmail": "votre-email@example.com",
|
||
"signatureLink": "https://test.com",
|
||
"reference": "TEST-001",
|
||
"organizationName": "Test",
|
||
"firstName": "Test",
|
||
"matricule": "TEST001"
|
||
}'
|
||
```
|
||
|
||
**Réponse attendue :**
|
||
```json
|
||
{
|
||
"success": true,
|
||
"messageId": "01000192abc...",
|
||
"recipient": "votre-email@example.com",
|
||
"reference": "TEST-001"
|
||
}
|
||
```
|
||
|
||
**Si erreur 401** : Vérifiez que la clé API est correcte
|
||
|
||
#### Test 2 : Déclencher un vrai webhook
|
||
|
||
1. Faire signer un contrat par l'employeur dans DocuSeal
|
||
2. Observer les logs Lambda dans CloudWatch
|
||
3. Vérifier l'email reçu par le salarié
|
||
4. Vérifier dans l'interface : `/staff/email-logs`
|
||
|
||
---
|
||
|
||
### 7️⃣ Vérifier les logs
|
||
|
||
#### Dans AWS CloudWatch
|
||
|
||
1. AWS Console → CloudWatch → Log groups
|
||
2. Chercher : `/aws/lambda/postDocuSealSalarie`
|
||
3. Logs à chercher :
|
||
```
|
||
📤 Appel de l'API Espace Paie pour envoi email...
|
||
✅ E-mail envoyé via l'API Espace Paie
|
||
```
|
||
|
||
#### Dans l'Espace Paie
|
||
|
||
1. Aller sur : `https://paie.odentas.fr/staff/email-logs`
|
||
2. Filtrer par type : **signature-request-salarie**
|
||
3. Vérifier le statut : **sent**
|
||
4. Cliquer sur une ligne pour voir le contenu HTML
|
||
|
||
---
|
||
|
||
## 🎉 C'est terminé !
|
||
|
||
Si tout est OK :
|
||
- ✅ Les emails de signature sont envoyés via le système universel v2
|
||
- ✅ Tous les emails sont loggés dans la base de données
|
||
- ✅ Vous pouvez voir les logs dans l'interface Staff
|
||
- ✅ Le template est cohérent avec les autres emails
|
||
|
||
---
|
||
|
||
## 🆘 En cas de problème
|
||
|
||
### Erreur 401 "Unauthorized"
|
||
|
||
➡️ **Solution** : Vérifiez que `LAMBDA_API_KEY` (Espace Paie) et `ESPACE_PAIE_API_KEY` (Lambda) ont exactement la même valeur.
|
||
|
||
### Erreur 500 "Configuration Error"
|
||
|
||
➡️ **Solution** : La variable `LAMBDA_API_KEY` n'est pas définie sur Vercel. Vérifiez l'étape 3.
|
||
|
||
### Lambda : Erreur "ESPACE_PAIE_URL is not defined"
|
||
|
||
➡️ **Solution** : Les variables d'environnement ne sont pas configurées dans Lambda. Vérifiez l'étape 4.
|
||
|
||
### Email non reçu
|
||
|
||
➡️ **Solutions** :
|
||
1. Vérifier CloudWatch logs pour voir si l'API a été appelée
|
||
2. Vérifier dans `/staff/email-logs` si l'email apparaît
|
||
3. Vérifier les credentials AWS SES (normalement OK si les autres emails fonctionnent)
|
||
4. Vérifier que l'email du salarié est valide
|
||
|
||
### L'API ne répond pas
|
||
|
||
➡️ **Solutions** :
|
||
1. Vérifier que l'Espace Paie est déployé sur Vercel
|
||
2. Vérifier que la route existe : `app/api/emails/signature-salarie/route.ts`
|
||
3. Regarder les logs Vercel
|
||
|
||
---
|
||
|
||
## 📞 Support
|
||
|
||
- **Documentation complète** : `LAMBDA_EMAIL_SIGNATURE_SALARIE_GUIDE.md`
|
||
- **Résumé des changements** : `LAMBDA_EMAIL_SIGNATURE_SALARIE_SUMMARY.md`
|
||
- **Code Lambda mis à jour** : `LAMBDA_SIGNATURE_SALARIE_UPDATED.js`
|
||
|
||
---
|
||
|
||
*Bonne chance ! 🚀*
|