Skip to main content

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

  • .env
    USER_CARF=XXXX
    PASS_CARF=XXXX
    
  • crf.ini
    • SSH : edi@192.168.1.13:34322/volume1/DATAS/4DDocuments/EDIBL/
    • Local : /home/rms/edi/crf/import/...
    • Archives : /home/rms/edi/crf/archives/
    • Logs : /home/rms/logs/crf/crf2erp.log

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 :
      • KGKGM
      • PIPCE
      • 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. flux_crf.png