DPD Polska Integration
The DPD module connects WooCommerce order tracking to DPD Polska. You store the DPD Web Service credentials, enter the waybill number on the order, and the plugin pulls the current parcel status from DPD track and trace.
Configuration
Section titled “Configuration”The DPD settings belong to the shipping group of the PRO settings (the polski_pro_shipping option). They are read and written through the PRO settings REST route, /wp-json/polski-pro/v1/settings, which requires the manage_woocommerce capability. A dedicated shipping settings screen is planned but has not shipped yet.
Carrier credentials
Section titled “Carrier credentials”| Setting | Key | Description |
|---|---|---|
| DPD enabled | dpd_enabled |
Switches the DPD provider on |
| DPD login | dpd_login |
Login for the DPD Web Service API |
| DPD password | dpd_password |
Password for the DPD Web Service API |
| Master FID | dpd_master_fid |
Sender FID number (DPD customer identifier) |
You can obtain the access credentials from the DPD customer panel or from your account manager. The live lookup runs only when dpd_enabled is on and both the login and the password are filled in. The credentials are not sent with the tracking request itself, they tell the plugin that the carrier is configured.
Two more values are stored, DPD sandbox (dpd_sandbox) and the COD bank account (dpd_cod_bank_account). Both belong to the label code that is not connected yet (see Not available yet below), so today they change nothing.
Order tracking module
Section titled “Order tracking module”The tracking panel, the Tracking column and the status emails come from the Fulfillment module (the fulfillment key in the polski_modules option). It is off by default, so switch it on before you look for the tracking fields.
Entering a tracking number
Section titled “Entering a tracking number”- Open an order in WooCommerce > Orders
- In the Shipment Tracking block below the shipping address, select DPD in the Carrier field
- Paste the waybill number into Tracking number
- Leave Tracking URL empty, the DPD track and trace link is built from the number when the order is saved (fill it in only if you need a different link)
- Save the order
The number and the link then appear in the Tracking column of the order list, in the order the customer sees in My account, and in the customer emails.
Refresh live tracking
Section titled “Refresh live tracking”Once a number is saved, the order screen shows a Live preview with the order status and, when DPD returns them, the current parcel status and the shipment history. The lookup calls the public DPD track and trace endpoint and the answer is cached for 10 minutes.
Refresh live tracking clears that cache for the number on this order and reloads the screen. Use it when the parcel has moved but the panel still shows the previous state.
What the customer sees
Section titled “What the customer sees”- A Track shipment action next to the order in My account
- A Shipment Tracking section on the order details page
- The same tracking block appended to customer order emails
- A notification email with the carrier, the number and the link when the order moves to Packed, Shipped or Delivered
Those three statuses come from the same module. They can be set for several orders at once from the order list with Change status to Packed, Change status to Shipped and Change status to Delivered.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Cause | Solution |
|---|---|---|
| No Shipment Tracking block on the order | Fulfillment module is off | Enable the fulfillment module |
| Number is shown but no parcel status | DPD is not enabled, credentials are empty, or DPD has no data for the number yet | Complete the credentials, then try again once DPD has scanned the parcel |
| The status looks stale | The lookup is cached for 10 minutes | Click Refresh live tracking |
| No tracking link | The Carrier field was left empty | Select DPD and save the order again |
Not available yet
Section titled “Not available yet”Label generation is written but not connected. There is no Generate label button, no bulk label action and no label download, so waybill numbers have to come from the DPD customer panel or from your own integration and be pasted into the order. Pickup point search is in the same state, the code exists but nothing in the checkout calls it. The module also exposes no filters or actions yet.