Checkpoint: Ajout du système de connecteurs web : table webImportSources, CRUD tRPC, page WebImportSources.tsx, endpoint /api/web-import/push-invoice, script cron SFR (scripts/web-import/sfr-connector.mjs)
This commit is contained in:
70
scripts/web-import/README.md
Normal file
70
scripts/web-import/README.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# Connecteurs Web - Scripts d'import automatique
|
||||
|
||||
## Prérequis sur le serveur LWS
|
||||
|
||||
```bash
|
||||
cd /opt/web-import
|
||||
npm install playwright
|
||||
npx playwright install chromium --with-deps
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
1. Depuis l'application : **Configuration > Connecteurs web** → créer une source SFR → copier le token API
|
||||
2. Créer un fichier de configuration :
|
||||
|
||||
```bash
|
||||
cp config.example.json config.json
|
||||
# Éditer config.json avec vos valeurs
|
||||
```
|
||||
|
||||
Contenu de `config.json` :
|
||||
```json
|
||||
{
|
||||
"sfrLogin": "votre-login@sfr.fr",
|
||||
"sfrPassword": "votre-mot-de-passe",
|
||||
"appUrl": "https://demat-facturation.santinova-soft.org",
|
||||
"apiToken": "votre-token-api-copié-depuis-lappli",
|
||||
"downloadDir": "/tmp/sfr-invoices",
|
||||
"processedFile": "/tmp/sfr-processed.json"
|
||||
}
|
||||
```
|
||||
|
||||
Ou utiliser des variables d'environnement :
|
||||
```bash
|
||||
export SFR_LOGIN=votre-login@sfr.fr
|
||||
export SFR_PASSWORD=votre-mot-de-passe
|
||||
export APP_URL=https://demat-facturation.santinova-soft.org
|
||||
export API_TOKEN=votre-token-api
|
||||
```
|
||||
|
||||
## Exécution manuelle
|
||||
|
||||
```bash
|
||||
node sfr-connector.mjs
|
||||
```
|
||||
|
||||
## Planification (cron)
|
||||
|
||||
Ajouter dans le crontab (`crontab -e`) :
|
||||
|
||||
```
|
||||
# Import SFR le 5 de chaque mois à 8h00
|
||||
0 8 5 * * /usr/bin/node /opt/web-import/sfr-connector.mjs >> /var/log/sfr-import.log 2>&1
|
||||
```
|
||||
|
||||
## Ajouter un nouveau connecteur
|
||||
|
||||
Dupliquer `sfr-connector.mjs` et adapter :
|
||||
1. L'URL du portail (`portalUrl`)
|
||||
2. Les sélecteurs CSS pour le login et les liens de factures
|
||||
3. Le nom du fichier de suivi (`processedFile`)
|
||||
|
||||
## Fonctionnement
|
||||
|
||||
1. Le script se connecte au site SFR avec les identifiants fournis
|
||||
2. Il navigue vers la section factures
|
||||
3. Il télécharge les PDFs non encore traités
|
||||
4. Il les envoie à l'application via l'endpoint `/api/web-import/push-invoice`
|
||||
5. L'application extrait les données avec l'IA et crée les factures
|
||||
6. Le script marque les factures comme traitées pour éviter les doublons
|
||||
Reference in New Issue
Block a user