Djust 3.50.0 - Semaine du 28 Jan 2025

Périmètre

Data Hub

Nouvelle gestion de l'authentification

Vous pouvez désormais sélectionner votre méthode d’authentification directement depuis la section “Authentication type” lors de la configuration de la connexion client:

  • No Auth
  • OAuth 2.0 (password grant) : avec les champs requis pour configurer votre accès sécurisé (Access Token URL, Client ID, Client Secret, Username, Password).

Changements côté API POST /v1/mapper/client

  1. Ajout du type API_OAUTH2_CLIENT
    1. Un nouveau type de client d’authentification a été introduit pour prendre en charge l’OAuth 2.0 avec le grant type “Password”.
  2. Ajout du champ connectionInformation :
    Ce champ permet de configurer les informations nécessaires à l’authentification, incluant :
    • baseUrl : l’URL de base de l’API.
    • accessTokenUrl : l’URL pour obtenir le token d’accès.
    • clientId et clientSecret : identifiants du client.
    • grantTypeInformation : contient le grant type utilisé (PASSWORD) et les champs username et password.
"id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "Example OAuth 2 Client",
    "active": true,
    "createdAt": "2025-01-24T18:00:00.000Z",
    "updatedAt": "2025-01-24T18:00:00.000Z",
    "clientConfiguration": {
        "type": "API_OAUTH2_CLIENT",
        "connectionInformation": {
            "type": "API_OAUTH2_CLIENT",
            "baseUrl": "https://api.example.com",
            "httpHeaders": {},
            "accessTokenUrl": "https://auth.example.com/oauth/token",
            "clientId": "exampleClientId123",
            "clientSecret": "exampleClientSecret456",
            "grantTypeInformation": {
                "grantType": "PASSWORD",
                "username": "exampleUser",
                "password": "examplePassword"
            }
        }
    }
}


API

👍

UPDATE

Administration

Les routes suivantes d'administration back office ont été modifiées pour homogénéiser et fiabiliser les paramètres de pagination :

  • Modification des valeurs min des paramètres de requête page à 0 et size à 1 :
    • Routes d'administration back-office concernées :
    GET /public/v1/suppliers
    GET /v1/assortments
    GET /v1/buying-policies/{id}/customer-users
    GET /v1/customer-accounts
    GET /v1/customer-accounts/{customerAccountId}/customer-users
    GET /v1/customer-organisations/{organisationId}/customer-users
    GET /v1/customer-users
    GET /v1/logistic-orders
    POST /v1/logistic-orders
    GET /v1/logistic-orders/{orderLogisticId}/lines
    GET /v1/mail-templates
    GET /v1/mapper/jobout/{jobOutId}/exported-item-statuses
    GET /v1/mapper/status/all/{jobId}
    GET /v1/mapper/statusout/{jobOutId}/all
    GET /v1/operator-users
    GET /v1/product-variants
    GET /v1/products/with-count
    POST /v1/products/with-count/back-office
    GET /v1/stores
    GET /v2/user-groups/{groupId}/users
    • Routes front-office concernées :
    PRODUCT-551 : GET /v1/shop/autocomplete
    ACCOUNT-550 : GET /v1/shop/customer-accounts/orders
    ACCOUNT-503 : GET /v1/shop/customer-accounts/organisations (deprecated)
    ACCOUNT-555 : GET /v1/shop/customer-accounts/organisations/{organisationId}/orders
    ACCOUNT-504 : GET /v1/shop/customer-accounts/organisations/{organisationId}/users
    ACCOUNT-502 : GET /v1/shop/customer-accounts/users
    PRODUCT-550 : GET /v1/shop/list
    N/A : GET /v1/shop/logistic-orders (deprecated)
    ORDER-550 : POST /v1/shop/logistic-orders
    ORDER-555 : GET /v1/shop/logistic-orders/{orderLogisticId}/lines
    QUOTE-500 : GET /v1/shop/master-quotes
    PRODUCT-503 : GET /v1/shop/products/{productIdentifier}/related-products
    SUPPLIER-550 : GET /v1/shop/suppliers
    SUPPLIER-551 : GET /v1/shop/suppliers/{supplierId}/evaluations
    PRODUCT-553 : GET /v2/shop/autocomplete
    PRODUCT-552 : GET /v2/shop/search

  • Suppression du paramètre de requête pageable:
    • Routes d'administration back-office concernées :
    GET /v1/attributes
    GET /v1/buying-policies
    GET /v1/catalog-views
    GET /v1/catalog-views/{id}/products
    GET /v1/customer-organisations
    GET /v1/customer-organisations/{organisationId}/customer-users
    GET /v1/customer-tags
    GET /v1/mapper/status/all/{jobId}
    GET /v1/mapper/statusout/{jobOutId}/all
    GET /v1/product-tags
    GET /v1/products/catalog-views/{id}
    GET /v1/stores
    GET /v1/supplier-quotes
    GET /v1/supplier-quotes/{supplierQuoteId}/orders
    GET /v1/transactions/unreconciled
    GET /v2/user-groups/{groupId}/users
    • Routes front-office concernées :
    N/A : GET /v1/shop/attributes
    ACCOUNT-550 : GET /v1/shop/customer-accounts/orders
    ACCOUNT-503 : GET /v1/shop/customer-accounts/organisations (deprecated)
    ACCOUNT-555 : GET /v1/shop/customer-accounts/organisations/{organisationId}/orders
    ACCOUNT-504 : GET /v1/shop/customer-accounts/organisations/{organisationId}/users
    ACCOUNT-502 : GET /v1/shop/customer-accounts/users
    SUPPLIER-550 : GET /v1/shop/suppliers
    SUPPLIER-551 : GET /v1/shop/suppliers/{supplierId}/evaluations

  • Ajout du paramètre de requête pagemanquant sur les routes :
    • Routes d'administration back-office concernées :
    GET /v1/attributes
    GET /v1/buying-policies
    GET /v1/catalog-views
    GET /v1/catalog-views/{id}/products
    GET /v1/customer-organisations
    GET /v1/customer-tags
    GET /v1/product-tags
    GET /v1/products/catalog-views/{id}
    GET /v1/supplier-quotes
    GET /v1/supplier-quotes/{supplierQuoteId}/orders
    GET /v1/suppliers/{supplierId}/supplier-users
    GET /v1/transactions/unreconciled
    • Routes front-office concernées :
    N/A : GET /v1/shop/attributes
    ORDER-560 : GET /v1/shop/commercial-orders

  • Ajout des paramètres de requête sizeet sort manquants sur les routes :
    • Routes d'administration back-office concernées :
    GET /v1/attributes
    GET /v1/buying-policies
    GET /v1/catalog-views
    GET /v1/catalog-views/{id}/products
    GET /v1/customer-organisations
    GET /v1/customer-tags
    GET /v1/jobs
    GET /v1/product-tags
    GET /v1/products/catalog-views/{id}
    GET /v1/supplier-quotes
    GET /v1/supplier-quotes/{supplierQuoteId}/orders
    GET /v1/suppliers/{supplierId}/supplier-users
    GET /v1/transactions/unreconciled
    • Routes front-office concernées :
    N/A : GET /v1/shop/attributes
    ORDER-560 : GET /v1/shop/commercial-orders

  • Modification des valeurs par défaut des paramètres de requête page à 0 et size à 20 :
