Sommaire
- Prérequis
- Configuration
- Frais de livraison
- Désactivation des relais et consignes
- Export des commandes vers "myDPD for Business" ou Station.NET
- API
Prérequis
Magento
- Compatible Magento 2.4.0 à 2.4.9, OpenSource / Adobe Commerce / Mage-OS.
PHP
- PHP >= 8.0
Configuration
L'activation du mode de livraison Dpd s'effectue depuis le menu :
Boutiques (Stores) > Configuration (Configuration) > Ventes (Sales) > Modes de livraison (Shipping Methods) > DPD
Général
- Activé (Enabled) : activer les méthodes d'expédition Dpd
- Titre (Title) : titre de la méthode
- 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 Dpd 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
- Calcul du poids (Weight Calculation) : Permet d'autoriser ou non les méthodes de livraison DPD pour un panier dont le poids dépasse le seuil autorisé
- Ouvrir la fenêtre au clic sur la méthode de livraison (Open pop-in on shipping method selection) : Ouvrir directement ou non la pop-in au clic sur la méthode (Relais et Predic)
- Activer l'assurance (Enable Insurance) : Activer l'assurance Ad Valorem à l'export des commandes
- Activer le log (Enable Log) : journaliser les requêtes et réponses de l'API dans le fichier var/log/dpd.log
Méthodes de livraison
Activez les méthodes de livraison Dpd souhaitées :
- Predict
- Classic
- Relais Pickup
Paramètres :
- Activé (Enabled) : activer la méthode
- Nom (Name) : nom de la méthode
- N° de compte DPD (DPD account number) : numéro de compte communiqué par DPD (4 ou 5 chiffres). Un numéro de compte différent peut être défini pour chaque méthode, indispensable en cas de multi-boutique avec plusieurs comptes
- Poids maximum (Maximum Weight) : poids maximum accepté pour affichage de la méthode
- Pays (Ship to Specific Countries) : pays activés pour la méthode
- Tri (Sort Order) : position de la méthode
Uniquement en relais Pickup :
- Carrier (Carrier) : Identifiant d'accès à l'API
-
Filtre (Filter) : types de points de retrait proposés au client
- Points relais uniquement (Pickup locations only)
- Points relais et consignes (Pickup locations and lockers) : inclut les consignes automatiques (lockers) dans les résultats, voir Consigne (Locker)
- Nombre maximum de points de retrait (Maximum number of pickup points) : nombre de points renvoyés par l'API (entre 1 et 25, 10 par défaut)
- Masquer les points de retrait hors frontière (Hide Pickups outside the border) : ne pas proposer de points de retrait situés dans un pays différent de celui recherché
-
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é.
-
Adresse par défaut (Default address) : appliquer une adresse de recherche par défaut si le client n'a saisi aucune donnée
- Ville par défaut (Default city)
- Code postal par défaut (Default postcode)
- Pays par défaut (Default country)
Consigne (Locker)
En complément des points relais classiques (boutiques partenaires), DPD propose des consignes automatiques (lockers) permettant au client de récupérer son colis en autonomie, 24h/24 et 7j/7.
Pour proposer les consignes en plus des points relais, réglez le champ Filtre (Filter) de la méthode Relais Pickup sur Points relais et consignes (Pickup locations and lockers), voir Méthodes de livraison.
Une fois l'option activée, les consignes apparaissent dans la même liste et sur la même carte que les points relais, avec le même mode de sélection dans le tunnel de commande.
Frais de livraison
Menu
La configuration des prix s'effectue depuis le menu Ventes (Sales) > Dpd > Prix (Prices)
Ajouter un tarif
- Activer (Enable) : Activer ou non le tarif
- Vue boutique (Store View) : Boutique sur laquelle le tarif sera appliqué. Pour appliquer sur l'ensemble des boutiques, sélectionnez "Toutes les boutiques"
- Méthode (Method) : Méthode de livraison Dpd
- Pays (Country) : Pays de livraison
- Code postal (Postcode) : Code postal de livraison. Utilisez le symbole * à la fin pour une application générique (par exemple : 20*).
- Poids de (Weight From) : Poids minimum du panier pour l'application du tarif, en kg ou lbs selon la configuration générale
- Poids à (Weight To) : Poids maximum du panier pour l'application du tarif, en kg ou lbs selon la configuration générale
- Prix (Price) : Prix de la livraison dans la devise du magasin
- Livraison gratuite (Free Shipping) : Sous-total TTC du panier pour bénéficier de la livraison gratuite
Si un prix pour un code postal est défini, il sera appliqué prioritairement.
Exemples
Pour une tarification au forfait, la configuration du prix 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 | 0.25 | |
| 5.98 | France | 0.25 | 0.50 |
| 6.70 | France | 0.50 | 0.75 |
| 7.26 | France | 0.75 | 1.00 |
| 8.06 | France | 1.00 |
Pour un prix spécifique en Corse :
| Prix | Pays | Code postal | Poids (de) | Poids (à) |
| 18.90 | France | 20* |
Export des prix
Pour l'export CSV des tarifs, sélectionnez l'action Exporter
Import des prix
Pour l'import CSV des tarifs, sélectionnez l'action Importer
Le fichier CSV doit contenir, dans l'ordre indiqué, les colonnes suivantes :
| method | store_id | country_id | postcode | weight_from | weight_to | price | is_active |
| pickup | 0 | FR | 0.25 | 5.46 | 1 |
Les codes des méthodes (colonne method) sont les suivants :
- predict : DPD Predict
- classic : DPD Classic
- pickup : DPD Relais Pickup
Désactivation des relais et consignes
Le module permet de désactiver la livraison en point relais et/ou en consigne si au moins un des produits du panier n'est pas compatible.
A l'installation du module, deux attributs produit de type oui/non sont créés :
- DPD Pickup is not allowed (dpd_pickup_not_allowed) : interdit la sélection d'un point relais
- DPD Locker is not allowed (dpd_locker_not_allowed) : interdit la sélection d'une consigne
Si la valeur d'un de ces attributs est égale à 1 (oui) pour un produit présent dans le panier :
- Si seul dpd_pickup_not_allowed est actif, seules les consignes sont proposées au client
- Si seul dpd_locker_not_allowed est actif, seuls les points relais sont proposés au client
- Si les deux restrictions s'appliquent (produits différents du panier concernés chacun par un attribut), la méthode de livraison Relais Pickup n'est plus proposée
Export des commandes vers "myDPD for Business" ou Station.NET
Configuration
Il est nécessaire de renseigner l'adresse de l'expéditeur. Les données utilisées sont celles contenues dans la configuration native suivante :
Magasins (Stores) > Configuration (Configuration) > Ventes (Sales) > Paramètres de livraison (Shipping settings) > Origine (Origin)
D'autres champs (optionnels) peuvent être renseignés dans la configuration du module :
Boutiques (Stores) > Configuration (Configuration) > Ventes (Sales) > Modes de livraison (Shipping Methods) > DPD > Export (Station.NET)
- Agence DPD (DPD Agency) : Identifiant de l'agence DPD, sur 3 chiffres (exemple : 013)
- E-mail expéditeur (Shipper email) : E-mail de l'expéditeur
- Téléphone fixe expéditeur (Shipper telephone number) : Numéro de téléphone fixe de l'expéditeur
- Téléphone mobile expéditeur (Shipper mobile number) : Numéro de téléphone mobile de l'expéditeur
- Méthodes d'expédition à exporter (Shipping Methods to Export) : Méthode à afficher dans la grille d'export des commandes DPD
Export
L'export des commandes s'effectue depuis le menu : Ventes (Sales) > DPD > Export, ou depuis la grille des commandes via l'action DPD Export (Export DPD).
Sélectionnez les commandes que vous souhaitez exporter puis l'action Exporter. Le fichier généré est un fichier plat au format dat à importer dans "myDPD for Business" ou Station.NET
Un flag Exporté (dpd_is_exported) passe à oui une fois l'action Exporter sélectionnée. Vous pouvez alors filtrer sur les commandes déjà exportées.
Les fichiers d'export sont conservés sur le serveur dans le dossier var/export/dpd.
API
List of REST Endpoints
Guest cart
GET /V1/guest-carts/:cartId/dpd-pickup PUT /V1/guest-carts/:cartId/dpd-pickup/:pickupId/:telephone DELETE /V1/guest-carts/:cartId/dpd-pickup GET /V1/guest-carts/:cartId/dpd-predict PUT /V1/guest-carts/:cartId/dpd-predict/:telephone DELETE /V1/guest-carts/:cartId/dpd-predict
Customer cart
GET /V1/carts/mine/dpd-pickup PUT /V1/carts/mine/dpd-pickup/:pickupId/:telephone DELETE /V1/carts/mine/dpd-pickup GET /V1/carts/mine/dpd-predict PUT /V1/carts/mine/dpd-predict/:telephone DELETE /V1/carts/mine/dpd-predict
Pickup Data
GET /V1/dpdPickup/:pickupId GET /V1/dpdPickup GET /V1/dpdPickup/order/:orderId
Price Data
GET /V1/dpdPrice/:priceId GET /V1/dpdPrice/search POST /V1/dpdPrice DELETE /V1/dpdPrice/:priceId DELETE /V1/dpdPrice
Export
GET /V1/dpdExport/export GET /V1/dpdExport/export/file GET /V1/dpdExport/export/:orderId
L'identifiant du relais Pickup (dpd_pickup_id) est associé à l'adresse de livraison sur les endpoints natifs :
GET /V1/orders/:id GET /V1/orders
Exemple :
"extension_attributes": {
"shipping_assignments": [{
"shipping": {
"address": {
"address_type": "shipping",
"city": "LILLE",
"company": "E.LECLERC DRIVE LILLE MOLINEL",
"country_id": "FR",
"email": "65548402568cb@example.com",
"entity_id": 468,
"firstname": "John",
"lastname": "Doe",
"parent_id": 235,
"postcode": "59000",
"region": "Nord",
"region_code": "59",
"region_id": 247,
"street": ["Rue du Molinel"],
"telephone": "0610203040",
"extension_attributes": {
"dpd_pickup_id": "FR61733"
}
}
}
}
}
Exemples
Récupérer une liste de point de retrait
GET https://www.domain.tld/index.php/rest/V1/dpdPickup?
searchCriteria[filter_groups][0][filters][0][field]=street&
searchCriteria[filter_groups][0][filters][0][value]=3%20Av%20Matignon&
searchCriteria[filter_groups][1][filters][0][field]=city&
searchCriteria[filter_groups][1][filters][0][value]=Paris&
searchCriteria[filter_groups][2][filters][0][field]=postcode&
searchCriteria[filter_groups][2][filters][0][value]=75008
Récupérer les données d'un point de retrait
GET https://www.domain.tld/index.php/rest/V1/dpdPickup/P84150
Récupérer l'identifiant du point de retrait d'une commande
GET https://www.domain.tld/index.php/rest/V1/dpdPickup/order/1
Récupérer le contenu du fichier à exporter vers "myDPD for Business" ou Station.NET
GET https://www.domain.tld/index.php/rest/V1/dpdExport/export/file?orderIds[]=1&orderIds[]=2&orderIds[]=3
Récupérer les lignes d'export vers "myDPD for Business" ou Station.NET
GET https://www.domain.tld/index.php/rest/V1/dpdExport/export?orderIds[]=1&orderIds[]=2&orderIds[]=3
Récupérer la ligne d'export d'une commande vers "myDPD for Business" ou Station.NET
GET https://www.domain.tld/index.php/rest/V1/dpdExport/export/1