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.
[Unreleased]
Section titled “[Unreleased]”Fixed (release-gate audit 2026-11-07)
Section titled “Fixed (release-gate audit 2026-11-07)”- 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.
[1.0.0] - 2026-11-07
Section titled “[1.0.0] - 2026-11-07”- 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.