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 recherche des utilisateurs fournisseurs (Portail fournisseur uniquement) : Users.
Page de recherche des devis : Quotes.
Affichage de l'External ID des variants dans la section Produits d’un devis
Dans la page de détail d’un devis, au sein de la section Produits, un nouveau champ informatif a été ajouté.
Ce champ affiche l’External ID du variant associé à chaque ligne de produit.
Cette amélioration permet de faciliter l’identification et le suivi des variants.
API
📘
NEW
Data Hub - Mise à jour des noms des jobs d’import
Une nouvelle route API permet de mettre à jour le nom des jobs d'import.
PATCH /v2/mapper/job/{jobId}
{
"jobName": "string"
}
Le nom doit être unique pour tous les jobs d’import.
👍
UPDATE
Incidents
Tri des incidents par supplier :
Il est désormais possible de trier les incidents par fournisseur sur la route :
ORDER-559 - GET /v2/shop/incidents
Contrairement au filtre par fournisseur, le tri par fournisseur doit s’appliquer sur le nom du fournisseur.
Ainsi la possibilité de trier sur les noms des fournisseurs se fait avec le sort suivant :
supplierName:asc ou supplierName:desc qui trient respectivement les incidents par noms de fournisseurs dans l’ordre croissant (A > Z) et décroissant (Z > A).
⚠️
Attention
Il s'agit d'une v2 de l'API, la v1 ne pouvant pas supporter le tri, elle a été dépréciée au profit de celle-ci.
Nouveau filtre ajouté sur la page liste des commandes : Custom Field Order
Un nouveau filtre qui concerne les champs personnalisés des commandes, a été ajouté à la page liste des commandes.
Cette amélioration permet aux utilisateurs d’affiner leur recherche et de retrouver plus facilement des commandes en fonction des valeurs de leurs champs personnalisés. Ce filtre facilite la navigation et améliore la gestion des commandes.
Modification du champ “numéro de téléphone” pour les utilisateurs clients
Le champ numéro de téléphone n’est désormais plus obligatoire lors de la création ou de la mise à jour d’un utilisateur. Cette contrainte a été levée afin de faciliter la gestion des comptes clients ne disposant pas nécessairement d’un numéro de téléphone. Cette évolution améliore la flexibilité et réduit les frictions lors de l’enregistrement ou de la modification des utilisateurs.
Data Hub
Import des assortiments par Connecteur API
Un nouveau type de job a été introduit pour permettre l’import et la gestion d’assortiments via Connecteur API. Ce type de job, identifié par l’enum ASSORTMENT_API_JSON_JOB, est désormais pris en charge dans l’ensemble des endpoints liés aux jobs et configurations de mapping.
Objectif du job
La création d’un ou plusieurs assortiments
La liaison d’un ou plusieurs produits à un assortiment
Délier un ou ou plusieurs produits d’un assortiment
Champs pris en charge
Champ
Type
Obligatoire à la création
Update possible
Par défaut
assortment_external_id
String
✅ Oui
✅ Oui
—
assortment_name
String
Non
✅ Oui
—
product_external_id
String Array ou String
Non
—
—
unlink
Boolean
Non
✅ Oui
false
Règles métier
Création/Update d’un Assortment nécessite assortment_external_id.
Liaison à un ou plusieurs produits via product_external_id.
Suppression du lien entre un Assortment et un ou plusieurs produits via unlink: true.
Un produit peut être lié à plusieurs assortiments, sans limite.
Autorisation de la modification/suppression de lignes pour un user non owner en contexte (Checkout v3) :
En B2B il est nécessaire d’ouvrir la possibilité pour un utilisateur de pouvoir modifier/supprimer les éléments d’une commande qu’il n’a pas créé sur ces route :
ORDER-150 - PUT /v2/shop/commercial-orders/{commercialOrderId}/lines
ORDER-350 - DELETE /v2/shop/commercial-orders/{commercialOrderId}/lines
Il doit cependant être présent dans le même compte que celui où est rattaché la commande.
Ainsi, le droit existant suivant est étendu : ORDER_UPDATE_LINES_ON_ALL_ACCOUNT
Ce droit existe déjà pour la modification des quantités sur les commandes logistiques sur ORDER-250 et ORDER-150.
Ce droit est donc étendu pour autoriser l’utilisateur à modifier/supprimer les lignes des commandes sous les conditions suivantes :
Le user appartient au même compte que celui lié à la commande
Le user a le droit ORDER_UPDATE_LINES_ON_ALL_ACCOUNT à true associé à son rôle
⚠️
Attention
La suppression des lines n’est possible que si la commande commerciale n’a pas été validée (i.e si les commandes logistiques liées sont au statut DRAFT ou DRAFT_ON_HOLD).
Search
Il est dorénavant possible de filtrer sur un interval de prix.
Les informations suivantes ont été ajoutées dans les snapshots d’offer inventories de chaque ligne de commande :
minOrderQuantity : issu de l’offre (inventory), il correspond à la quantité minimale achetable par commande
maxOrderQuantity : issu de l’offre (inventory), il correspond à la quantité maximale achetable par commande
De même, les informations suivantes ont été ajoutées dans les snapshots de products de chaque ligne de commande :
navigationCategory : issu du produit, on ne récupère que le nom du noeud le plus fin sur lequel est rattaché le produit.
navigationCategoryExternalId : issu du produit, on ne récupère que l’external id du noeud le plus fin sur lequel est rattaché le produit.
Les routes concernées par les changements sont :
ORDER-560 - GET /v1/shop/commercial-orders\
ORDER-100 - POST /v1/shop/commercial-orders
ORDER-561 - GET /v1/shop/commercial-orders/{commercialOrderId}/lines
ORDER-500 - GET /v1/shop/commercial-orders/{orderCommercialId}
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-555 - GET /v1/shop/logistic-orders/{orderLogisticId}/lines
ORDER-206 - PATCH /v1/shop/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
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 configuration des stores : Settings > Stores.
Page de recherche des customer users : Customers > Users.
API
👍
UPDATE
Data Hub - Mise à jour des noms des jobs d’import
Une nouvelle route API permet de mettre à jour le nom des jobs d'import.
PATCH /v2/mapper/job/{jobId}
{
"jobName": "string"
}
Le nom doit être unique pour tous les jobs d’import.
Data Hub - Création multiple de transcoding
L’endpoint POST /v1/mapper/job/{jobId}/transcodings accepte désormais une liste d’objets pour convertir plusieurs valeurs pour plusieurs mappings sur un job d’import donné.
Exemple:
POST /v1/mapper/job/ad249986-0048-4a95-9fb7-8c4d1e01617f/transcodings
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 configuration des roles de custom fields : Settings > Custom Field Roles.
Page de configuration des éléments d'affichage du panier : Settings > Cart Settings.
Djust PAY
Validation et contrôle des commandes au paiement
Lorsque les commandes en checkout v2 et v3 sont passées via Djust Pay, les contrôles supplémentaires suivants sont opérés pour garantir que la commande est viable : Order Validation Rules
API
📘
NEW
Déclenchement automatique de capture CB :
Lorsque la commande est mise au statut SHIPPED (depuis le BO Djust ou en automatique via le Data Hub) et si celle-ci respecte TOUS les critères :
statut de paiement différent de PAID
moyen de paiement = credit card
Alors la capture automatique est déclenchée.
L’appel est identique à celui fait lors d’une capture manuelle livrée en 3.60.0.
La commande passe alors de la même manière au statut CAPTURE_PENDING puis PAID ou REFUSED en fonction du retour PSP et des organismes bancaires.
👍
UPDATE
Customer Accounts
Recherche par nom d'account :
Il est dorénavant possible de rechercher sur le nom d’un account dans la page liste account d’un Back Office Fournisseur.
GET /v1/customer-accounts
Le paramètre de requête search permet ainsi de rechercher par id, externalId et nom d'account.
Paiement par virement bancaire
L’API d’initialisation de paiement PAY-101 évolue pour prendre en charge les paiements par virement bancaires.
Il faut désormais ajouter le paramètre countryCode qui permet de donner le contexte pays/région d’appel pour les virements bancaires.
⚠️
Attention
Ce paramètre est rendu obligatoire pour tous les types de paiement.
Le retour de l’API évolue dans ce cas d’un virement bancaire, l’objet action remonte les informations nécessaires pour effectuer le virement par le client :
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 configuration du DAM : Settings > Product images management.
Data Hub - Configuration du mode d’exécution des jobs
Il est désormais possible d’empêcher l’exécution simultanée de plusieurs instances d’un même job d’import. Pour activer cette option, il est nécessaire d’en faire la demande auprès de l’équipe support.
Lorsque cette option est activée, vous pouvez définir le comportement d’une nouvelle instance de job si une exécution est déjà en cours. Deux choix sont possibles :
Exécuter dès que possible :
L’instance du job est mise en file d’attente et sera exécutée dès la fin de l’exécution en cours. Le statut de l’instance différée sera alors JOB_PENDING.
Passer à la suivante :
L’instance du job est annulée, et seule la prochaine exécution planifiée sera lancée. Le statut de l’instance annulée sera alors JOB_SKIPPED.
Le mode d’exécution peut être configuré directement depuis la page de configuration du job d’import.
API
📘
NEW
Punchout OCI
Il est désormais possible d'effectuer des parcours de punchout avec le protocole OCI (cXML était le seul supporté à date).
Initialisation du parcours de punchout OCI :
La première phase d’un parcours de punchout OCI consiste à permettre à l’acheteur de passer du système d’eProcurement sur lequel il s’est connecté vers le site catalogue de son fournisseur.
Cette étape se déroule comme suit :
Pour connecter la solution d’eProcurement OCI vers Djust, il faut passer par l'étape intermédiaire d’authentification via le endpoint :
ADM-PUNCHOUT-100 - POST /punchout/setup/{tenantConfigurationKey}
Ce endpoint est le même que celui utilisé pour la connexion cXML. La clé attendue, est une clé définie par Djust et fournie par votre CSM.
En cas de succès d’authentification, l’utilisateur est redirigé vers le catalogue fournisseur correspondant. Dans le cas contraire il est redirigé vers une page d’erreur.
Génération du panier et envoi à la solution d’eProcurement :
Une fois que l’acheteur a décroché de la solution d’eProcurement vers le catalogue fournisseur et qu’il a pu naviguer et ajouté des éléments à son panier, il doit retourner vers la solution d’eProcurement avec le panier nouvellement créé.
Le parcours se passe ainsi :
Afin de pouvoir envoyer le panier à la solution d’eProcurement, le front client doit appeler la route de génération de panier suivante :
ADM-PUNCHOUT-500 - GET /punchout/{tenantConfigurationKey}/commercial-orders/{commercialOrderId}/oci
Cette route retourne une liste clé/valeur d'éléments constituants le panier respectant la norme OCI :
Ces éléments sont transformés par le front dans un formulaire posté ensuite vers la solution d’eProcurement.
👍
UPDATE
Product Variants
Ajout de la gestion des id externes sur les routes d'administration de variants :
Les routes d'administration suivantes sont maintenant accessibles via les id externes de variant :
PATCH /v1/product-variants
DELETE /v1/product-variants/{productVariantId}
GET /v1/product-variants/{productVariantId}
PUT /v1/product-variants/{productVariantId}
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID
Par défaut, l’idType est à DJUST_ID.
Orders
Ajout de la gestion des id externes sur les routes d'administration de commandes :
Les routes suivantes sont maintenant accessibles via les id externes de commande :
POST /v1/logistic-orders
GET /v1/logistic-orders/{orderLogisticId}
PATCH /v1/logistic-orders/{orderLogisticId}
PUT /v1/logistic-orders/{orderLogisticId}/accept
GET /v1/logistic-orders/{orderLogisticId}/approvals
PUT /v1/logistic-orders/{orderLogisticId}/cancel/{customerUserId}
PUT /v1/logistic-orders/{orderLogisticId}/complaint
PUT /v1/logistic-orders/{orderLogisticId}/complete
PUT /v1/logistic-orders/{orderLogisticId}/confirm-shipment/{customerUserId}
PUT /v1/logistic-orders/{orderLogisticId}/created
PUT /v1/logistic-orders/{orderLogisticId}/decline
PUT /v1/logistic-orders/{orderLogisticId}/export
GET /v1/logistic-orders/{orderLogisticId}/history
GET /v1/logistic-orders/{orderLogisticId}/lines
PATCH /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
PUT /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
PUT /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}/delete
GET /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}/threads
PUT /v1/logistic-orders/{orderLogisticId}/payment/invalidate/{customerUserId}
PUT /v1/logistic-orders/{orderLogisticId}/payment/reconcile
PUT /v1/logistic-orders/{orderLogisticId}/payment/validate/{customerUserId}
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID
Par défaut, l’idType est à DJUST_ID.
Accounts
Ajout de la gestion des id externes sur les routes d'administration de comptes clients :
Les routes suivantes sont maintenant accessibles via les id externes de compte :
PATCH /v1/customer-accounts\
GET /v1/customer-accounts
GET /v1/customer-accounts/name
GET /v1/customer-accounts/{customerAccountId}
PUT /v1/customer-accounts/{customerAccountId}
GET /v1/customer-accounts/{customerAccountId}/addresses
POST /v1/customer-accounts/{customerAccountId}/addresses
DELETE /v1/customer-accounts/{customerAccountId}/addresses/{addressId}
PUT /v1/customer-accounts/{customerAccountId}/addresses/{addressId}
POST /v1/customer-accounts/{customerAccountId}/customer-organisations
PUT /v1/customer-accounts/{customerAccountId}/customer-organisations/{organisationId}
GET /v1/customer-accounts/{customerAccountId}/customer-users
POST /v1/customer-accounts/{customerAccountId}/customer-users
PATCH /v1/customer-accounts/{customerAccountId}/payment-type
PATCH /v1/customer-accounts/{customerAccountId}/validate
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID
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 liste des Stores : Stores. (Pour les clients concernés)
Page liste des Offres : Offers.
Page liste des Organisations : Customers > Organisations.
Page de détail de commande
Afin de faciliter la relecture des lignes de commandes, le nombre de ligne affiché a été augmenté à 50 lignes. Il offre ainsi une aisance de lecture grandement améliorée.
Page liste des accounts
La recherche d'accounts est facilitée avec l'ajout d'un nouveau filtre de recherche par ID (Djust pour le moment, la prise en charge des IDs externes arrivera dans une version prochaine).
API
👍
UPDATE
Orders
Filtrage des commandes commerciales sur une liste d'accounts :
Il est désormais aussi possible de récupérer les commandes commerciales en filtrant sur une liste d'id d'accounts via le paramètre de requête customerAccountIds :
ORDER-560 - GET /v1/shop/commercial-orders
⚠️
Attention
Si une valeur est renseignée dans le paramètre customerAccountIds, alors automatiquement l'identifiant du compte passé dans le header est ignoré.
Filtrage des commandes commerciales à l'utilisateur connecté :
Afin de pouvoir récupérer l’ensemble des commandes commerciales d’un customer user sur tous ses comptes (via customerAccountIds) un nouveau filtre est ajouté sur la route de récupération de commandes ORDER-560.
Ainsi, la route ORDER-560 - GET /v1/shop/commercial-orders évoluera comme ceci avec l’ajout de l’attribut suivant :
connectedUserOnly : booléen optionnel pour préciser si oui ou non la réponse doit être filtrée sur le customer user connecté.
Si le param connectedUserOnly est à true, alors les commandes remontées seront celles du customer user de l’ensemble des accounts précisés dans la liste d’ids customerAccountIds.
Data Hub
Création multiple de transcoding
L’endpoint POST /v1/mapper/job/{jobId}/transcodings accepte désormais une liste d’objets pour convertir plusieurs valeurs pour plusieurs mappings sur un job d’import donné.
Exemple:
POST /v1/mapper/job/ad249986-0048-4a95-9fb7-8c4d1e01617f/transcodings
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 liste des Assortiments : Catalog > Assortments.
Page liste des Fournisseurs : Suppliers.
Page liste des Comptes : Customers > Accounts.
Page de gestion des locales : Settings > Locales management.
API
📘
NEW
Customer users
Récupération des customer users d'une liste de comptes :
Afin de permettre la gestion des users multi compte, une api a été créé pour récupérer la liste de tous les users des différents accounts.
ACCOUNT-502 - GET /v1/shop/customer-accounts/users
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 liste des Restrictions de catalogues : Catalog > Catalog Views.
API
📘
NEW
Customer users
Ouverture de la modification d'un customer user en front :
Il est désormais possible de modifier les informations d’un user du même account.
Le body est similaire à la route de modification du customer user connecté USER-201.
🗒️
Note
L'utilisation de cette route est soumise au droit : USER_FOC_MANAGEMENT. Pour l'activer, veuillez vous rapprocher de votre CSM.
Association/dissociation d'un customer user à son compte client :
Afin de permettre une administration plus approfondie des utilisateurs d’un même compte, il est maintenant possible d’associer un utilisateur à son compte alors qu’il est déjà présent sur un autre compte. Il est aussi possible de le dissocier de son compte.
L'utilisation de cette route est soumise aux droits suivants :
FOC_CUSTOMER_USER_ACCOUNT_ASSIGN pour l'association d'un user à un compte
FOC_CUSTOMER_USER_ACCOUNT_REMOVE pour la dissociation d'un user à un compte
Pour l'activer, veuillez vous rapprocher de votre CSM.
Product variants
Une nouvelle route API a été créé afin de permettre la récupération des informations d’un variant spécifique.
PRODUCT-510 - GET /v1/shop/product-variants/{productVariantId}
👍
UPDATE
Product variants
Ajout de la gestion des id externes sur les routes d'administration de variants :
Les routes d'administration suivantes sont maintenant accessibles via les id externes de variant :
PATCH /v1/product-variants
DELETE /v1/product-variants/{productVariantId}
GET /v1/product-variants/{productVariantId}
PUT /v1/product-variants/{productVariantId}
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID
Par défaut, l’idType est à DJUST_ID.
Offers
Ajout de la gestion des id externes sur les routes d'administration d'offres :
Les routes d'administration suivantes sont maintenant accessibles via les id externes d’offre :
PATCH /v1/offer-inventories
PATCH /v1/offer-inventories/{offerInventoryId}/offer-prices
DELETE /v1/offer-inventories
GET /v1/offer-inventories
GET /v1/offer-inventories/{offerInventoryId}
PUT /v1/offer-inventories/{offerInventoryId}
PUT /v1/offer-inventories/{offerInventoryId}/offer-prices
DELETE /v1/offer-inventories/{offerInventoryId}/offer-prices/{offerPriceId}
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID
Par défaut, l’idType est à DJUST_ID.
Customer Accounts
Ajout de nouvelles adresses partagées sur un compte client :
Il est maintenant possible pour une adresse d’être partagée par plusieurs accounts lors d’une création depuis le Back Office.
POST /v1/customer-accounts/{customerAccountId}/addresses
🗒️
Note
Aucun changement n'est visible sur le contrat de l'API. En revanche, l'ajout d'une adresse avec un id externe déjà existant n'est plus bloqué.
En effet, si l'adresse est reconnue via son id externe, alors elle est affectée au compte sans prendre en compte d'éventuels changements donnés.
Customer Organisations
Modification de la pagination de la récupération des utilisateurs d'une organisation :
La route d'administration de récupération des utilisateurs d'une organisation évolue avec une pagination corrigée et similaire aux autres routes.
GET /v1/customer-organisations/{organisationId}/customer-users
Products
Prise en charge des bundles dans la récupération d'un produit :
Le retour de l’appel API de récupération des informations d'un produit a été modifié afin de préciser si un bundle est relié au produit ou non.
Le champs ajouté est un booléen : isBundle.
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 gestion des règles d'achats / parcours de création / suppression de règles d'achats : Customers > Buying Policies.
Data Hub
Mécanisme de retry automatique pour les exports par Connecteur API
Lorsqu’un export par Connecteur API échoue (par exemple pour cause d’indisponibilité temporaire ou d’erreur réseau), le système effectuera désormais jusqu’à 3 tentatives supplémentaires espacées de 5 minutes chacune.
Importer plusieurs adresses pour des Accounts par Connecteur API
Il désormais possible de créer plusieurs adresses pour un même Account depuis le Connecteur API.
Le format de la réponse API attendu par le Connecteur API est le suivant:
Ajout de la gestion des id externes sur les routes d'administration produits :
Les routes d'administration suivantes sont maintenant accessibles via les id externes de produit :
PATCH /v1/products
POST /v1/products/with-count/back-office
PATCH /v1/products/status/activate
GET /v1/products/with-count
GET /v1/products/{id}
DELETE /v1/products/{productId}
PUT /v1/products/{productId}
GET /v1/products/{productId}/related-products
DELETE /v1/products/{productId}/related-products/{relatedProductId}
PUT /v1/products/{productId}/related-products/{relatedProductId}
Le paramètre de requête supplémentaire idType est ajouté afin de pouvoir utiliser ces routes soit par l’id Djust soit par id externe.
idType peut prendre deux valeurs : DJUST_ID ou EXTERNAL_ID