View Categories

📘 Règles de transport automatiques

Introduction

Ce guide explique comment créer des règles simples permettant de contrôler automatiquement le traitement des commandes et des livraisons.

Vous pouvez utiliser ces règles pour :

  • Appliquer des options de livraison
  • Ajouter ou supprimer des produits
  • Définir des conditions de livraison

Automatiser les décisions de traitement des commandes

🧩 Fonctionnement d’une règle

Chaque règle suit cette structure :

ON
IF
THEN
[ELSE ]
ENDIF

En langage simple :

ON → Quand la règle se déclenche ?

IF → Quelles conditions doivent être remplies ?

THEN → Que doit-il se passer ?

ELSE (optionnel) → Que se passe-t-il sinon ?

🚀 Étape 1 : Choisir le moment d’exécution (événement)

Vous pouvez déclencher les règles à des moments précis :

  • ORDERLOAD → Lors du chargement d’une commande
  • WS_CREATEDELIVERY → Lors de la création d’une étiquette de trnasport via webservice

👉 Exemple : ON ORDERLOAD

🔍 Étape 2 : Définir les conditions

Les conditions déterminent si la règle s’applique.

Condition simple

PARCELWEIGHT > 10

👉 Signification : la règle s’applique si le colis pèse plus de 10

RECIPCOUNTRYCODE = ‘FR’

👉 Signification : la règle s’applique si le colis est envoyé en France


Combiner plusieurs conditions

Utilisez :

  • AND → toutes les conditions doivent être vraies
  • OR → au moins une condition doit être vraie

(PARCELWEIGHT > 10 AND RECIPCOUNTRYCODE = ‘FR’)

👉 Signification : colis lourd et destination France

⚙️ Étape 3 : Utiliser les fonctions

Vous pouvez utiliser des fonctions pour simplifier la logique :

  • CONTAINS → contient un texte
  • IN → appartient à une liste
  • HASVALUE → champ renseigné
  • ISEMPTY → champ vide

👉 Exemples :
SKU IN (‘A’, ‘B’, ‘C’)
NAME CONTAINS (‘Book’)
RECIPRELAYNUMBER HASVALUE

📦 Étape 4 : Définir les actions

1. Définir une valeur

SIGNATURE = ‘YES’

👉 Exemple : exiger une signature à la livraison


2. Ajouter un produit

ADDPRODUCT(SKU=‘ABC’, QUANTITY=1)

👉 Exemple : ajouter automatiquement un produit cadeau


3. Supprimer un produit

DELETEPRODUCT(SKU=‘ABC’)

👉 Exemple : retirer un produit de la commande


Actions multiples

Vous pouvez combiner plusieurs actions :

SIGNATURE=‘YES’ ADDPRODUCT(SKU=‘A’, QUANTITY=1)

🧾 Exemple complet

ON ORDERLOAD
IF (PARCELWEIGHT > 10 AND RECIPCOUNTRYCODE = ‘FR’)
THEN SIGNATURE = ‘YES’
ELSE SIGNATURE = ‘NO’
ENDIF

Signification :

  • Lors du chargement d’une commande
    Si le colis est lourd et à destination de la France
  • Alors une signature est requise
  • Sinon, aucune signature

🏷️ Données disponibles

Vous pouvez construire des règles à partir de :

Informations colis

  • Poids
  • Valeur
  • Valeur d’assurance

Informations destinataire

  • Pays
  • Point relais

Informations produit

  • SKU (code produit)
  • Nom
  • Quantité

Informations livraison

  • Service de livraison
  • Mots-clés
  • Unité de poids
  • Signature

✅ Bonnes pratiques

  • Gardez les règles simples et lisibles
  • Utilisez des parenthèses pour clarifier
  • Vérifiez les valeurs (ex : ‘FR’)
  • Commencez simple puis enrichissez
  • Testez avant mise en production

