Djust 3.58.0 - Semaine du 31 Mars 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 de la page des product tags a été revu afin de simplifier l'expérience utilisateur.
Cette page est accessible via l’interface de Settings > Product Tags.
API
NEW
Djust PAY
- Ajout de la prise en charge du 3DS dans les paiements CB :
Le contrat de la route d'initialisation de paiement évolue pour prendre en compte des éléments supplémentaires nécessaires au bon fonctionnement de transaction 3DS.
La route concernée par ce nouveau workflow est :
PAY-101 - POST /v1/shop/payments
Query parameter | Required | Type | Description |
---|---|---|---|
customerUserIP | ✅ | string | Adresse IP du customer user connecté qui passe la commande. |
browserInfo | ✅ | object | L’objet browserInfo contient l’ensemble des éléments issus du browser du client. Il provient de l’élément state.data.browserInfo du widget de Drop-In. |
Le body devient :
{
"referenceType": "string",
"reference": "string",
"paymentMethodData":
{
// Filled with drop-in paymentMethod object
},
"returnUrl": "string",
// 3DS additional parameters
"customerUserIP": "string",
"browserInfo":
{
// Filled with drop-in browserInfo object
}
}
Une fois le retour effectué du parcours 3DS, il est nécessaire de vérifier les informations liées à la transaction afin de terminer le workflow de paiement. Pour obtenir ces informations, une nouvelle route a été ajoutée :
PAY-102 - POST /v1/shop/payments/details
Il n'existe qu'un seul paramètre à envoyer dans le body :
Query parameter | Required | Type | Description |
---|---|---|---|
details | ✅ | string | Résultat de l’authentification encodée en base64 |
La réponse du POST est la suivante, elle est similaire au /payments hors 3DS :
{
"resultCode": "Authorised",
"pspReference": "V4HZ4RBFJGXXGN82"
}
UPDATE
Orders
- Ajout de la gestion des mentions légales d'exonération de taxes :
L’ensemble des APIs de gestion de commande évolue avec l’ajout de l’attribut taxLegalNotice
à la ligne de commande.
L’utilisation de ce champ reflète la nécessité d’apposer une mention légale d’exonération de TVA dans le cas où celle-ci ne doit pas être payée par l’acheteur au vendeur, la facture s’effectuant ainsi hors-taxe.
Le cas le plus courant est celui d’une livraison intracommunautaire.
Le nouveau champ taxLegalNotice
est ajouté dans l’objet taxInformation
déjà existant au niveau des prix de chaque ligne.
"taxInformation": {
"productTaxAmount": 0,
"productTaxCode": "string",
"productTaxRate": 0,
"shippingTaxAmount": 0,
"shippingTaxCode": "string",
"shippingTaxRate": 0,
"taxLegalNotice": "string" // NEW tax legal notice
}
NoteAfin de respecter une contrainte de décomissionnement d’Octobat chez Mirakl, il sera possible d’alimenter cet attribut depuis le front office via les APIs de Cart v1 uniquement.
En effet, le Cart v2 et les nouvelles routes de gestion des commandes sans panier passeront à terme par un traitement back pour alimenter ces informations.
En conséquence, les routes de modifications de panier suivantes sont impactées :
CART-200 - PUT /v1/shop/carts/{cartId}/lines
L’attribut taxLegalNotice
est ajouté à l’objet tax du body.
CART-500 - GET /v1/shop/carts
POST /v1/shop/carts
PUT /v1/shop/carts/{cartId}
PUT /v1/shop/carts/{cartId}/lines
L’attribut taxLegalNotice
est ajouté à l’objet tax de la réponse.
Les routes d'orders sont également touchées avec l'ajout de l'attribut taxLegalNotice
dans le snapshot des offer prices des lignes de commandes :
GET /v1/logistic-orders
POST /v1/logistic-orders
GET /v1/logistic-orders/{orderLogisticId}
GET /v1/logistic-orders/{orderLogisticId}/approvals
GET /v1/logistic-orders/{orderLogisticId}/lines
PATCH /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
PUT /v1/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
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}
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-555 - GET /v1/shop/logistic-orders/{orderLogisticId}/lines
ORDER-206 - PATCH /v1/shop/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
ORDER-107 - POST /v2/shop/supplier-quotes/{supplierQuoteId}/initialize-orders
L’attribut taxLegalNotice
est facultatif et n’est pas soumis à une vérification de format. Le front est responsable de la donnée injectée.
- Ouverture de la modification des quantités de lignes :
Un nouveau droit est ajouté pour pouvoir modifier les quantités des lignes de commande en tant qu’utilisateur non propriétaire.
Le nom du droit sera : ORDER_UPDATE_LINES_ON_ALL_ACCOUNT
. Il s’applique sur les commandes au statut DRAFT_ORDER
ou DRAFT_ORDER_ON_HOLD
.
Ainsi, la route d’update globale suivante est ouverte à modification si l’utilisateur qui en fait la demande possède ce droit :
ORDER-250 - PUT /v1/shop/logistic-orders/{orderLogisticId}/lines
- Modification des commandes groupées par un utilisateur différent de celui qui a créé la commande :
Afin de pouvoir modifier les CF des commandes d’autres utilisateurs en tant que customer user, un nouveau droit a été créé et est déjà en place sur ORDER-205
: ORDER_UPDATE_CF_ON_ALL_ACCOUNT
Ce droit doit s’appliquer désormais à l’ensemble des commandes de l’account du customer user au statut DRAFT_ORDER_ON_HOLD
et permet la modification des custom fields des commandes sur la route ORDER-250
.
AttentionLe droit
ORDER_UPDATE_CF_ON_ALL_ACCOUNT
permet la modification de CF de toutes les commandes de TOUS les accounts auxquels le customer user est rattaché.
Suppliers
La possibilité de filtrer l’api SUPPLIER-550 - GET /v1/shop/suppliers
avec les externals IDs des CFs au supplier a été ajoutée.
AttentionLes customs fields supportés sont les suivants :
Text
Long text
Boolean
List
Search
La route d'administration pour la récupération des informations des jobs d'indexation a été enrichie :
GET /v1/jobs
Cette modification permet de connaitre le statut de l’indexation mais aussi la date de début et de fin d’une indexation. Il sera aussi possible de connaitre la durée de cette indexation.
Le statut de l'indexation est disponible dans l'attribut jobStatus
. Les valeurs possibles sont :
SUCCESS
- 🆕
IN_PROGRESS
FAILED
La durée de l'indexation se trouve quant à elle dans l'attribut durationInMillis
et contient donc la durée de l'indexation en millisecondes.