Prérequis
Magento
- Magento supérieure ou égale à la version 2.4 (2.4+, 2.5+, 2.6+) pour les versions OpenSource et Adobe Commerce.
Note : pour la version 2.4.0 uniquement, un patch officiel Magento est à appliquer : Shipping labels creation known issue in Magento 2.4.0
Le bug apparaît sur la version 2.4.0 (résolu en 2.4.1). Il provoque des dysfonctionnements dans la génération des étiquettes et l'affichage des livraisons.
Tunnels de commande
Liste des tunnels de commande compatibles
PHP
- Version de PHP comprise entre 7.2 et 8.1
- Extension SOAP (php-soap) pour la livraison en Point Relais® et l'impression des étiquettes
Configuration
L'activation du mode de livraison Mondial Relay s'effectue depuis le menu : Stores > Configuration > Sales > Shipping Methods > Mondial Relay
Général
- Activé (Enabled) : activer les méthodes d'expédition Mondial Relay
- Titre (Title) : titre de la méthode
- API Enseigne (API Company) : enseigne fournie par Mondial Relay
- API Référence (API Reference) : référence
- API Clé (API key) : clé privée fournie par Mondial Relay
- Tri (Sort Order) : position de la méthode dans le tunnel de commande
- Afficher la méthode si elle n'est pas applicable (Show Method if Not Applicable) : afficher la méthode Mondial Relay même si elle ne peut s'appliquer à l'adresse de livraison du client
- Message d'erreur (Displayed Error Message) : Message affiché si la méthode ne peut s'appliquer à l'adresse de livraison du client
Etiquette
- Taille étiquette (Label Size) : Format PDF de l'étiquette à générer (10x15, A4, A5)
- Supprimer l'étiquette après (Delete label after) : Supprimer les étiquettes de la base de données X jour(s) après génération. Cette configuration permet de ne pas alourdir inutilement la base avec des données obsolètes.
- Statut d'expédition après création (Shipping status after creation) : Statut à associer à l'expédition une fois l'étiquette Mondial Relay générée.
Retour
- Société (Company) : Destinataire du retour
- Email (Email) : E-mail de la personne en charge du retour
- Téléphone (Phone Number) : Téléphone de la personne en charge du retour
- Code postal (Postcode) : Code postal des points de retrait à proposer pour le retour
- Pays (Country) : Pays des points de retrait à proposer pour le retour
- Point Relais (Pickup location) : Point Relais® où récupérer le retour. La liste est actualisée en fonction du code postal et du pays (un enregistrement de la configuration est nécessaire)
Limitation
- Debug (Debug) : Affichage des paramètres de limitation au chargement des points de retrait
- Limite de poids (Weight Limit) : Activer la limite de poids pour la sélection des méthodes
- Calcul du poids (Weight Calculation) :
- Par produit : limitation effectuée sur le poids du produit le plus élevé du panier. Permet d'expédier plusieurs Colis si la limite de poids autorisée pour tous les produits de la commande est dépassée.
- Par panier : limitation effectuée sur le poids total des produits du panier. Si la limite est dépassée, la méthode ne sera pas proposée.
- Limite de développé (Size Limit) : Activer la limite du développé pour la sélection des méthodes (L + l + H en cm)
- Calcul du développé (Size Calculation) :
- Par produit : limitation effectuée sur le développé du produit le plus élevé du panier. Permet d'expédier plusieurs Colis si la limite de développé autorisée pour tous les produits de la commande est dépassée.
- Par panier : limitation effectuée sur le développé total des produits du panier. Si la limite est dépassée, la méthode ne sera pas proposée.
- Attribut produit longueur (Product Length Attribute) : Attribut produit longueur à utiliser dans le calcul du développé, champ texte avec nombre entier en centimètre.
- Attribut produit largeur (Product Width Attribute) : Attribut produit largeur à utiliser dans le calcul du développé, champ texte avec nombre entier en centimètre.
- Attribut produit hauteur (Product Height Attribute) : Attribut produit hauteur à utiliser dans le calcul du développé, champ texte avec nombre entier en centimètre.
Méthodes de livraison
Activez les méthodes de livraison Mondial Relay souhaitées :
- Point Relais® (24R)
- Standard (HOM)
- Confort (LD1)
- Premium (LDS)
Paramètres :
- Activé (Enabled) : activer la méthode
- Nom (Name) : nom de la méthode
- Poids maximum (Maximum Weight) : poids maximum accepté pour affichage de la méthode (voir les options de limitation pour le calcul).
- Développé maximum (Maximum Size) : développé maximum accepté pour affichage de la méthode (voir les options de limitation pour le calcul).
- Prix (Price) : prix de la méthode (pays / montant / poids (de) / poids (à) / Gratuité). Pour un tarif unique, laissez vide les champs "poids (de)" et "poids (à)". Le montant de gratuité indiqué est calculé selon le sous-total TTC du panier avec remises.
- Frais (Fee) : appliquer un frais supplémentaire selon un code postal. Le montant saisi est ajouté au prix de base.
- 20000 : le code postal doit être exactement 20000
- 20* : le code postal doit commencer par 20
- Pays (Ship to Specific Countries) : pays activés pour la méthode
- Assurance par défaut (Default Insurance) : Niveau d'assurance à appliquer par défaut lors de l'expedition (étiquette)
- Tri (Sort Order) : position de la méthode
Uniquement en Points Relais® :
- Méthodes disponibles (Available methods) : méthodes à activer lors du choix des Points Relais®. Les méthodes sélectionnées déterminent le poids maximum autorisé pour l'affichage de la méthode (Points Relais L, XL ou Drive).
- Type de carte (Map Type) : Google Maps (licence) ou OpenStreetMap (gratuit)
- Google Map API Key (Google Map API Key) : clé d'API Google pour affichage de la carte. Générer une clé.
- Ouvrir la liste des points de retrait au clic sur la méthode de livraison (Open pickup list on shipping method selection) : Ouvrir directement la liste des points de retrait au clic sur la méthode de livraison. Dans le cas contraire, affichage de la liste sur le bouton "Continuer"
- Nombre de Points Relais (Number of pickup) : nombre de Point Relais® à présenter sur la carte
- Adresse par défaut (Default address) : permet de proposer une adresse par défaut pour la liste des points de retrait si le client n'a saisi aucune adresse avant sélection de la méthode
Configuration du prix
Pour une tarification au forfait, la configuration sera par exemple :
Prix | Pays | Poids (de) | Poids (à) |
5.90 | France |
Pour une tarification par poids, la configuration sera par exemple :
Prix | Pays | Poids (de) | Poids (à) |
5.38 | France | 250 | |
5.98 | France | 250 | 500 |
6.70 | France | 500 | 750 |
7.26 | France | 750 | 1000 |
8.06 | France | 1000 |
Paramètres de tests
- API Company : BDTEST13
- API Reference : 11
- API key : PrivateK
Impression des étiquettes
Configuration
Pour l'édition de l'étiquette les paramètres natifs suivants doivent être configurés :
Store > Configuration > Sales > Shipping settings > Origin
Remplir l'ensemble des champs (lieu où sont entreprosés les produits vendus).
Store > Configuration > General > General > Store information
- Store name : le nom commercial de la boutique
- Store phone number : numéro de téléphone de la boutique
Grille des étiquettes Mondial Relay
Une grille de génération rapide des étiquettes est disponible depuis le menu Vente > Mondial Relay > Etiquettes
Actions
Selon la disponibilité, 4 actions sont proposées :

