dpd

Module de livraison DPD pour Magento et Adobe Commerce

Sommaire

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.

Le Web Service GeoLabel est filtré par IP. Veuillez vous rapprocher de votre contact DPD pour communiquer les adresses IP de vos environnements.

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.