71 lines
1.8 KiB
Markdown
71 lines
1.8 KiB
Markdown
# 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
|