Attente expédition
- Créer l'expédition et l'étiquette : Ajoute une expédition et génère une étiquette.
Attente étiquette
- Créer l'étiquette : Génère une étiquette.
- Imprimer le bon de livraison : Télécharge le PDF du bon de livraison (natif).
Prêt
- Imprimer l'étiquette : Télécharge le PDF de l'étiquette.
- Imprimer le bon de livraison : Télécharge le PDF du bon de livraison (natif).
Statut et poids
Le clic sur une ligne commande permet de modifier 2 informations :

- Statut d'expédition : Permet d'associer un statut à l'expédition. Un statut est automatiquement associé à la création de l'étiquette. Ce statut est à définir dans la configuration.
- Poids : Poids du colis en kgs ou lbs. Le poids du colis ne peut plus être modifié une fois l'étiquette générée.
Actions en masse
5 actions sont proposées :

- Créer les expéditions et imprimer les étiquettes : Ajoute les expéditions, génère puis télécharge les étiquettes des commandes sélectionnées.
- Imprimer les étiquettes : Télécharge un fichier PDF contenant les étiquettes des commandes sélectionnées.
- Imprimer les bons de livraison : Télécharge un fichier PDF contenant les bons de livraison (natif).
- Imprimer le bordereau de remise : Télécharge un fichier PDF des colis pour les commandes sélectionnées.
- Mettre à jour le statut de livraison : Modifier le statut de livraison des commandes sélectionnées.
Exemple de bordereau de remise :

