Flux CRF (Carrefour)
Contexte
- Pas de flux EDI natif disponible pour le secteur d’activité.
- Téléchargement manuel requis via le SaaS Carrefour.
- Mise en place d’un flux automatisé (scraping + conversion) pour générer de “faux EDI” → traités de manière transparente par l’ERP.
CRON
# Créneaux matin et soir
*/5 7-9,16-17 * * * /home/rms/edi/crf/import/run_crf.sh
*/15 10-12,18-19 * * * /home/rms/edi/crf/import/run_crf.sh
Fichiers de config
Arborescence
crf/
├── archives/commandes_csv/YYYYMMDD/*.xls
└── import/
├── commandes_xls/
├── commandes_csv/
├── commandes_edi/
├── archives/commandes_edi/
├── run_crf.sh
├── impcarf.py
├── xls2csv.py
├── csv2edi.py
├── liste.txt
├── xls_dl.txt
└── ...
Scripts
run_crf.sh → orchestre la chaîne complète.
impcarf.py
- Selenium + ChromeDriver
- Connexion au portail Carrefour
- Téléchargement des commandes au format .xls
xls2csv.py
- Conversion
.xls → .csv
- Mise à jour de
liste.txt (fichiers déjà traités) et xls_dl.txt (encore présents).
- Archivage des
.xls.
csv2edi.py
- Parsing CSV → génération d’un
.edi conforme ORDERS D96A.
- Archivage des
.csv.
- Règles de mapping :
KG → KGM
PI → PCE
- Génération d’un
id_client provisoire basé sur client + entrepôt.
edi2erp.py crf
- Transfert SSH des
.edi vers l’ERP.
Outils
- Selenium (ChromeDriver 137.0.7151.70).
- pandas pour conversion XLS/CSV.
- Logs centralisés :
/home/rms/logs/crf/crf2erp.log.