espace-paie-odentas/TEST-RECAP.md
odentas b790faf12c feat: Implémentation complète du système Odentas Sign
- Remplacement de DocuSeal par solution souveraine Odentas Sign
- Système d'authentification OTP pour signataires (bcryptjs + JWT)
- 8 routes API: send-otp, verify-otp, sign, pdf-url, positions, status, webhook, signers
- Interface moderne avec canvas de signature et animations (framer-motion, confetti)
- Système de templates pour auto-détection des positions de signature (CDDU, RG, avenants)
- PDF viewer avec @react-pdf-viewer (compatible Next.js)
- Stockage S3: source/, signatures/, evidence/, signed/, certs/
- Tables Supabase: sign_requests, signers, sign_positions, sign_events, sign_assets
- Evidence bundle automatique (JSON metadata + timestamps)
- Templates emails: OTP et completion
- Scripts Lambda prêts: pades-sign (KMS seal) et tsaStamp (RFC3161)
- Mode test détecté automatiquement (emails whitelist)
- Tests complets avec PDF CDDU réel (2 signataires)
2025-10-27 19:03:07 +01:00

103 lines
2.9 KiB
Markdown

# ✅ Test Odentas Sign - Récapitulatif
## 🎉 Demande de signature créée avec succès !
### 📋 Informations
- **ID**: 75b4408d-1bbd-464f-a9ea-2b4e5075a817
- **Ref**: TEST-1761582838435
- **PDF**: s3://odentas-sign/source/test/TEST-1761582838435.pdf
### 👥 Signataires
#### 1. Employeur - Odentas Paie
- **Email**: paie@odentas.fr
- **Signer ID**: 95c4ccdc-1a26-4426-a56f-653758159b54
#### 2. Salarié - Renaud Breviere
- **Email**: renaud.breviere@gmail.com
- **Signer ID**: d481f070-2ac6-4f82-aff3-862783904d5d
---
## 🚀 Comment tester ?
### Option 1 : Script interactif (recommandé)
```bash
./test-signature-flow.sh
```
Le script vous propose un menu pour :
1. Envoyer OTP Employeur
2. Envoyer OTP Salarié
3. Vérifier OTP et obtenir le token
4. Enregistrer la signature
### Option 2 : Commandes manuelles
#### Étape 1 : Envoyer OTP Employeur
```bash
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/send-otp
```
**➡️ Le code OTP apparaît dans les logs du serveur Next.js**
#### Étape 2 : Vérifier OTP
```bash
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/verify-otp \
-H "Content-Type: application/json" \
-d '{"otp": "VOTRE_CODE"}'
```
Copiez le `sessionToken` retourné.
#### Étape 3 : Signer
```bash
curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/sign \
-H "Content-Type: application/json" \
-H "Authorization: Bearer VOTRE_TOKEN" \
-d '{"signatureImageBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyCAYAAACqNX6+AAAABmJLR0QA/wD/AP+gvaeTAAAAeklEQVR4nO3QMQEAAAjAMMC/52ECvlRA00ASAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcNkFzQABOWLnlYwAAAAASUVORK5CYII=", "consentText": "Je consens"}'
```
#### Étape 4 : Répéter pour le salarié
Utilisez le signer ID : `d481f070-2ac6-4f82-aff3-862783904d5d`
---
## 🔍 Vérifier le statut
```bash
curl http://localhost:3000/api/odentas-sign/requests/75b4408d-1bbd-464f-a9ea-2b4e5075a817
```
---
## ⚠️ Mode Test Actif
- ✅ Les codes OTP sont affichés dans les logs serveur
- ✅ Les emails sont envoyés vers les vraies adresses
- ❌ Le scellage PAdES est désactivé
- ❌ L'horodatage TSA est désactivé
- ❌ L'archivage Object Lock est désactivé
Une fois tous les signataires signés, le webhook de completion sera appelé mais ne déclenchera PAS le scellage.
---
## 📊 Vérifier dans Supabase
```sql
-- Voir la demande
SELECT * FROM sign_requests WHERE ref = 'TEST-1761582838435';
-- Voir les signataires
SELECT * FROM signers WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817';
-- Voir les événements
SELECT * FROM sign_events WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817' ORDER BY ts ASC;
```
---
**Bonne chance pour les tests ! 🎯**