Djust 3.120.0 - Semaine du 08 Juin 2026

Périmètre

🖥️ Back-Office

📘

NEW

Paramètre "mode d'import" dans la configuration des jobs

Contexte

Les jobs d'import (CSV, Mirakl, API) permettaient jusqu'à présent de créer ou mettre à jour des données, mais ne proposaient aucun mécanisme de suppression des valeurs existantes pour les custom fields et les attributs produit.

Fonctionnement

Un nouveau paramètre "mode d'import" est désormais disponible dans la configuration des jobs. Deux modes sont proposés :

  • Mode standard (par défaut) : comportement inchangé, seules les données présentes dans le fichier sont créées ou mises à jour.
  • Mode full : les données de type Custom Field ou Attribute non présentes dans le fichier d'import sont supprimées.

Le paramètre est disponible sur chaque entité concernée : Produit, Offre, Fournisseur, Compte, Catégories de navigation, Catégories de classification, Utilisateur client et Commande.

📄 Documentation :

👉 Côté métier : les opérateurs peuvent désormais nettoyer les données obsolètes des Custom Fields et Attributes directement via l'import, en activant le mode full sur les jobs concernés.

👉 Côté technique : nouveau paramètre de configuration sur les jobs d'import. Aucun impact sur les imports existants — le mode standard reste le comportement par défaut.

🔗 Data Hub

📘

NEW

Historique des exécutions — Recherche par ID et filtre par statut

Contexte

Jusqu'à présent, retrouver une exécution spécifique dans l'historique d'un job nécessitait de parcourir manuellement les pages de résultats. Aucun mécanisme de recherche par ID ni de filtrage par statut n'était disponible côté API. Cette évolution introduit deux nouveaux endpoints v2 avec recherche partielle par ID et filtre multi-valeurs par statut, remplaçant les anciens endpoints v1 désormais dépréciés.

Fonctionnement

Deux nouveaux endpoints permettent de lister les exécutions d'un job avec des capacités de recherche et de filtrage :

  • Jobs d'import / indexation : GET /v2/jobs/{jobId}/executions — remplace GET /v1/mapper/status/all/{jobId} (deprecated).
  • Jobs d'export : GET /v2/jobouts/{jobOutId}/executions — remplace GET /v1/mapper/jobout/{jobOutId}/exported-item-statuses (deprecated).

Recherche par ID : le query param search permet une recherche partielle (type "contains") sur l'identifiant d'exécution.

Filtre par statut : le query param statuses accepte plusieurs valeurs. Pour les jobs d'import/indexation, les statuts disponibles correspondent aux étapes du cycle de vie du job. Pour les jobs d'export, les valeurs possibles sont SUCCESS et ERROR. Les valeurs inconnues sont silencieusement ignorées.

Si aucun paramètre de recherche ou de filtre n'est fourni, toutes les exécutions sont retournées.

Les réponses utilisent l'enveloppe de pagination standard DJUST (content, numberOfElements, number, size, first, last, empty). Le tri est configurable via le query param sort (tri par défaut : createdAt,desc pour import/indexation, executedAt,desc pour export).

Accès réservé aux opérateurs (dj-client: OPERATOR).

Impact API

  • GET /v2/jobs/{jobId}/executions — operationId : ADM-JOB-550
  • GET /v2/jobouts/{jobOutId}/executions — operationId : ADM-JOBOUT-550
  • Paramètres communs : search (string, optionnel), statuses (array, optionnel), sort, page, size
  • Réponse : 200 OK avec pagination standard
  • Rétrocompatibilité : les endpoints v1 restent fonctionnels mais sont marqués deprecated

📄 Documentation : Job Configuration Overview

👉 Côté métier : retrouvez instantanément une exécution de job à partir de son ID ou filtrez les exécutions par statut, sans parcourir l'historique page par page.

👉 Côté technique : nouveaux endpoints RESTful v2 pour l'historique des exécutions (import/indexation et export) avec recherche partielle par ID, filtre multi-valeurs par statut et pagination standard DJUST. Les anciens endpoints v1 restent disponibles mais deprecated.

🛠️ API

📘

NEW

Création d'une shipping zone

Contexte

Dans le cadre du nouveau module de livraison, il est désormais possible de créer des zones de livraison (shipping zones) qui serviront de base à la configuration des règles d'expédition.

Fonctionnement

Un opérateur (dj-client: OPERATOR) peut créer une shipping zone en fournissant un nom obligatoire et, optionnellement, un identifiant et une description. Si aucun identifiant n'est fourni, il est auto-généré. L'identifiant est unique sur la plateforme et immutable une fois créé.

La shipping zone est immédiatement disponible pour configuration après création.

Impact API

POST /v1/shipping-zones — operationId : ADM-SHIPPING-ZONE-100

  • Réponse : 201 Created avec l'id de la zone créée
  • Erreurs notables : 422 si le nom est absent ou invalide, 409 en cas de doublon sur l'identifiant

Récupération d'un shipping type par ID

Contexte

Toujours dans le cadre du module de livraison, un nouvel endpoint permet de consulter le détail d'un type de livraison (shipping type) à partir de son identifiant.

Fonctionnement

Un opérateur (dj-client: OPERATOR) peut récupérer les informations d'un shipping type : identifiant, nom, description, dates de création et de mise à jour.

Impact API

GET /v1/shipping-types/{id} — operationId : ADM-SHIPPING-TYPE-500

  • Réponse : 200 OK avec les champs id, name, description, createdAt, updatedAt
  • Erreur 404 si le shipping type n'existe pas

Liste des catégories de classification d'une famille logistique

Contexte

Le module de livraison introduit la notion de famille logistique, qui regroupe des catégories de classification pour déterminer les règles d'expédition applicables. Un nouvel endpoint permet de lister les catégories rattachées à une famille logistique donnée.

Fonctionnement

Un opérateur (dj-client: OPERATOR) peut consulter les catégories de classification associées à une famille logistique. La réponse est paginée (page, size).

Par défaut, au démarrage de la plateforme, toutes les catégories du tenant sont implicitement rattachées à la famille logistique "Par défaut". Cet endpoint les retourne toutes tant qu'aucun rattachement explicite n'a été effectué. Le champ id retourné correspond à l'external ID de la catégorie.

Impact API

GET /v1/logistic-families/{logisticsFamilyId}/classification-categories — operationId : ADM-LOGISTIC-FAMILY-551

  • Réponse : 200 OK, paginée (format standard DJUST)
  • Erreur 404 si la famille logistique n'existe pas

📄 Documentation :

👉 Côté métier : le module de livraison s'enrichit avec la gestion des zones de livraison, la consultation des types de livraison et le rattachement des catégories aux familles logistiques — permettant une configuration fine des règles d'expédition.

👉 Côté technique : trois nouveaux endpoints administration sur le module shipping (ADM-SHIPPING-ZONE-100, ADM-SHIPPING-TYPE-500, ADM-LOGISTIC-FAMILY-551), accessibles uniquement en dj-client: OPERATOR.