Aller au contenu principal

Synchronisation des données de référence via FTP

1. Contexte

Hyperfox conserve une copie des données de base afin de pouvoir faire correspondre les données de commande des clients. Pour ce faire, un processus de synchronisation doit être mis en place pour exporter les données de base concernées.

2. Solution technique

Une procédure d'export dépose des fichiers CSV sur un serveur FTP fourni par Hyperfox. Ces fichiers doivent être déposés sur le FTP chaque jour (ouvré) à une heure convenue, après quoi Hyperfox les récupère à une heure ultérieure également convenue. Les horaires précis sont définis lors de l'implémentation.

2.1 FTP : structure des dossiers et conventions

Le FTP Hyperfox est fourni par défaut avec la structure de dossiers suivante :

  • PROD
    • Dropbox — c'est ici que les exports des données de base doivent être déposés.
    • Orders — c'est ici qu'Hyperfox dépose les fichiers de commande.
    • Files — c'est ici qu'Hyperfox dépose les demandes de commande (e-mail, PDF, etc.).
    • Accept — des fichiers confirmant l'acceptation des commandes peuvent être déposés ici.
  • QA
    • Dropbox
    • Orders
    • Files
    • Accept

3. Spécifications des fichiers

Tous les fichiers doivent respecter les spécifications suivantes :

  • CSV, séparé par des virgules.
  • Taille maximale du fichier : 25 Mo.
  • Encodage : UTF-8.
  • Les en-têtes de colonnes doivent être présents dans le fichier.
  • Le contenu des fichiers doit toujours correspondre à l'extraction complète de la base de données, et non au delta par rapport à la livraison précédente.
  • Le nom du fichier ne peut pas contenir de variables (par ex. la date d'export). Nous attendons toujours le même nom de fichier.
    • Non : export_items_20251023.csv, où 20251023 change à chaque export.
    • Mais : export_items.csv.

3.1 Noms des colonnes

Les noms des colonnes ne doivent pas nécessairement correspondre aux noms des colonnes dans Hyperfox. Tant que le contenu est présent dans les fichiers, nous pouvons le mapper dans Hyperfox par configuration. Hyperfox dispose d'un outil de mappage visuel permettant de relier les noms des colonnes du fichier aux noms des colonnes dans Hyperfox.

4. Structures de données

Des champs supplémentaires décrivant ou identifiant de manière unique les enregistrements peuvent toujours être ajoutés à n'importe lequel des fichiers ci-dessous.

4.1 Données de tiers (obligatoire)

La structure de données qui décrit un tiers. Un tiers peut être le client qui a envoyé la commande, ou le tiers auquel les marchandises doivent être livrées.

ChampDescriptionObligatoireRemarque
Account IDRéférence unique de ce tiersOui
NameOui
Street nameOui
Additional street nameNon
NumberOui
City NameOui
Postal ZoneCode postal de l'adresseOui
CountryOuiCode pays ISO (par ex. BE, NL)
VAT NumberNon
Contact NameNon
Contact TelephoneNon
Contact EmailNon

4.2 Données article (obligatoire)

La structure de données qui décrit les produits.

ChampDescriptionObligatoireRemarque
NameNom du produitNon : s'il y a une description
DescriptionNon : s'il y a un nom
SKURéférence unique de cet articleOui
EANCode-barresNon
Base Unit CodeL'unité de mesure standard dans laquelle l'article est tenu en stock. Utilisée comme unité cible de conversion lorsqu'une commande est passée dans une autre unité de mesure.NonExemples de valeurs : S, PALLET, Carton, Box.
Image URLURL de l'image du produitNonRatio 1:1. De préférence une taille maximale de 800x800.

4.3 Codes d'unité (recommandé)

La structure de données qui décrit les unités de conditionnement.

ChampDescriptionObligatoireRemarque
CodeLe code ou l'identifiant de l'unitéOuiExemple : PAL
ValueLe nom ou la description de la valeurOuiExemple : PALLET

4.4 Unités de mesure par article (recommandé)

La structure de données qui décrit les unités de mesure par article.

ChampDescriptionObligatoireRemarque
Item IDLa référence unique de l'articleOuiGénéralement le SKU. Exemple : 030.70.1010CIAO
Unit code IDLa référence unique du code d'unitéOuiExemple : KARTON
Base unit quantityFacteur de conversionOuiExemple : 80

Exemple

  • Nous avons l'article suivant : SKU 030.70.1010CIAO, dont l'unité de base (Base Unit) est KARTON.
  • Dans une commande, nous recevons : 1 pallet 030.70.1010CIAO.

Hyperfox recalcule toujours vers l'unité de base configurée au niveau de l'article. Dans ce cas : KARTON.

Autrement dit, nous avons besoin de l'information indiquant combien de KARTON sont présents sur une PALLET pour le SKU 030.70.1010CIAO.

En supposant qu'une palette contienne 80 cartons, les données doivent être livrées comme suit :

  • Item ID : 030.70.1010CIAO
  • Unit Code ID : PALLET
  • Base unit quantity : 80

4.5 Articles par tiers (facultatif)

Définit quels produits sont commandables par client. Utilisé pour affiner la correspondance des produits.

ChampDescriptionObligatoireRemarque
Item IDLa référence unique de l'articleOuiGénéralement le SKU.
Party IDLa référence unique du tiersOuiGénéralement l'Account ID.

4.6 Données d'historique de commandes (facultatif)

Les informations d'historique de commandes sont prises en compte comme contexte supplémentaire, ce qui nous permet d'améliorer la précision de l'analyse en apprenant des habitudes et des préférences de commande propres au client.

ChampDescriptionObligatoireRemarque
Item IDLa référence unique de l'articleOuiGénéralement le SKU.
Party IDLa référence unique du tiersOuiGénéralement l'Account ID.
TimestampDate à laquelle cet article a été commandé. La composante horaire est facultative.OuiExemple : 2026-01-19 10:44:06