# Service FTP : Format de données attendu

Le <span style="color: #e03e2d;">point </span>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é.

<p class="callout success">Télécharger l'exemple de ZIP avec les données au format **JSON** : [exemple\_complet\_json.zip](https://documentation.aswpro.com/attachments/7)</p>

<p class="callout success">Télécharger l'exemple de ZIP avec les données au format **CSV** : [exemple\_complet\_csv.zip](https://documentation.aswpro.com/attachments/6)</p>

### Structure du ZIP attendu

Le ZIP peut contenir les éléments suivants :

- Un fichier de données des clients [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-fichier-de-donn%C3%A9es-c "Service FTP : Format de données attendues")
- Un fichier de données des articles [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-fichier-de-donn%C3%A9es-a)
- Un dossier contenant les fiches techniques des articles\* [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-dossier-fiches-techn "Service FTP : Format de données attendues")
- Un dossier contenant les fiches de données de sécurité des articles\* [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-dossier-fiches-de-s%C3%A9 "Service FTP : Format de données attendues")
- Un dossier contenant les photos des articles\* [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-dossier-photo "Service FTP : Format de données attendues")
- Un dossier contenant les photos des clients\*\* [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendues#bkmrk-dossier-client)

*\* : 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é*

<details id="bkmrk-exemple-de-contenu-d"><summary>Exemple de contenu de fichier ZIP</summary>

- clients.csv
- articles.csv
- /FT 
    - 00012.pdf
    - 00245.pdf
- /FDS 
    - 00012.pdf
- /photo 
    - 00012.jpg
    - 00245.jpg
- /client 
    - 8054.jpg

</details><p class="callout info">Télécharger l'exemple : [exemple\_complet\_csv.zip](https://documentation.aswpro.com/attachments/6)</p>

### 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

<details id="bkmrk-exemples-exemple-de-"><summary>Exemple de nom pour le fichier clients</summary>

- cli.csv
- clients.json

</details>#### Format JSON

Le fichier JSON doit contenir une liste de clients.

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

<table border="1" id="bkmrk-nom-description-exem" style="border-collapse: collapse; width: 100%;"><tbody><tr><td style="width: 16.6873%;">**Propriété**</td><td style="width: 16.6873%;">**Type**</td><td style="width: 33.3745%;">**Description**</td><td style="width: 33.3745%;">**Exemple d'utilisation**</td></tr><tr><td style="width: 16.6873%;">Reference</td><td style="width: 16.6873%;">string(13)</td><td style="width: 33.3745%;">Référence du client</td><td style="width: 33.3745%;">"Reference": "8054"</td></tr><tr><td style="width: 16.6873%;">Designation</td><td style="width: 16.6873%;">string(60)</td><td style="width: 33.3745%;">Nom du client</td><td style="width: 33.3745%;">"Designation": "Mairie de Perpignan"</td></tr><tr><td style="width: 16.6873%;">OffreDePrix</td><td style="width: 16.6873%;">list&lt;string(13)&gt;</td><td style="width: 33.3745%;">Liste les références des produits dans l'offre de prix du client</td><td style="width: 33.3745%;">"OffreDePrix": <div><div>["00000001", "aaa1"]</div></div></td></tr><tr><td style="width: 16.6873%;">Historique</td><td style="width: 16.6873%;">list&lt;string(13)&gt;</td><td style="width: 33.3745%;">Liste les références des produits dans l'historique du client</td><td style="width: 33.3745%;">"Historique": <div><div>["00000001"]</div></div></td></tr></tbody></table>

<p class="callout danger">Les propriétés `reference` et `designation` sont obligatoires afin que le client en question soit traité.</p>

<details id="bkmrk-exemple-complet-avec"><summary>Exemple complet avec 2 clients au format JSON</summary>

```JSON
[
	{
		"Reference": "8054",
		"Designation": "Mairie de Perpignan",
		"OffreDePrix": ["00000001", "aaa1"],
		"Historique": ["00000001"]
	},
	{
		"Reference": "84513",
		"Designation": "EHPAD de Perpignan",
		"Historique": ["aaa1"]
	}
]
```

</details><p class="callout info">Télécharger l'exemple : [exemple\_complet\_2\_clients.json](https://documentation.aswpro.com/attachments/1)</p>

#### 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 :

<table border="1" id="bkmrk-ent%C3%AAte-description-r" style="border-collapse: collapse; width: 100%; height: 182.578px;"><tbody><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">**Entête**</td><td style="width: 24.9691%; height: 29.7969px;">**Type**</td><td style="width: 50.0618%; height: 29.7969px;">**Description**</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">Reference</td><td style="width: 24.9691%; height: 29.7969px;">string(13)</td><td style="width: 50.0618%; height: 29.7969px;">Référence du client</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">Designation</td><td style="width: 24.9691%; height: 29.7969px;">string(60)</td><td style="width: 50.0618%; height: 29.7969px;">Nom du client</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9691%; height: 46.5938px;">OffreDePrix</td><td style="width: 24.9691%; height: 46.5938px;">list&lt;string(13)&gt;</td><td style="width: 50.0618%; height: 46.5938px;">Liste les références des produits dans l'offre de prix du client</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9691%; height: 46.5938px;">Historique</td><td style="width: 24.9691%; height: 46.5938px;">list&lt;string(13)&gt;</td><td style="width: 50.0618%; height: 46.5938px;">Liste les références des produits dans l'historique du client</td></tr></tbody></table>

<p class="callout danger">Les entêtes `reference` et `designation` sont obligatoires afin que le fichier CSV soit traité</p>

<details id="bkmrk-exemple-d%27ent%C3%AAtes-va"><summary>Exemple d'entêtes valides</summary>

```YAML
Reference;Designation;offreDePrix;Historique
désignation;référence;offre de prix;historique
nom;ref.;offre;histo
titre;réf
```

</details><details id="bkmrk-voir-les-r%C3%A8gles-rege"><summary>Voir les règles REGEX des entêtes</summary>

```YAML
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*$
```

</details><details id="bkmrk-exemple-complet-avec-0"><summary>Exemple complet avec 2 clients au format CSV</summary>

```YAML
Designation;Reference;offreDePrix;Historique
8054;Mairie de Perpignan;00000001,aaa1;00000001
84513;EHPAD de Perpignan;;aaa1
```

</details><p class="callout info">Télécharger l'exemple : [exemple\_complet\_2\_clients.csv](https://documentation.aswpro.com/attachments/2)</p>

### 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

<details id="bkmrk-exemple-de-nom-pour-"><summary>Exemple de nom pour le fichier articles</summary>

- art.csv
- articles.json

</details>#### Format JSON

Le fichier JSON doit contenir une liste d'articles.

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

<table border="1" id="bkmrk-propri%C3%A9t%C3%A9-descriptio" style="border-collapse: collapse; width: 100%; height: 348.36px;"><tbody><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">**Propriété**</td><td style="width: 16.6873%; height: 29.7969px;">**Type**</td><td style="width: 33.3745%; height: 29.7969px;">**Description**</td><td style="width: 33.3745%; height: 29.7969px;">**Exemple d'utilisation**</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">Reference</td><td style="width: 16.6873%; height: 29.7969px;">string(13)</td><td style="width: 33.3745%; height: 29.7969px;">Référence de l'article</td><td style="width: 33.3745%; height: 29.7969px;">"Reference": "00000001"</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">ReferenceGroupe</td><td style="width: 16.6873%; height: 29.7969px;">string(13)</td><td style="width: 33.3745%; height: 29.7969px;">Référence groupe de l'article</td><td style="width: 33.3745%; height: 29.7969px;">"ReferenceGroupe": "00000001A"</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">Designation</td><td style="width: 16.6873%; height: 29.7969px;">string(60)</td><td style="width: 33.3745%; height: 29.7969px;">Nom de l'article</td><td style="width: 33.3745%; height: 29.7969px;">"Designation": "Dégraissant spray"</td></tr><tr style="height: 46.5938px;"><td style="width: 16.6873%; height: 46.5938px;">Description</td><td style="width: 16.6873%; height: 46.5938px;">string(MAX)</td><td style="width: 33.3745%; height: 46.5938px;">Description de l'article</td><td style="width: 33.3745%; height: 46.5938px;">"Description": "Dégraissant en spray de 500ml..."</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">Dosage</td><td style="width: 16.6873%; height: 29.7969px;">string(MAX)</td><td style="width: 33.3745%; height: 29.7969px;">Dosage recommandée de l'article</td><td style="width: 33.3745%; height: 29.7969px;">"Dosage": "Prêt à l'emploi"</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">Temperature</td><td style="width: 16.6873%; height: 29.7969px;">string(MAX)</td><td style="width: 33.3745%; height: 29.7969px;">Température recommandée de l'article</td><td style="width: 33.3745%; height: 29.7969px;">"Temperature": "Température ambiante"</td></tr><tr style="height: 46.5938px;"><td style="width: 16.6873%; height: 46.5938px;">UrlFT</td><td style="width: 16.6873%; height: 46.5938px;">string(MAX)</td><td style="width: 33.3745%; height: 46.5938px;">Chemin alternatif vers la fiche technique\*</td><td style="width: 33.3745%; height: 46.5938px;">"UrlFT": "PDF/ft-degraissant.pdf"</td></tr><tr style="height: 46.5938px;"><td style="width: 16.6873%; height: 46.5938px;">UrlFDS</td><td style="width: 16.6873%; height: 46.5938px;">string(MAX)</td><td style="width: 33.3745%; height: 46.5938px;">Chemin alternatif vers la fiche de sécurité\*</td><td style="width: 33.3745%; height: 46.5938px;">"UrlFDS": "PDF/degraissant-fiche-secu.pdf"</td></tr><tr style="height: 29.7969px;"><td style="width: 16.6873%; height: 29.7969px;">UrlImage</td><td style="width: 16.6873%; height: 29.7969px;">string(MAX)</td><td style="width: 33.3745%; height: 29.7969px;">Chemin alternatif vers l'image\*</td><td style="width: 33.3745%; height: 29.7969px;">"UrlImage": "images/degraissant.jpg"</td></tr></tbody></table>

<p class="callout danger">Les propriétés `reference` et `designation` sont obligatoires afin que l'article en question soit traité.</p>

\*Les champs UrlFT, UrlFDS et UrlImage peuvent être utilisés pour indiquer au service de récupérer un PDF ou JPG via une méthode différente que celle définie [(voir détails)](https://documentation.aswpro.com/books/service-dimport-de-donnees/page/service-ftp-format-de-donnees-attendu#bkmrk-dossiers-des-documen) :

- Chemin différent que celui attendu par le service 
    - Ce chemin doit être relatif au dossier zip et doit finir par ".pdf" ou ".jpg" 
        - ex: "UrlFT": "FT/degraissant.pdf"
- Url permettant de télécharger le fichier <span style="background-color: #e67e23; color: #ffffff;"> A VENIR </span>
    - Cette url doit commencer par "http" 
        - ex: "UrlImage": "https://exemple.com/images/articles/14875.jpg"
- Fichier au format base64 <span style="background-color: #e67e23; color: #ffffff;"> A VENIR </span>
    - La valeur doit commencer par "data:application/pdf;base64," ou "data:image/jpeg;base64," 
        - ex: "UrlImage": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAUwBTAAD/4RGs..."

<details id="bkmrk-exemple-complet-avec-1"><summary>Exemple complet avec 2 articles au format JSON</summary>

```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"
	},
]
```

</details><p class="callout info">Télécharger l'exemple : [exemple\_complet\_2\_articles.json](https://documentation.aswpro.com/attachments/4)</p>

#### 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:

<table border="1" id="bkmrk-ent%C3%AAte-description-r-0" style="border-collapse: collapse; width: 100%; height: 242.172px;"><tbody><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">**Entête**</td><td style="width: 24.9691%;">**Type**</td><td style="width: 50.0618%; height: 29.7969px;">**Description**</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">Reference</td><td style="width: 24.9691%;">string(13)</td><td style="width: 50.0618%; height: 29.7969px;">Référence de l'article</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">ReferenceGroupe</td><td style="width: 24.9691%;">string(13)</td><td style="width: 50.0618%; height: 29.7969px;">Référence groupe de l'article</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">Designation</td><td style="width: 24.9691%;">string(60)</td><td style="width: 50.0618%; height: 29.7969px;">Nom de l'article</td></tr><tr style="height: 29.7969px;"><td style="width: 24.9691%; height: 29.7969px;">Description</td><td style="width: 24.9691%;">string(MAX)</td><td style="width: 50.0618%; height: 29.7969px;">Description de l'article</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9691%; height: 46.5938px;">Dosage</td><td style="width: 24.9691%;">string(MAX)</td><td style="width: 50.0618%; height: 46.5938px;">Dosage recommandée de l'article</td></tr><tr style="height: 46.5938px;"><td style="width: 24.9691%; height: 46.5938px;">Temperature</td><td style="width: 24.9691%;">string(MAX)</td><td style="width: 50.0618%; height: 46.5938px;">Température recommandée de l'article</td></tr></tbody></table>

<p class="callout danger">Les entêtes `reference` et `designation` sont obligatoires afin que le fichier CSV soit traité</p>

<details id="bkmrk-exemple-d%27ent%C3%AAtes-va-0"><summary>Exemple d'entêtes valides</summary>

```YAML
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
```

</details><details id="bkmrk-voir-les-r%C3%A8gles-rege-0"><summary>Voir les règles REGEX des entêtes</summary>

```YAML
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*$
```

</details><details id="bkmrk-exemple-complet-avec-2"><summary>Exemple complet avec 2 articles au format CSV</summary>

```YAML
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
```

</details><p class="callout info">Télécharger l'exemple : [exemple\_complet\_2\_articles.csv](https://documentation.aswpro.com/attachments/3)</p>

### 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é.

<details id="bkmrk-exemple-de-fichier-c"><summary>Exemple de PDF contenu dans le dossier</summary>

- 00000001.pdf
- aaa1.pdf

</details><p class="callout info">Télécharger l'exemple : [exemple\_dossier\_ft.zip](https://documentation.aswpro.com/attachments/8)</p>

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

<details id="bkmrk-voir-la-r%C3%A8gle-regex-"><summary>Voir la règle REGEX de nom du dossier</summary>

```YAML
^(ft|fiches?(\s*|-)?tech(nique)?)$
```

</details>#### 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é.

<details id="bkmrk-exemple-de-fichier-c-0"><summary>Exemple de PDF contenu dans le dossier</summary>

- 00000001.pdf
- aaa1.pdf

</details><p class="callout info">Télécharger l'exemple : [exemple\_dossier\_fds.zip](https://documentation.aswpro.com/attachments/9)</p>

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

<details id="bkmrk-voir-la-r%C3%A8gle-regex--0"><summary>Voir la règle REGEX de nom du dossier</summary>

```YAML
^(fds|fiches?(\s*|-)?(de)?(\s*|-)?s['ée]cu(rit['ée]e?)?)$
```

</details>#### 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é.

<details id="bkmrk-exemple-de-photos-co"><summary>Exemple de photos contenu dans le dossier</summary>

- 00000001.jpg
- aaa1.jpg

</details><p class="callout info">Télécharger l'exemple : [exemple\_dossier\_photo.zip](https://documentation.aswpro.com/attachments/10)</p>

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

<details id="bkmrk-voir-la-r%C3%A8gle-regex--1"><summary>Voir la règle REGEX de nom du dossier</summary>

```YAML
^(photo|img|image|picture)s?$
```

</details>### 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é.

<details id="bkmrk-exemple-de-photos-co-0"><summary>Exemple de photos contenu dans le dossier</summary>

- 8054.jpg
- 84513.jpg

</details><p class="callout info">Télécharger l'exemple : [exemple\_dossier\_client.zip](https://documentation.aswpro.com/attachments/11)</p>

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

<details id="bkmrk-voir-la-r%C3%A8gle-regex--2"><summary>Voir la règle REGEX de nom du dossier</summary>

```YAML
^cli(ents?)?$
```

</details>