Skip to content

DPD Polska Integration

The DPD module integrates WooCommerce with the DPD Polska API. Generate shipping labels, track shipments and let customers choose a DPD Pickup point.

Go to WooCommerce > Settings > Polski PRO > Shipping.

SettingDescription
DPD loginLogin for the DPD Web Service API
DPD passwordPassword for the DPD Web Service API
Master FIDSender FID number (DPD customer identifier)

You can obtain the access credentials from the DPD customer panel or from your account manager.

  1. Go to Polski PRO > Modules
  2. Enable the DPD Polska module
  3. Fill in the API credentials in the shipping settings

You generate labels from the order editor:

  1. Open an order in WooCommerce > Orders
  2. In the Shipment Tracking section, select the DPD carrier
  3. Click Generate label
  4. The system creates a shipment through the DPD SOAP API and returns a waybill number

The label is assigned to the order automatically. The tracking number and tracking link are shown in the order panel and in the email to the customer.

The module automatically retrieves from the order:

  • Recipient first and last name / company name
  • Delivery address (street, city, postal code)
  • Phone and email
  • Weight (from product data or default)

Select multiple orders in the list and use the Generate DPD labels bulk action to process several orders at once.

The module lets you search for DPD Pickup points near the customer:

  • Search by city
  • Search by GPS coordinates (5 km radius)
  • Returned data: name, address, postal code, coordinates

After a label is generated, the tracking number is saved automatically in the order. The DPD tracking link is generated automatically.

The customer receives an email with the tracking number and link when the order status changes to Shipped.

CodeDescriptionSolution
HTTP 401Invalid login credentialsCheck the login and password in the settings
HTTP 500DPD server errorTry again in a few minutes
Validation errorInvalid address dataCheck the postal code format (XX-XXX)
// Filter shipment data before sending it to DPD
add_filter('polski_pro/shipping/dpd/parcel_data', function (array $data, WC_Order $order): array {
$data['weight'] = 2.5; // Set a fixed weight
return $data;
}, 10, 2);