Skip to content

DPD Shipping Labels & Pickup Points changelog

All notable changes to DPD Shipping Labels & Pickup Points for CS-Cart and Multi-Vendor (kv_dpd) are documented here. The format follows Keep a Changelog and the project uses Semantic Versioning.

  • A label request is saved before it is sent, runs under a per-order lock and uses a deterministic identificationNumber. After a timeout or server error the result is “unknown” and is never repeated automatically (DPD has no cancel); the merchant adopts the parcel number found in the DPD portal (checked with getTrackingData) or confirms that nothing was created. The same protection applies to return labels.
  • Multi-Vendor: “Run the queue now” is admin-only; in marketplace-owner mode vendors cannot create labels on the owner’s contract; “Refresh tracking” checks that the shipment belongs to the order and the vendor.
  • name1, street and city are limited to 35 characters as the official schema text says (overflow to name2 / address lines), cut by characters.
  • No labels for cancelled, declined, failed or incomplete orders.
  • Text cuts (tracking status, shop opening hours, delivery text, parcel shop search) no longer split multi-byte characters.
  • Initial release: integration with the DPD Web Connect SOAP services of DPD Germany: LoginService 2.0 (getAuth), ShipmentService 4.5 (storeOrders), ParcelShopFinderService 5.0 (findParcelShops, getAvailableServices) and ParcelLifeCycleService 2.0 (getTrackingData). The WSDL and XSD files are saved in the tests and every request is validated against them.
  • Shipping services DPD Classic, DPD Pickup (parcel shop), DPD 8:30, 12:00, 18:00, DPD MAX and DPD Express International, with the customer price (flat or by weight), free-shipping threshold, countries and weight limit set on each shipping method.
  • DPD Pickup parcel shop search at the checkout; the choice is validated on the server against a fresh search and stored with the order (parcelShopDelivery).
  • Shipments from the order page or at an order status: recipient, street and house number split, weight, optional parcel size, sender from the Connection page, customs invoice lines outside the EU; labels in PDF (A6 or A4), ZPL or ZPL300 stored with the order; parcel label number and tracking link on the order and in a CS-Cart shipment.
  • Return label (parcel flag returns, sender and recipient swapped).
  • Tracking with ParcelLifeCycleService by cron; Multi-Vendor owner mode or one account per vendor.
  • Connection page with encrypted credentials (DelisID password), test and live mode, customer number and sender address, and a connection test that signs in and reads the parcel shop services without creating anything.
  • Data protection: the customer’s e-mail address and phone number are not sent to DPD unless you turn it on (DPD Pickup needs the e-mail address for the mandatory notification; the checkout tells the customer).
  • Honest limits: DPD’s web services have no cancel operation, no cash on delivery field and no close-out; cancellation is local, cash on delivery orders are refused with a clear message.
  • Job queue with retries and back-off, cron (command line and secret address), log viewer with CSV export, domain-bound licence, self-healing upgrade synchronizer.