Service FTP : Format de données attendu
Le point FTP contient deux sous-dossiers afin de permettre au service de traiter les donnédonnées reçreçues :
- work : Dossier dans lequel les ZIP
réceptionnéréceptionnés serontdécompressédécompressés afin d'êêtretraitétraités - histo : Dossier contenant l'ensemble des ZIP
réceptionnéréceptionnés ettraitétraités- format des ZIP :
{yyyy-MM-dd} {HH}h{mm}m{ss}s.zip
- Exemple :
2022-09-26 16h56m03s.zip
- Exemple :
- format des ZIP :
Le service scanne automatiquement la racine du point FTP afin de dédétecter et traiter tout nouveau ZIP.
Format des donnédonnées envoyéenvoyés en FTP
Toutes les donnédonnées envoyéenvoyées via FTP, quelles que soient leurs types, doivent êêtre compressécompressées en ZIP au prépréalable.
Le ZIP n'a pas besoin d'avoir un nommage spéspécifique, il doit juste êêtre compressécompressé en ZIP "classique" (Extension ".zip" et niveau de compression "normale").
Une fois générégénéré, le ZIP doit êêtre déposédéposé àà la racine du point FTP afin que notre service puisse le dédétecter.
Une fois la réréception du ZIP terminéterminé, celui-ci sera alors décompressédécompressé afin d'êêtre traitétraité.
TéléTélécharger l'exemple de ZIP avec les donnédonnées au format JSON : TODO
TéléTélécharger l'exemple de ZIP avec les donnédonnées au format CSV : TODO
Structure du ZIP attendu
Le ZIP peut contenir les élééléments suivants :
- Un fichier de
donnédonnées des clients (voirdédétails) - Un fichier de
donnédonnées des articles (voirdédétails) - Un dossier contenant les fiches techniques des articles* (voir
dédétails) - Un dossier contenant les fiches de
donnédonnées desécuritésécurité des articles* (voirdédétails) - Un dossier contenant les photos des articles* (voir
dédétails) - Un dossier contenant les photos des clients** (voir
dédétails)
* : Le fichier de donnédonnées articles doit êêtre inclus dans le zip pour que ce dossier soit traitétraité
** : Le fichier de donnédonnées clients doit êêtre inclus dans le zip pour que ce dossier soit traitétraité
Exemple de contenu de fichier ZIP
- clients.csv
- produits.csv
- /FT
- 00012.pdf
- 00245.pdf
- /FDS
- 00012.pdf
- 00012.pdf
- /photo
- 00012.jpg
- 00245.jpg
- /client
- 8054.jpg
TéléTélécharger l'exemple : TODO
Fichier de donnédonnées clients
Nommage
Le service FTP accepte les donnédonnées dans les formats suivants :
- JSON
- CSV
Le fichier d'import des donnédonnées clients peut êêtre nomménommé comme ci-aprèaprès (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épropriétés d'un client :
Description | Exemple d'utilisation | |
Reference | "Reference": "8054" | |
Designation | Nom du client | "Designation": "Mairie de Perpignan" |
OffreDePrix | Liste les |
"OffreDePrix":
["00000001", "aaa1"]
|
Historique | Liste les |
"Historique":
["00000001"]
|
Les propriétépropriétés reference
et designation
sont obligatoires afin que le client en question soit traité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éTélécharger l'exemple : exemple_complet_2_clients.json
Format CSV
Le fichier CSV doit contenir une liste de clients.
L'ensemble des entêentêtes peuvent êêtre dédéfini sous diffédifférent nommage (ex: "ref" ou "référéférence") et l'ordre n'importe pas.
Chaque entêentête / valeur doivent êêtre séparéséparé par un ";" (point virgule) ou "," (virgule).
Liste des entêentêtes du fichier CSV / propriétépropriétés d'un client :
Description | |
Reference | |
Designation | Nom du client |
OffreDePrix | Liste les |
Historique | Liste les |
Les entêentêtes reference
et designation
sont obligatoires afin que le fichier CSV soit traitétraité
Exemple d'entêentêtes valides
Reference;Designation;offreDePrix;Historique
dédésignation;référéférence;offre de prix;historique
nom;ref.;offre;histo
titre;réréf
Voir les rèrègles REGEX des entêentêtes
RéféRéférence :
^\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*$
DéDésignation :
^\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*$
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éTélécharger l'exemple : exemple_complet_2_clients.csv
Fichier de donnédonnées articles
Nommage
Le service FTP accepte les donnédonnées dans les formats suivants :
- JSON
- CSV
Le fichier d'import des donnédonnées articles peut êêtre nomménommé comme suivant (l'extension du fichier n'est pas prise en compte) :
- art
- article
- produits
Exemple de nom pour le fichier articles
- art.csv
- articles.json
Format JSON
Le fichier JSON doit contenir une liste d'articles.
Liste des propriétépropriétés d'un article:
Description | Exemple d'utilisation | |
Reference | "Reference": "00000001" | |
ReferenceGroupe | "ReferenceGroupe": "00000001A" | |
Designation | Nom de l'article | "Designation": " |
Description | Description de l'article | "Description": " |
Dosage | Dosage |
"Dosage": " |
Temperature | "Temperature": " |
Les propriétépropriétés reference
et designation
sont obligatoires afin que l'article en question soit traitétraité.
Exemple complet avec 2 articles au format JSON
[
{
"Reference": "00000001",
"ReferenceGroupe": "00000001A",
"Designation": "DéDégraissant spray",
"Description": "DéDégraissant en spray de 500ml...",
"Dosage": "PrêPrêt àà l'emploi",
"Temperature": "TempéTempérature ambiante"
},
{
"Reference": "aaa1",
"Designation": "DéDésinfectant 5L",
"Description": "Bidon de 5L de dédésinfectant...",
"Dosage": "0,2 àà 1 %",
"Temperature": "àà l'eau chaude"
},
]
TéléTélécharger l'exemple : exemple_complet_2_articles.json
Format CSV
Le fichier CSV doit contenir une liste d'articles.
L'ensemble des entêentêtes peutpeuvent êêtre dédéfini sous diffédifférent nommage (ex: "ref" ou "référéférence") et l'ordre n'importe pas.
Chaque entêentête / valeur doitdoivent êêtre séparéséparé par un ";" (point virgule) ou "," (virgule).
Liste des entêentêtes du fichier CSV / propriétépropriétés d'un article:
Description | |
Reference | |
ReferenceGroupe | |
Designation | Nom de l'article |
Description | Description de l'article |
Dosage | Dosage |
Temperature |
Les entêentêtes reference
et designation
sont obligatoires afin que le fichier CSV soit traitétraité
Exemple d'entêentêtes valides
Reference;ReferenceGroupe;Designation;Description;Dosage;Temperature
dédésignation;référéférence;référéférence groupe;dosage;tempétempérature
nom;ref.;dosage;temp
titre;réréf
Voir les rèrègles REGEX des entêentêtes
RéféRéférence :
^\s*((produit|art|article)?[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*(produit|art|article)?[s]?)\s*$
RéféRéférence groupe :
^\s*((produit|art|article)?[s]?\s*(r(e|éé)f[.]?|r(e|éé)f(e|éé)rence)[s]?\s*(grp[.]|groupe)[s]?|(r(e|éé)f[.]?|r(e|éé)f(e|éé)rence)[s]?\s*\s*(grp[.]|groupe)[s]?\s*(du|de|l[']?)?\s*(produit|art|article)?[s]?)\s*$
DéDésignation :
^\s*((produit|art|article)[s]?\s*(d(e|éé)signation|titre|nom|libell(e|éé))[s]?|(d(e|éé)signation|titre|nom|libell(e|éé))[s]?\s*(du|de|l[']?)?\s*(produit|art|article)?[s]?)\s*$
Description :
^\s*((produit|art|article)[s]?\s*(description|d(e|éé)tail)[s]?|(d(e|éé)signation|titre|nom)[s]?\s*(du|de|l[']?)?\s*(produit|art|article)?[s]?)\s*$
Dosage :
^\s*((produit|art|article)?[s]?\s*(dosage)[s]?|(dosage)[s]?\s*(du|de|l[']?)?\s*(produit|art|article)?[s]?)\s*$
TempéTempérature :
^\s*((produit|art|article)?[s]?\s*(temp[.]?|temp(e|éé)rature)[s]?|(temp[.]?|temp(e|éé)rature)[s]?\s*(du|de|l[']?)?\s*(produit|art|article)?[s]?)\s*$
Exemple complet avec 2 articles au format CSV
Reference;ReferenceGroupe;Designation;Description;Dosage;Temperature
00000001;00000001A;DéDégraissant spray;DéDégraissant en spray 500ml...;PrêPrêt àà l'emploi;TempéTempérature ambiante
aaa1;DéDésinfectant 5L;Bidon de 5L de dédésinfectant...;0,2 àà 1 %;àà l'eau chaude
TéléTélécharger l'exemple : exemple_complet_2_articles.csv
Dossiers des documents des articles
Dossier fiches technique
Ce dossier permet de stocker les fiches techniques au format PDF des articles ajoutéajoutés / modifiémodifiés dans le fichier de donnédonnées article.
Les PDF doivent êêtre nomménommés avec la référéférence de l'article concernéconcerné.
Exemple de PDF contenu dans le dossier
- 00000001.pdf
- aaa1.pdf
TéléTélécharger l'exemple : TODO
Le dossier peut êêtre dédéfini sous diffédifférents nommage (ex: "ft" ou "fiches techniques")
Voir la rèrègle REGEX de nom du dossier
^(ft|fiches?(\s*|-)?tech(nique)?)$
Dossier fiches de donnédonnées de sécuritésécurité
Ce dossier permet de stocker les fiches de donnédonnées de sécuritésécurité au format PDF des articles ajoutéajoutés / modifiémodifiés dans le fichier de donnédonnées article.
Les PDF doivent êêtre nomménommés avec la référéférence de l'article concernéconcerné.
Exemple de PDF contenu dans le dossier
- 00000001.pdf
- aaa1.pdf
TéléTélécharger l'exemple : TODO
Le dossier peut êêtre dédéfini sous diffédifférents nommages (ex: "fds" ou "fiches de sécuritésécurité")
Voir la rèrègle REGEX de nom du dossier
^(fds|fiches?(\s*|-)?(de)?(\s*|-)?s['éée]cu(rit['éée]e?)?)$
Dossier photo
Ce dossier permet de stocker les photos au format JPG des articles ajoutéajoutés / modifiémodifiés dans le fichier de donnédonnées article.
Les photos doivent êêtre nomménommées avec la référéférence de l'article concernéconcerné.
Exemple de photos contenu dans le dossier
- 00000001.jpg
- aaa1.jpg
TéléTélécharger l'exemple : TODO
Le dossier peut êêtre dédéfini sous diffédifférents nommages (ex: "img" ou "photos")
Voir la rèrègle REGEX de nom du dossier
^(photo|img|image|picture)s?$
Dossiers des documents des clients
Dossier client
Ce dossier permet de stocker les photos au format JPG des articles ajoutéajoutés / modifiémodifiés dans le fichier de donnédonnées client.
Les photos doivent êêtre nomménommées avec la référéférence du client concernéconcerné.
Exemple de photos contenu dans le dossier
- 8054.jpg
- 84513.jpg
TéléTélécharger l'exemple : TODO
Le dossier peut êêtre dédéfini sous diffédifférents nommages (ex: "cli" ou "clients")
Voir la rèrègle REGEX de nom du dossier
^cli(ent?s)?$