Skip to main content

Service FTP : Format de données attendu

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

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

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


Format des données envoyés en FTP

Toutes les données envoyées via FTP, quelles que soient leurs types, doivent être compressées en ZIP au préalable.

Le ZIP n'a pas besoin d'avoir un nommage spécifique, il doit 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 :

* : 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 clients

Encodage

Les fichiers de données peuvent être encodé en :

    UTF-8 ANSI (Windows-1252, CP-1252, Latin-1, ISO-8859-1)

    Nommage

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

    • JSON
    • CSV


    Le fichier d'import des données clients peut être nommé comme ci-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é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és 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 : exemple_complet_2_clients.json


    Format CSV

    Le fichier CSV doit contenir une liste de clients.

    L'ensemble des entêtes peuvent être défini sous différent nommage (ex: "ref" ou "référence") et l'ordre n'importe pas.

    Chaque entête / valeur doivent être séparé par un ";" (point virgule) ou "," (virgule).


    Liste des entêtes du fichier CSV / propriétés 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é

    Exemple d'entêtes valides
    Reference;Designation;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
    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é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écharger l'exemple : exemple_complet_2_clients.csv

    Fichier de données articles

    Encodage

    Les fichiers de données peuvent être encodé en :

      UTF-8 ANSI (Windows-1252, CP-1252, Latin-1, ISO-8859-1)

      Nommage

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

      • JSON
      • CSV


      Le fichier d'import des données articles peut être 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és d'un article:

      Propriété Description Exemple d'utilisation
      Reference Référence de l'article "Reference": "00000001"
      ReferenceGroupe Référence groupe de l'article "ReferenceGroupe": "00000001A"
      Designation Nom de l'article "Designation": "Dégraissant spray"
      Description Description de l'article "Description": "Dégraissant en spray de 500ml..."
      Dosage Dosage recommandée  de l'article "Dosage": "Prêt à l'emploi"
      Temperature Température recommandée  de l'article "Temperature": "Température ambiante"

      Les propriétés reference et designation sont obligatoires afin que l'article en question soit traité.


      Exemple complet avec 2 articles au format JSON
      [
      	{
      		"Reference": "00000001",
      		"ReferenceGroupe": "00000001A",
      		"Designation": "Dégraissant spray",
      		"Description": "Dégraissant en spray de 500ml...",
      		"Dosage": "Prêt à l'emploi",
      		"Temperature": "Température ambiante"
      	},
      	{
      		"Reference": "aaa1",
      		"Designation": "Désinfectant 5L",
      		"Description": "Bidon de 5L de désinfectant...",
      		"Dosage": "0,2 à 1 %",
      		"Temperature": "à l'eau chaude"
      	},
      ]

      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êtes peuvent être défini sous différent nommage (ex: "ref" ou "référence") et l'ordre n'importe pas.

      Chaque entête / valeur doivent être séparé par un ";" (point virgule) ou "," (virgule).


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

      Entête Description
      Reference Référence de l'article
      ReferenceGroupe Référence groupe de l'article
      Designation Nom de l'article
      Description Description de l'article
      Dosage Dosage recommandée  de l'article
      Temperature Température recommandée de l'article

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

      Exemple d'entêtes valides
      Reference;ReferenceGroupe;Designation;Description;Dosage;Temperature
      désignation;référence;référence groupe;dosage;température
      nom;ref.;dosage;temp
      titre;réf
      Voir les règles REGEX des entêtes
      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é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é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é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égraissant spray;Dégraissant en spray 500ml...;Prêt à l'emploi;Température ambiante
      aaa1;Désinfectant 5L;Bidon de 5L de désinfectant...;0,2 à 1 %;à l'eau chaude

      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és / modifiés dans le fichier de données article.

      Les PDF doivent être nommés 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


      Le dossier peut être défini sous différents nommage (ex: "ft" ou "fiches techniques")

      Voir la règle REGEX de nom du dossier
      ^(ft|fiches?(\s*|-)?tech(nique)?)$


      Dossier fiches de données de sécurité

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

      Les PDF doivent être nommés 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


      Le dossier peut être défini sous différents nommages (ex: "fds" ou "fiches de sécurité")

      Voir la 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és / modifiés dans le fichier de données article.

      Les photos doivent être nommées 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


      Le dossier peut être défini sous différents nommages (ex: "img" ou "photos")

      Voir la 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és / modifiés dans le fichier de données client.

      Les photos doivent être nommées avec la référence du client concerné.

      Exemple de photos contenu dans le dossier
      • 8054.jpg
      • 84513.jpg

      Télécharger l'exemple : TODO


      Le dossier peut être défini sous différents nommages (ex: "cli" ou "clients")

      Voir la règle REGEX de nom du dossier
      ^cli(ent?s)?$