⚠️ Erreurs courantes à éviter

  • Oublier les guillemets (‘FR’ ✔, FR ✖)
  • Oublier ENDIF
  • Trop de conditions sans structure
  • Mauvais nom de variable

🎯 Résumé

Ces règles vous permettent de :

  • Automatiser les décisions de livraison
  • Contrôler le contenu des commandes
  • Appliquer des règles métier
  • Réduire les tâches manuelles

🎯 Cas métiers courants

🚚 1. Livraison gratuite pour les commandes élevées

ON ORDERLOAD
IF PARCELVALUE >= 100
THEN SHIPPINGSERVICEKEY = ‘FREE’
ENDIF

👉 Si la commande dépasse 100€, la livraison est gratuite


🇫🇷 2. Signature obligatoire en France

ON WS_CREATEDELIVERY
IF RECIPCOUNTRYCODE = ‘FR’
THEN SIGNATURE = ‘YES’
ENDIF

👉 Toutes les livraisons en France nécessitent une signature


📦 3. Ajouter un cadeau promotionnel

ON ORDERLOAD
IF SKU IN (‘PROMO1’, ‘PROMO2’)
THEN ADDPRODUCT(SKU=‘GIFT01’, QUANTITY=1)
ENDIF

👉 Ajoute automatiquement un cadeau


⚖️ 4. Transport spécial pour colis lourds

ON WS_CREATEDELIVERY
IF PARCELWEIGHT > 20
THEN SHIPPINGSERVICEKEY = ‘HEAVY’
ENDIF

👉 Utilise un transport spécifique pour colis lourds


❌ 5. Supprimer produits interdits

ON ORDERLOAD
IF RECIPCOUNTRYCODE = ‘US’
THEN DELETEPRODUCT(SKU=‘ALCOHOL01’)
ENDIF

👉 Retire les produits interdits selon le pays


🎁 6. Ajouter protection pour produits fragiles

ON ORDERLOAD
IF NAME CONTAINS (‘Glass’)
THEN ADDPRODUCT(SKU=‘PROTECT_BOX’, QUANTITY=1)
ENDIF

👉 Ajoute un emballage protecteur


🚛 7. Livraison en point relais

ON WS_CREATEDELIVERY
IF RECIPRELAYNUMBER HASVALUE
THEN SHIPPINGSERVICEKEY = ‘RELAY’
ENDIF

👉 Utilise un point relais si renseigné


💰 8. Assurance automatique

ON WS_CREATEDELIVERY
IF PARCELVALUE > 200
THEN PARCELINSURRANCEVALUE = PARCELVALUE
ENDIF

👉 Assure les colis de valeur


🌍 9. Livraison internationale

ON WS_CREATEDELIVERY
IF RECIPCOUNTRYCODE <> ‘FR’
THEN SHIPPINGSERVICEKEY = ‘INTERNATIONAL’
ENDIF

👉 Applique un transport international


🧮 10. Règles de livraison combinées

ON ORDERLOAD
IF (PARCELVALUE >= 100 AND PARCELWEIGHT < 10)
THEN SHIPPINGSERVICEKEY = ‘FREE’
ELSE SHIPPINGSERVICEKEY = ‘STANDARD’
ENDIF

👉 Livraison gratuite sous conditions, sinon standard


🎯 11. Valeurs obligatoires

ON ORDERLOAD
IF RECIPRELAYNUMBER ISEMPTY
THEN SHIPPINGSERVICEKEY = ‘HOME’
ENDIF

👉 Livraison à domicile si pas de relais


🛍️ 12. Bonus pour grosses commandes

ON ORDERLOAD
IF QUANTITY >= 10
THEN ADDPRODUCT(SKU=‘BULK_DISCOUNT’, QUANTITY=1)
ENDIF

👉 Ajoute un bonus pour commandes volumineuses

💡 Conseils d’utilisation

  • Copiez un scénario proche de votre besoin
  • Adaptez les valeurs (prix, pays, SKU…)
  • Combinez plusieurs règles si nécessaire
  • Testez avec des exemples avant mise en production