Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

DHL Paket

Purpose

This connection buys DHL labels where the shipment is created — inside the shipping process, without switching to a carrier portal. It answers three questions in one place: which product applies to this parcel, what the tracking number is, and where the shipment currently is.

Scope

  • Three products: paket (domestic), warenpost (light shipments up to 1,000 g) and

international.

  • Maximum weight 31.5 kg per package — above that the connection refuses rather than creating a

shipment that gets stuck at the belt.

  • Tracking with status mapping, from which shipping derives its own states.
  • Return labels from the same operation.
  • Customs documents for third-country shipments travel in the same request as the label.
  • Age verification (visual check from 16 or 18) for articles with an age limit — domestic

parcel only: a light shipment then does not become Warenpost, and an explicitly chosen Warenpost or international shipment is refused.

  • Real cancellation: DHL actually deletes a cancelled shipment, so shipping may report

„deleted" and mean it.

Setup

Credentials live as an integration under Integrations — provider dhl. The credential names start with the provider, which keeps them apart from the settings of other connections.

SettingRequiredMeaning
dhl_api_keyyesApplication key from the DHL developer portal. Stored encrypted and never shown again.
dhl_portal_useryesUser of the DHL business customer portal. Stored encrypted and never shown again.
dhl_portal_passwordyesIts password. Stored encrypted and never shown again.
billing_numberyesBilling number (14 digits: EKP, procedure, participation). Not the customer number.
billing_numbersnoBilling number per product, e.g. V62WP for Warenpost — DHL bills each product separately; where one is missing, billing_number applies.
shipperyesSender address as a group of fields; DHL requires it on every shipment. Passed to DHL unchanged, field names as in the DHL interface.
productionnotrue 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

  • Warenpost has a hard limit of 1,000 g. It is not a price advantage to stretch but an

acceptance condition: above it, the item is a parcel.

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

carrierdhl.overview · Available from version 0.5.0