DPD
Purpose
This connection buys DPD labels from inside the shipping process and feeds tracking back. It is also where an important difference becomes visible: with DPD, a cancellation deletes nothing.
Scope
- Three services:
classic,expressandshop(delivery to a parcel shop). - Maximum weight 31.5 kg per package.
- Tracking with status mapping.
- Return labels from the same operation.
Setup
Credentials live as an integration under Integrations — provider dpd. The credential names start with the provider, which keeps them apart from the settings of other connections.
| Setting | Required | Meaning |
|---|---|---|
dpd_delis_id | yes | User name (delisId) of the DPD interface. Stored encrypted and never shown again. |
dpd_password | yes | Its password. Stored encrypted and never shown again. |
depot | yes | Sender depot from the DPD contract. Without it no label is produced. |
sender | no | Sender address as a group of fields; passed to DPD unchanged, field names as in the DPD interface. |
production | no | true switches to live operation. Without it everything runs against the test environment. |
Credentials still stored in clear text under the old name without the provider prefix are taken over encrypted — on the next save or read of the integration and by the update step "Store credentials encrypted" (bin/console app:secrets:migrate).
Interplay
The connection sits inside Shipping: that is where the shipment is created, where the label is bought and where tracking runs. Credentials live as an integration under Integrations in the encrypted store — never in a setting and never in clear text; the same place switches between test environment and production. Labels and delivery notes reach the right printer through Printing & workstations. When a label is produced, and in how many copies, is decided by automations — shipping brings no rule engine of its own.
Limits
- A cancellation does not delete the label — it lapses. The label stays valid, the shipment is
simply not collected. The interface says exactly that and never claims „deleted"; anyone relying on the opposite ends up sticking a supposedly dead label on another parcel.
- No customs handling on this route. With DPD, third-country shipments go a different way;
claiming otherwise here would leave them stuck at customs.
- The real run is still outstanding. What is verified is that we ask correctly and read the
answer correctly — the tests drive the interface with prepared responses. That DPD actually accepts the request we build is not proven; access to the real test environment is missing.
- Prices and contract terms do not come from here. What a shipment costs is in the contract with
the carrier; this connection buys the label, it does not price it.