Création manuelle
Sur la vue de création d'expédition de la commande, sélectionnez la case "Créer l'étiquette" (si vous omettez de cocher la case, l'étiquette pourra être générée utlérieurement).

Dans la fenêtre suivante, sélectionnez les produits à ajouter au colis. Vous ne pouvez créer qu'un seul colis pour une même expédition. Le poids est automatiquement récupéré à partir de l'attribut "poids" des produits. Vous pouvez manuellement ajuster la valeur, pour prendre par exemple en compte le poids de l'emballage. Sélectionnez le niveau d'assurance (de 0 à 5). Les autres champs (longueur, largeur, profondeur) ne sont pas utilisés.

Note : le poids du colis peut être saisi en kilo-gramme (kgs) ou en Livre (lbs)
L'expédition est alors créée, le numéro de colis est automatiquement associé et transmis au client.
Création automatique
Sur la vue de création d'expédition de la commande, sélectionnez la case "Créer automatiquement l'étiquette" (si vous omettez de cocher la case, l'étiquette pourra être générée utlérieurement).

L'étiquette est alors automatiquement créé selon les données de la commande et les configurations par défaut.
Note : si une erreur survient à la génération de l'étiquette, l'expédition est tout de même créée. Vous pouvez corriger les erreurs puis créer de nouveau l'étiquette manuellement depuis la vue expédition.
Pour finir, vous pouvez imprimer l'étiquette depuis la grille des commandes, en sélectionnant les commandes concernées, puis en sélectionnant l'action "Imprimer les étiquettes".
Si la commande contient déjà une expédition, vous pouvez générer ou re-générer une étiquette depuis la vue expédition de la commande.
Etiquettes de retour
Le module permet au commerçant de générer une étiquette de retour pour un client, sans que celui-ci n'est besoin de payer la livraison.
Le client dépose le colis dans n'importe quel Point Relais® vers le Point Relais® choisi par le commerçant.
Magento EE
La génération des étiquettes peut s'effectuer via le module RMA si celui-ci est activé (fonctionnalité native).
La génération de l'étiquette dpeuis le backoffice est possible à partir du moment où au moins un produit a été autorisé.
Le Point Relais® associé à l'étiquette est celui défini dans la configuration : Stores > Configuration > Sales > Shipping Methods > Mondial Relay > Retour
Le client peut obtenir et imprimer l'étiquette depuis son compte client.
Magento CE
La génération de l'étiquette de retour est possible à partir du moment où la commande a été expédiée (livraison générée). Sur la vue commande, un bouton Retour Mondial Relay apparaît :

