# 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