GET /v1/customer-accounts

Orders

Les routes de récupération de commande se voient enrichies par l'id externe de la catégorie de classification. Il n'y avait jusqu'à présent que le nom de la catégorie dans les réponses API.

La nouvelle propriété se trouve dans l'objet orderLogisticLineProductDto de la réponse.

  • Routes d'administration back-office :
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}
GET /v1/logistic-orders/{orderLogisticId}/shipments
  • Routes front-office :
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 (deprecated)
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-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-556 : GET /v1/shop/logistic-orders/{orderLogisticId}/approvers
ORDER-555 : GET /v1/shop/logistic-orders/{orderLogisticId}/lines
ORDER-206 : PATCH /v1/shop/logistic-orders/{orderLogisticId}/lines/{orderLogisticLineId}
ORDER-560 : GET /v1/shop/commercial-orders
ORDER-100 : POST /v1/shop/commercial-orders
ORDER-500 : GET /v1/shop/commercial-orders/{orderCommercialId}
ORDER-107 : POST /v2/shop/supplier-quotes/{supplierQuoteId}/initialize-orders

Il est désormais aussi possible de récupérer les commandes logistiques en filtrant sur une liste d'id d'accounts via le paramètre de requête customerAccountIds :

N/A : GET /v1/shop/logistic-orders (deprecated)
ORDER-550 : POST /v1/shop/logistic-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é.


mapper

La valeur JOB_SKIPPED a été ajoutée à la liste des valeurs possibles pour l'attribut status de la réponse.

GET /v1/mapper/job
POST /v1/mapper/job
GET /v1/mapper/job/{jobId}
PATCH /v1/mapper/job/{jobId}
PUT /v1/mapper/job/{jobId}
GET /v1/mapper/status/all/{jobId}
GET /v1/mapper/status/{jobId}
POST /v2/mapper/job

Rôles des utilisateurs

Le paramètre de requête client des routes d'administration des rôles des utilisateurs devient obligatoire :

GET /v1/roles
POST /v1/roles
POST /v2/user-groups

Paniers

Il est désormais possible d'utiliser les paniers comme des buying lists. Il suffit pour cela de préciser son type via la propriété typedes APIs suivantes :

CART-100 : POST /v2/shop/carts
CART-200 : PUT /v2/shop/carts/{cartId}

Les valeurs possibles sont CART et BUYING_LIST.

ℹ️

Point d'attention

La valeur par défaut sur l'appel à CART-100 du paramètre type est CART.

En revanche, un appel sans valeur renseignée pour le paramètre type sur CART-200 conservera la donnée. Il n'y a dans ce cas aucune valeur par défaut.