Djust 3.79.0 - Semaine du 18 Aout 2025
Périmètre
BackOffice Djust
Améliorations graphiques et optimisations de design :
Dans la continuité de la refonte globale du Back Office de Djust, un redesign des pages suivantes a été apporté afin de simplifier l'expérience utilisateur.
- Page de creation d'un produit / variant : Product -> Create.
- Page de creation/mise à jour des clients d'interfaces pour le DataHub : Data Hub -> Client -> Create/Update.
API
NEW
Buying Policies
- Récupération des raisons de blocage des commandes
Un nouvel endpoint d’administration permet aux opérateurs de récupérer la liste des buying policies ayant bloqué une ou plusieurs commandes logistiques.
L’objectif est de faciliter le diagnostic et la résolution des blocages, sans surcharger les réponses standard de l’API Orders.
🔍 Récupération des raisons de blocage
ADM-BUYING-POLICY-552 - GET /v1/buying-policies/blocking-reasons
Renvoie, pour chaque commande logistique fournie, la liste des buying policies qui ont empêché sa validation (ex. CREDIT_CONTROL
, QUOTA
, MANUAL_VALIDATION
).
Query parameters :
logisticOrderIds
(requis) : liste des IDs des commandes logistiques concernéesidType
(optionnel, défaut REFERENCE) : type d’identifiant (DJUST_ID
,EXTERNAL_ID
,REFERENCE
)
Règles :
- Si un ID est invalide, il est ignoré
- Si aucune policy ne bloque une commande, le tableau
blockingPolicies
est vide- Maximum 20 policies retournées par commande
{
"blockingReasons": [
{
"logisticOrderId": "ORD-001",
"blockingPolicies": [
{
"type": "MANUAL_VALIDATION",
"id": "BP-MANUAL-001"
}
]
}
]
}
UPDATE
Orders x Buying Policies
- Filtrage des commandes par type de buying policy
La route d’administration POST /v1/logistic-orders
permet désormais de filtrer les commandes bloquées par un ou plusieurs types spécifiques de buying policies.
Cette évolution complète le filtre blockedByBuyingPolicy
en permettant de cibler uniquement certaines policies.
🔍 Filtrer par type de buying policy
Nouveau paramètre facultatif : blockingPolicyTypes
(array)
- Permet de lister un ou plusieurs types de buying policies pour restreindre la recherche.
- Les valeurs fonctionnent en OU : si au moins une policy correspond, la commande est incluse dans le résultat.
{
"blockedByBuyingPolicy": true,
"blockingPolicyTypes": ["CREDIT_CONTROL", "MANUAL_VALIDATION"]
}
Valeurs possibles :
CREDIT_CONTROL
QUOTA
MANUAL_VALIDATION
Règles importantes :
- Le filtre
blockingPolicyTypes
n’est pris en compte que siblockedByBuyingPolicy = true
.- Si
blockedByBuyingPolicy
est false ou absent,blockingPolicyTypes
est ignoré.- Le statut de commande doit être
BLOCKED_BY_POLICY
pour que le filtre soit appliqué.
Comme énoncé ci-dessus, un nouveau statut a été ajouté dans le workflow de commande : BLOCKED_BY_POLICY
. Il est présent sur les routes suivantes :
GET /v1/logistic-orders
POST /v1/logistic-orders
POST /v1/logistic-orders/export
GET /v1/logistic-orders/{orderLogisticId}
GET /v1/logistic-orders/{orderLogisticId}/approvals
GET /v1/logistic-orders/{orderLogisticId}/history
GET /v1/supplier-quotes/{supplierQuoteId}/orders
ORDER-560 - GET /v1/shop/commercial-orders
ORDER-100 - POST /v1/shop/commercial-orders
ORDER-500 - GET /v1/shop/commercial-orders/{commercialOrderId}
ACCOUNT-550 - GET /v1/shop/customer-accounts/orders
ACCOUNT-555 - GET /v1/shop/customer-accounts/organisations/{organisationId}/orders
N/A - GET /v1/shop/logistic-orders
ORDER-550 - POST /v1/shop/logistic-orders
ORDER-501 - GET /v1/shop/logistic-orders/{orderLogisticId}
ORDER-205 - PATCH /v1/shop/logistic-orders/{orderLogisticId}
ORDER-200 - PUT /v1/shop/logistic-orders/{orderLogisticId}/approve
ORDER-556 - GET /v1/shop/logistic-orders/{orderLogisticId}/approvers
ORDER-201 - PUT /v1/shop/logistic-orders/{orderLogisticId}/cancel
ORDER-203 - PUT /v1/shop/logistic-orders/{orderLogisticId}/confirm-reception
ORDER-204 - PUT /v1/shop/logistic-orders/{orderLogisticId}/disapprove
ORDER-107 - POST /v2/shop/supplier-quotes/{supplierQuoteId}/initialize-orders
Offers
- Remontée de l'information online/offline sur les offres
Afin de savoir si une offre est live ou non, l'information online
est remontée sur l'ensemble des APIs d'administration d'offres suivantes :
GET /v1/offer-inventories
PATCH /v1/offer-inventories
POST /v1/offer-inventories
GET /v1/offer-inventories/{offerInventoryId}
PUT /v1/offer-inventories/{offerInventoryId}
PATCH /v1/offer-inventories/{offerInventoryId}/offer-prices
POST /v1/offer-inventories/{offerInventoryId}/offer-prices
PUT /v1/offer-inventories/{offerInventoryId}/offer-prices
Orders
- Ajout de la date de dernière synchronisation du panier (
lastSyncAt
)
Un nouveau champ lastSyncAt
a été ajouté à la Commercial Order.
Il indique la date et l’heure de la dernière synchronisation réussie du panier (nouvelle API qui sera déployée dans la prochaine version).
Le format est ISO 8601 (ex. "2025-07-22T14:30:00Z").
La modification est visible dans la réponse de l'appel à :
ORDER-107 - POST /v2/shop/supplier-quotes/{supplierQuoteId}/initialize-orders
ORDER-560 - GET /v1/shop/commercial-orders
ORDER-100 - POST /v1/shop/commercial-orders
ORDER-500 - GET /v1/shop/commercial-orders/{commercialOrderId}
- Ajout d’un champ
metadata
Un nouveau champ metadata
est désormais disponible dans la route API :
ORDER-561 - PUT /v2/shop/commercial-orders/{commercialOrderId}/lines
Ce champ permet d’associer, à chaque ligne, sous la forme de paires clé/valeur libres, des données contextuelles (ex. : localisation, informations logistiques, unité de vente etc.) qui seront transmises à l’API externe dans le cadre du Real-Time Pricing qui sera déployé prochainement.