Le formulaire permet de :
- Saisir l'adresse de l'expéditeur (automatiquement remplie à partir des données de l'adresse de facturation du client)
- Saisir l'adresse du retour, uniquement possible en Point Relais®.
La liste des Point Relais® de retour proposée est modifiable depuis la configuration : Stores > Configuration > Sales > Shipping Methods > Mondial Relay > Retour
- Code postal (Postcode) : Code postal des points de retrait à proposer pour le retour
- Pays (Country) : Pays des points de retrait à proposer pour le retour
Depuis la configuration, l'option Point Relais permet de sélectionner un Point Relais par défaut.
La validation du formulaire engendre la génération de l'étiquette. Il est nécessaire d'enregistrer le fichier PDF et de l'envoyer manuellement au client. Un lien de téléchargement à partage au client est également proposé.
API
List of REST Endpoints
GET /V1/guest-carts/:cartId/mondialrelay-pickup PUT /V1/guest-carts/:cartId/mondialrelay-pickup/:pickupId/:countryId/:code DELETE /V1/guest-carts/:cartId/mondialrelay-pickup GET /V1/carts/mine/mondialrelay-pickup PUT /V1/carts/mine/mondialrelay-pickup/:pickupId/:countryId/:code DELETE /V1/carts/mine/mondialrelay-pickup GET /V1/mondialrelayPickup/:pickupId/:countryId GET /V1/mondialrelayPickup GET /V1/mondialrelayPickup/:orderId
SOAP
mondialRelayShippingPickupRepositoryV1
- getList
Récupérer la liste des Points Relais® selon les critères de recherche :
['searchCriteria' => ['filterGroups' => [ ['filters' => [ [ 'field' => 'postcode', 'value' => '59450', ], [ 'field' => 'country', 'value' => 'FR', ], [ 'field' => 'code', 'value' => '24R', ], ] ] ] ] ]
Liste des valeurs pour code :
- 24R : Point Relais® jusqu'à 30kg
- 24L : Point Relais® jusqu'à 50kg
- DRI : Drive jusqu'à 150kg
- get
Récupérer les données d'un Point Relais® selon son identifiant et son pays :
[ 'pickupId' => '001425', 'countryId' => 'FR' ]
- save
Associer le Point Relais® à la quote :
[ 'cartId' => 1, 'pickupId' => '001425', 'countryId' => 'FR', 'code' => '24R', ]
- current
Récupérer le Point Relais® associé à la quote :
[ 'cartId' => 1 ]
- reset
Supprimer le Point Relais® associé à la quote :
[ 'cartId' => 1 ]
- shippingData
Récupérer les données de la livraison : code livraison et identifiant du Point Relais®
[ 'orderId' => 1 ]
Exemples (SOAP)
$token = '12345678912345678912345678912345'; $opts = ['http' => ['header' => "Authorization: Bearer " . $token]]; $context = stream_context_create($opts); $request = new SoapClient( "http://website.magento2.com/index.php/soap/?wsdl&services=mondialRelayShippingPickupRepositoryV1", ["soap_version" => SOAP_1_2, 'stream_context' => $context] ); /* Load pickup data */ $token = $request->MondialrelayShippingPickupRepositoryV1Get( [ 'pickupId' => '001425', 'countryId' => 'FR' ] ); /* Retrieve list of pickup */ $token = $request->MondialrelayShippingPickupRepositoryV1GetList( ['searchCriteria' => ['filterGroups' => [ ['filters' => [ [ 'field' => 'postcode', 'value' => '59450', ], [ 'field' => 'country', 'value' => 'FR', ], [ 'field' => 'code', 'value' => '24R', ], ] ] ] ] ] ); /* Save pickup for quote */ $token = $request->MondialrelayShippingPickupRepositoryV1Save( [ 'cartId' => 1, 'pickupId' => '001425', 'countryId' => 'FR', 'code' => '24R', ] ); /* Retrieve current selected pickup for quote */ $token = $request->MondialrelayShippingPickupRepositoryV1Current( [ 'cartId' => 1, ] ); /* Delete selected pickup for quote */ $token = $request->MondialrelayShippingPickupRepositoryV1Reset( [ 'cartId' => 1, ] ); /* Retrieve Shipping Data */ $token = $request->MondialrelayShippingPickupRepositoryV1ShippingData( [ 'orderId' => 1, ] );