Skip to main content

Service FTP : Format de données attendues

Le point FTP contient deux sous-dossier afin de permettre à notre service de traiter les données reçues :

  • work : Dossier dans le quel les ZIP réceptionné seront décompressés afin d'être traité
  • histo : Dossier contenant l'ensemble des ZIP réceptionné et traité
    • format des ZIP : {yyyy-MM-dd} {HH}h{mm}m{ss}s.zip
      • Exemple : 2022-09-26 16h56m03s.zip

Le service scanne automatiquement les racine du point FTP afin de détecter et traiter tout nouveau ZIP.


Format des données envoyés en FTP

Toutes données envoyés via FTP, quelque soit leur type, doivent être compressées en ZIP au préalable.

Le ZIP n'a pas besoin d'avoir un nommage spécifique, il juste être compressé en ZIP "classique" (Extension ".zip" et niveau de compression "normale").

Une fois généré, le ZIP doit être déposé à la racine du point FTP afin que notre service puisse le détecter.

Une fois la réception du ZIP terminé, celui-ci sera alors décompressé afin d'être traité.

Télécharger l'exemple de ZIP avec les données au format JSON : TODO

Télécharger l'exemple de ZIP avec les données au format CSV : TODO


Structure du ZIP attendu

Le ZIP peut contenir les éléments suivants :

  • Un fichier de données des clients (voir détails)
  • Un fichier de données des articles (voir détails)
  • Un dossier contenant les fiches technique des articles* (voir détails)
  • Un dossier contenant les fiches de sécurité des articles* (voir détails)
  • Un dossier contenant les photos des articles* (voir détails)
  • Un dossier contenant les photos des clients** (voir détails)

* : Le fichier de données articles doit être inclus dans le zip pour que ce dossier soit traité
** : Le fichier de données clients doit être inclus dans le zip pour que ce dossier soit traité

Exemple de contenu de fichier ZIP
  • clients.csv
  • produits.csv
  • /FT
    • 00012.pdf
    • 00245.pdf
  • /FDS
    • 00012.pdf
  • /photo
    • 00012.jpg
    • 00245.jpg
  • /client
    • 8054.jpg

Télécharger l'exemple : TODO


Fichier de données client

Nommage

Le service FTP accepte les données dans les formats suivants :

  • JSON
  • CSV


Le fichier d'import des données clients doit être nommé comme suivant (l'extension du fichier n'est pas prise en compte) :

  • cli
  • client
  • clients
Exemple de nom pour le fichier clients
  • cli.csv
  • clients.json


Format JSON

Le fichier JSON doit contenir une liste de clients.


Liste des propriétés d'un client :

Propriété Description Exemple d'utilisation
Reference Référence du client "Reference": "8054"
Designation Nom du client "Designation": "Mairie de Perpignan"
OffreDePrix Liste les références des produits dans l'offre de prix du client "OffreDePrix": 
["00000001", "aaa1"]
Historique Liste les références des produits dans l'historique du client "Historique": 
["00000001"]

Les propriété reference et designation sont obligatoires afin que le client en question soit traité.


Exemple complet avec 2 clients au format JSON
[
	{
		"Reference": "8054",
		"Designation": "Mairie de Perpignan",
		"OffreDePrix": ["00000001", "aaa1"],
		"Historique": ["00000001"]
	},
	{
		"Reference": "84513",
		"Designation": "EPHAD de Perpignan",
		"Historique": ["aaa1"]
	}
]

Télécharger l'exemple : TODO


Format CSV

Le fichier CSV doit contenir une liste de clients.


Liste des entêtes du fichier CSV / propriété d'un client :

Entête Description
Reference Référence du client
Designation Nom du client
OffreDePrix Liste les références des produits dans l'offre de prix du client
Historique Liste les références des produits dans l'historique du client

Les entêtes reference et designation sont obligatoires afin que le fichier CSV soit traité

L'ensemble des entêtes peuvent être définies sous différentes nommage (ex: "ref" ou "référence")

Exemple d'entêtes valides
Designation;Reference;offreDePrix;Historique
désignation;référence;offre de prix;historique
nom;ref.;offre;histo
titre;réf
Voir les règles REGEX des entêtes
Désignation du client :
	^\s*((cli|client|organn?isation|soci[ée]t[ée])[s]?\s*(d(e|é)signation|titre|nom|libell(e|é))[s]?|(d(e|é)signation|titre|nom|libell(e|é))[s]?\s*(du|de|l[']?)?\s*(cli|client|organn?isation|soci[ée]t[ée])?[s]?)\s*$
    
Référence du client :
	^\s*((cli|client|organn?isation|soci[ée]t[ée])?[s]?\s*(r(e|é)f[.]?|r(e|é)f(e|é)rence)[s]?|(r(e|é)f[.]?|r(e|é)f(e|é)rence)[s]?\s*(du|de|l[']?)?\s*(cli|client|organn?isation|soci[ée]t[ée])?[s]?)\s*$
  
Offre de prix :
	^\s*((cli|client|organn?isation|soci[ée]t[ée])?[s]?\s*(offre)[s]?\s*(du|de|l[']?)?\s*(prix)?|(offre)[s]?\s*(du|de|l[']?)?\s*(prix)?\s*(du|de|l[']?)?\s*(cli|client|organn?isation|soci[ée]t[ée])?[s]?)\s*$
    
Historique :
	^\s*((cli|client|organn?isation|soci[ée]t[ée])?[s]?\s*(histo[.]?|historique)[s]?|(histo[.]?|historique)[s]?\s*(du|de|l[']?)?\s*(cli|client|organn?isation|soci[ée]t[ée])?[s]?)\s*$


Exemple complet avec 2 clients au format CSV
Designation;Reference;offreDePrix;Historique
8054;Mairie de Perpignan;00000001,aaa1;00000001
84513;EPHAD de Perpignan;;aaa1

Télécharger l'exemple : TODO

Dossiers des documents des articles

Dossier fiches technique

Ce dossier permet de stocker les fiches technique au format PDF des articles ajoutés / modifiés dans le fichier de données article.

Les PDF doivent être nommé avec la référence de l'article concerné.

Exemple de PDF contenu dans le dossier
  • 00000001.pdf
  • aaa1.pdf

Télécharger l'exemple : TODO


Dossier fiches de sécurité

Ce dossier permet de stocker les fiches de sécurité au format PDF des articles ajoutés / modifiés dans le fichier de données article.

Les PDF doivent être nommé avec la référence de l'article concerné.

Exemple de PDF contenu dans le dossier
  • 00000001.pdf
  • aaa1.pdf

Télécharger l'exemple : TODO


Dossier photo

Ce dossier permet de stocker les photos au format JPG des articles ajoutés / modifiés dans le fichier de données article.

Les photos doivent être nommé avec la référence de l'article concerné.

Exemple de photos contenu dans le dossier
  • 00000001.jpg
  • aaa1.jpg

Télécharger l'exemple : TODO