Workflows
Cette page décrit les workflows complets et les dépendances entre les différents endpoints.
Vue d’ensemble des dépendances
Section intitulée « Vue d’ensemble des dépendances »┌─────────────────────────────────────────────────────────┐│ RÉFÉRENTIELS ││ ││ POST /articles ◄──── Prérequis pour tout ││ POST /customers ◄── Prérequis pour commandes * ││ POST /suppliers ◄── Prérequis pour appros * ││ ││ * selon configuration de votre activité │└────────────┬──────────────────────────┬─────────────────┘ │ │ ▼ ▼┌────────────────────────┐ ┌────────────────────────────┐│ FLUX COMMANDES │ │ FLUX APPROVISIONNEMENTS ││ │ │ ││ POST /orders │ │ POST /procurements ││ │ │ │ │ ││ ▼ │ │ ▼ ││ GET /orders/reports │ │ GET /procurements/reports││ │ │ │└────────────────────────┘ └────────────────────────────┘ │ │ ▼ ▼┌─────────────────────────────────────────────────────────┐│ STOCK ││ ││ GET /articles/stock ◄── Snapshot ││ GET /articles/movements ◄── Détail mouvements ││ │└─────────────────────────────────────────────────────────┘Workflow 1 : Commande client (Order)
Section intitulée « Workflow 1 : Commande client (Order) »-
Créer les articles —
POST /articlesTous les articles référencés dans la commande doivent exister. Sinon erreur 211.
-
Créer le client (si
config.CheckCustomerest activé) —POST /customersLe numéro client (
DOManagedCustomerNumber) doit exister. Sinon erreur 217. -
Envoyer la commande —
POST /ordersLa commande contient les lignes avec les références articles et quantités. Utilisez
validationOnly=truepour tester sans persister. -
Attendre le traitement WMS
Le WMS prend en charge la préparation. Ce traitement est asynchrone.
-
Récupérer le compte-rendu —
GET /orders/reportsPollez régulièrement avec
afterIdouafterDatepour récupérer les résultats :- Quantités préparées par ligne
- Détails des colis (poids, SSCC, numéros de tracking)
- URL de suivi
-
Suivre le stock —
GET /articles/stock/GET /articles/movementsLes mouvements de sortie sont visibles après expédition.
Workflow 2 : Approvisionnement fournisseur (Procurement)
Section intitulée « Workflow 2 : Approvisionnement fournisseur (Procurement) »-
Créer les articles —
POST /articlesLes articles attendus en réception doivent exister dans le référentiel.
-
Créer le fournisseur (si
config.CheckSupplierest activé) —POST /suppliersLe code fournisseur (
SupplierCode) doit exister. Sinon erreur 216. -
Déclarer l’approvisionnement —
POST /procurementsContient les lignes avec les articles attendus et les quantités.
-
Attendre la réception WMS
Le WMS enregistre les réceptions physiques.
-
Récupérer le compte-rendu —
GET /procurements/reportsPollez pour obtenir :
- Quantités reçues par ligne
- Numéros de lot et dates de péremption
- Détails de chaque réception
Workflow 3 : Mise à jour du référentiel articles
Section intitulée « Workflow 3 : Mise à jour du référentiel articles »-
Envoi initial —
POST /articlesCréez l’article avec ses codes-barres et variantes logistiques.
-
Mises à jour —
POST /articles(même endpoint)L’API fait un upsert : si l’article existe (même
activityCode+articleReference), il est mis à jour. -
Verrouillage après réception
Après la première réception WMS, certains champs sont verrouillés :
- Les dimensions et poids (si
RTopVlNouvelle = false) - Les variantes logistiques (si
NewLv = falsesur la VL 30) - Les données alcool
Ces verrous protègent la cohérence entre le référentiel et le WMS.
- Les dimensions et poids (si
Gestion des erreurs dans les workflows
Section intitulée « Gestion des erreurs dans les workflows »Quand un POST retourne un status Mixed (HTTP 206) :
- Les ressources listées dans
passedont été traitées - Les ressources dans
errorsn’ont pas été persistées - Vous pouvez corriger et renvoyer uniquement les ressources en erreur
- L’
operationIdpermet de tracer l’opération dans les logs
{ "status": "Mixed", "operationId": "abc-123", "passed": ["CMD_001"], "errors": { "CMD_002": [ { "code": "211", "description": "Article [UNKNOWN_ART] inconnu" } ] }}