Sommaire
- Présentation
- Prérequis
- Configuration
- Génération des étiquettes
- Impression en masse
- Ligne de commande
- Fichiers et journalisation
Présentation
Le module d'impression des étiquettes DPD est un module complémentaire du module DPD. Il permet de générer et d'imprimer les étiquettes d'expédition DPD (et les bons de livraison) directement depuis Magento, via un Web Service DPD, sans passer par l'export d'un fichier vers "myDPD for Business" ou Station.NET.
Les deux approches restent disponibles : vous pouvez continuer à exporter un fichier dat pour "myDPD for Business" / Station.NET (voir la documentation Livraison) et/ou générer les étiquettes en ligne avec ce module.
Prérequis
Contrat
Un contrat DPD valide et actif.
Magento
- Compatible Magento 2.4.0 à 2.4.9, OpenSource / Adobe Commerce / Mage-OS.
PHP
- PHP >= 8.0
- Extensions PHP soap et simplexml activées
Module DPD
- Le module DPD (livraison) doit être installé et configuré au préalable.
- Les numéros de compte DPD de chaque méthode utilisée (Predict, Classic, Relais Pickup) doivent être renseignés.
- Le champ Agence DPD (DPD Agency) de la section Export (Station.NET) doit être renseigné.
- L'adresse d'origine doit être complète (voir Données de l'expéditeur).
Configuration
Web Service
La configuration s'effectue depuis le menu :
Boutiques (Stores) > Configuration (Configuration) > Ventes (Sales) > Modes de livraison (Shipping Methods) > DPD > Label (ePrint)
- Production (Production) : sur Non (par défaut), les étiquettes sont générées sur l'environnement de test DPD. Passez sur Oui pour l'environnement de production.
- User ID (User ID) : identifiant du Web Service, communiqué par DPD.
- Password (Password) : mot de passe du Web Service, communiqué par DPD.
La configuration peut être définie par boutique en cas de multi-boutique avec plusieurs contrats.
Données de l'expéditeur
Le module réutilise les données déjà configurées pour le module DPD. Aucune saisie supplémentaire n'est nécessaire.
- Adresse d'expédition : Magasins (Stores) > Configuration (Configuration) > Ventes (Sales) > Paramètres de livraison (Shipping settings) > Origine (Origin)
- Nom de l'expéditeur : nom de la boutique (Général (General) > Coordonnées de la boutique (Store Information))
- Téléphone expéditeur, Agence DPD : section DPD > Export (Station.NET)
- Numéro de compte DPD : celui de la méthode de livraison de la commande
Génération des étiquettes
Grille des commandes
Les étiquettes se génèrent depuis la grille Ventes (Sales) > DPD > Commandes (Orders). Le module ajoute deux colonnes à la grille (la colonne Exporté est masquée) :
Colonne Actions
- Créer la livraison et l'étiquette (Create Shipment and Label) : la commande n'a pas encore d'expédition
- Créer une étiquette (Create a Label) : une expédition Magento existe déjà
- Nouvelle étiquette (New Label) : une étiquette a déjà été générée pour la commande
L'action crée l'expédition Magento si nécessaire, ajoute le numéro de suivi DPD, notifie le client par e-mail (avec le lien de suivi), appelle le Web Service DPD et met l'étiquette PDF en cache.
Colonne Fichiers
- Bon de livraison (Packing Slip) : bon de livraison Magento de la commande
- Pour chaque numéro de suivi généré :
- Shipping Label : PDF de l'étiquette
- Etiquette + Bon de livraison (Label + Packing Slip) : PDF combiné (bon de livraison + étiquette)
Si le fichier d'une étiquette n'est plus présent sur le serveur, relancez l'action Nouvelle étiquette pour la régénérer.
Cas particuliers
- DPD Predict : l'adresse de livraison doit comporter un numéro de téléphone mobile (utilisé pour la notification Predict par SMS).
- Relais Pickup : la commande doit être associée à un identifiant de point relais (renseigné automatiquement par le module DPD lors du choix du relais dans le tunnel de commande).
- Assurance Ad Valorem : si l'assurance est activée sur la commande (voir documentation Livraison), la valeur assurée est transmise au Web Service.
Impression en masse
Sélectionnez plusieurs commandes dans la grille Ventes (Sales) > DPD > Commandes (Orders), puis l'action de masse souhaitée :
- Imprimer les étiquettes (Print Labels)
- Imprimer les bons de livraison (Print Packing Slips)
- Imprimer les étiquettes + bons de livraison (Print Labels + Packing Slips)
Un PDF unique regroupant tous les documents des commandes sélectionnées est généré. Les étiquettes manquantes sont créées à la volée ; en cas d'erreur sur une commande, une page d'erreur est insérée à sa place dans le PDF.
Le nombre de commandes traitées en une fois est limité (20 par défaut).
Ligne de commande
Une commande console permet de générer et mettre en cache les étiquettes, par exemple pour pré-générer les étiquettes ou automatiser le traitement :
php bin/magento dpd:label:print --orderIds=1,2,3
Les identifiants attendus sont les identifiants internes des commandes (entity_id), séparés par des virgules.
Fichiers et journalisation
- Les étiquettes générées sont conservées physiquement sur le serveur (un fichier PDF par numéro de suivi).
- La journalisation est commune avec le module DPD : les requêtes et réponses du Web Service sont écrites dans var/log/dpd.log, lorsque l'option Activer le log (Enable Log) de la configuration du module DPD est active (voir documentation Livraison).
- Les erreurs du Web Service (message et requête envoyée) sont toujours journalisées dans var/log/dpd.log, même si l'option est désactivée.