Introduction
L’objectif principal est de réaliser la transmission, la modification et la suppression de la déclaration d'articles d'une enseigne vers un transporteur, afin d'assurer une mise à disposition des ramasses de celui-ci dans un contexte départ entrepôt ou SFS.
C’est un nouvel objet différent d’une order ou d’un shipment.
Un fulfillmentId viendra enrichir le shipment et celui-ci intègrera toutes les informations du fulfillment exceptés les produits.
1. Objectif de l’API
L’API permet de gérer les processus logistiques liés à une commande, notamment la collecte et la livraison des produits. Elle sert à transmettre les informations essentielles à la gestion des expéditions, comme les détails du point de collecte, de livraison, les contacts et les produits concernés.
2. Champs et Description des Données
2.1. Informations de la commande
•fulfillmentId : Identifiant unique de la commande à exécuter. Ce champ permet de tracer et de référencer la commande.
•referenceNumber : Numéro de référence de la commande, souvent utilisé comme identifiant externe pour un suivi dans des systèmes tiers.
•carrierSelection : Transporteur choisi pour la livraison de la commande. Ce champ précise le prestataire logistique sélectionné.
•storeId : Identifiant du magasin ou du centre logistique à partir duquel les produits seront collectés.
2.2. Informations de collecte (Picking)
L’objet picking contient des informations relatives au ramassage des produits par le transporteur.
•location :
•type : Type de lieu où la collecte aura lieu (par exemple, un entrepôt ou un point d’échange).
•id : Identifiant unique du lieu de collecte.
•comment : Commentaire optionnel pour donner des précisions sur l’emplacement.
•contact : Informations sur la personne à contacter pour la collecte.
•firstName et lastName : Nom et prénom de la personne de contact.
•phone et email : Coordonnées du contact pour toute communication.
•language : Langue parlée par la personne de contact (ex: fr pour français).
•timezone : Fuseau horaire du contact.
•main : Indicateur si c’est le contact principal.
•isProfessional : Indique si le contact est professionnel (entreprise).
•companyName : Nom de l’entreprise si applicable.
2.3. Informations de livraison (Delivery)
L’objet delivery décrit les détails de la livraison, y compris le lieu, le créneau horaire, et les contacts pour la réception.
•location :
•type : Type de lieu de livraison (par exemple, un point de collecte).
•id : Identifiant unique du point de livraison.
•carrierCode : Code du transporteur chargé de la livraison.
•comment : Commentaire optionnel pour des précisions sur le lieu.
•boxCategory : Informations sur la catégorie de boîte ou de casier utilisé pour la livraison.
•id : Identifiant de la catégorie de boîte.
•accessibility : Niveau d’accessibilité de la boîte (ex : UPPER pour une boîte en hauteur).
•interval : Plages horaires prévues pour la livraison, avec des champs de début et de fin.
•contact : Informations de la personne à contacter pour la livraison.
•firstName et lastName : Nom et prénom de la personne de contact.
•phone et email : Coordonnées pour des notifications ou communications.
•optIn : Indications sur les préférences de communication (sondages et notifications de livraison).
•language et timezone : Langue et fuseau horaire du contact.
•isProfessional : Indicate si le contact est professionnel (entreprise).
•companyName : Nom de l’entreprise si applicable.
2.4. Détails des produits
L’objet products contient une liste de produits à livrer. Chaque produit comprend les informations suivantes :
•type : Type ou catégorie du produit.
•ean : Code EAN du produit (code-barres international).
•label : Libellé ou nom du produit.
•quantity : Quantité de ce produit à livrer.
•weight : Poids du produit (en kg).
•dimensions (longueur, largeur, hauteur) : Dimensions du produit (en mm).
2.5. Services associés
•services : Type de service logistique requis, par exemple SERVICE_PICKUP_POINT pour indiquer qu’il s’agit d’un service de point de collecte.
Au 18/11, il n'y a que le service PICK_UP_POINT qui est utilisable en MVP.
3. Fonctionnement de l’API
L’API permet à un système d’informations logistiques ou e-commerce de transmettre les détails d’une commande, incluant la planification de la collecte et de la livraison, ainsi que les informations produits. L’objectif est de garantir une bonne coordination entre les magasins, les entrepôts, les transporteurs, et les destinataires finaux.
L’API prend en charge plusieurs cas d’usage, notamment :
•Collecte des produits dans un magasin ou entrepôt.
•Livraison à un point de collecte ou directement à une entreprise ou un particulier.
4. Règles de gestion
Si un shipment est déjà créé avec un fulfillmentId, ce fulfilment ne pourra PAS être modifié.
Si un shipment associé à un fulfillmentId est créé, alors on ne pourra pas réaliser le DELETE du fulfillment.
SI un fulfillment est créé, le shimpent reprendra les informations du fulfillment (hors objet produit).
Conclusion
Cette API est essentielle pour coordonner les opérations de livraison, en fournissant toutes les informations nécessaires au transporteur pour assurer une collecte et une livraison optimales des produits. Les différents objets JSON permettent de moduler la complexité des informations en fonction des besoins des services logistiques.