Skip to content

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.

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.

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.

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.

  1. Open an order in WooCommerce > Orders
  2. In the Shipment Tracking block below the shipping address, select DPD in the Carrier field
  3. Paste the waybill number into Tracking number
  4. 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)
  5. 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.

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.

  • 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.

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

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.