DPD Parcel - ordering
The following is a guide to use Ordering integration from DPD Parcel on the Viya platform.
Service levels
The API at DHL Parcel automatically detects which product to use based on the destination country, weight of the parcel and if the receiver is a business entity or not. If you want to use that automatic detection, you can use the ECOMMERCE
service level reference. This is the preferred way to use the DHL Parcel API.
Following services are available, simplified when using automatic detection:
DHL Service | Description | Automatic dection trigger |
---|---|---|
DHL For you | B2C Service within the Benelux | serviceLevelReference =ECOMMERCE receiver.countryCode = NL , BE , LU Receiver is not a business: serviceOptions.residentialDelivery = true |
DHL Parcel Connect | B2C Service within Europe (excl Benelux) | serviceLevelReference =ECOMMERCE receiver.countryCode not NL , BE , LU Receiver is not a business: serviceOptions.residentialDelivery = true |
DHL Europlus | B2B service within Europe (incl Benelux) | serviceLevelReference =ECOMMERCE receiver.countryCode not NL , BE , LU Receiver is a business: serviceOptions.residentialDelivery = false or empty |
If there is a need to overwrite the automatic detection, specific serviceLevelReference
can be used. Please note: if an unsupported combination is choosen: the user will receive an error and has to re-try it with different combination.
Overwrite services can be done by using the serviceLevelReference
field.
The following products are supported:
DHL Product | Description | serviceLevelReference | serviceLevelReference for return shipments |
---|---|---|---|
DHL PARCEL CONNECT | For B2C shipments to countries: AT ,CZ , DE , DK , EE , ES , FI , FR , HU , IT , LT , LU , LV , PL , PT , SE , SI , SK | CON | RETURN-CON |
DHL PARCEL CONNECT | For B2C shipments to countries:BG ,GB ,GR ,HR ,IE ,RO | CON2C | RETURN-CON |
DHL PARCEL CONNECT | For B2C shipments to country: DE | EPA | RETURN-CON |
DFY | DHL For You For B2C shipments to countries: NL , BE | DFY-B2C | DFY-RETURN |
EUROPLUS | For B2B parcel shipments to countries:AT ,BG ,CH ,CZ ,DE ,DK ,EE ,ES ,FI ,FR ,GB ,GR ,HR ,HU ,IC ,IE ,IT ,LI ,LT ,LV ,MC ,NO ,PL ,PT ,RO ,SE ,SI ,SK ,SM | EPL-INT | EPL-RETURN |
EUROPLUS PALLET INT | For B2B pallet shipments (50kg+) to countries:AT ,BG ,CH ,CZ ,DE ,DK ,EE ,ES ,FI ,FR ,GR ,HR ,HU ,IC ,IE ,IT ,LT ,LV ,MC ,NO ,PL ,PT ,RO ,SE ,SI ,SK ,SM | EPL-PAL | EPL-RETURN |
If one of the overwrite
serviceLevelReference
is used and in the shipment it is not indicated if the receiver is a business location (there is noserviceOptions.residentialDelivery
specified), the ‘isBusiness’ indicator for the receiver address will be aligned with the specific service in the message towards DHL parcel. For instance for a serviceLevelReference =CON
we will send to DHL that the receiver is NOT a business address ifserviceOptions.residentialDelivery
is not specified.
In short: When using the overwriteservicelevelReference
there is no need to specify theserviceOptions.residentialDelivery
field.
The applied DHL product is returned after ordering, as additionalKeyValues.dhlProduct
in the response.
Returns
Create return shipments for products:
- DHL For You
- DHL Parcel Connect
- DHL Europlus
The product definition is based on the service levels explained above.
Create a return label by:
serviceOptions.returns
=true
serviceOptions.returns.pickupPolicy
=prl
(means “Print return label” at the shipper side, the return label is printed at the shipper’s location and included in the outbound shipment. The customer that wants to return the goods needs to arrange pickup/dropoff at DHL service point or DHL Parcelshop.)
Note:
- The “No label” option where the return label is printed at the DHL Parcelshop based on a QR code is not implemented.
- The option where a return label is generated together with the outbound label is not implemented.
Parcel shop
For delivery to a parcel shop:
- Pass the DHL Parcelshop id (eg
8004-NL-600402
) in theaddresses.dropOff.carrierAssignedAddressId
field. - Make sure to have the
addresses.receiver.contactName
populated
Package types
The integration does not validate package type codes but it does categorize the package type based on the weight and dimensions of the parcel based on DHL Parcel’s API response for a given shipto country & postalcode.
Typical types that are used:
XSMALL
: 0-2kgSMALL
: 0-23kgMEDIUM
: 23-31kgLARGE
: 31-50kgPALLET
: All above 50kg
Some maximum dimensions apply but we transmit the actual dimensions to DHL Parcel which did not (yet) result into booking errors if the dimensions are larger. It might provide operational issues at the pickup or delivery point if maximum dimensions are exceeded.
Note: If you encounter scenarios where size limits do pose operational or technical issues: please reach out to our viya.me team.
Options
Following options are implemented
DHL Option | Description | Trigger |
---|---|---|
BOUW | Delivery to construction site | serviceOptions.constructionSite = true |
COD_CASH | Cash on delivery. Payment method cash | serviceOptions.cashOnDelivery.value > 0 serviceOptions.cashOnDelivery.type= cash |
COD_CHECK | Cash on delivery. Payment method check | serviceOptions.cashOnDelivery.value > 0 serviceOptions.cashOnDelivery.type= cheque |
DOOR | Delivery to the address of the recipient | Not implemented |
EA | Extra Assurance | Not implemented, see INS for insurance |
EVE | Evening delivery | timeWindows.delivery.start >= 18:00 |
EXP | Expresser | serviceLevelReference ends with EXPRESSER |
EXW | Ex Works. The recipient pays for the transportation from factory to destination | incoterm= EXW |
H | Hold for collection | serviceOptions.holdForPickup = true |
HANDT | Signature on delivery | serviceOptions.signatureForDelivery is one of: consigneeOnly , indirect , adult addresses.dropOff.carrierAssignedAddressId is empty |
HANDTPS | Signature on delivery at parcel shop | serviceOptions.signatureForDelivery is one of: consigneeOnly , indirect , adult addresses.dropOff.carrierAssignedAddressId is populated |
INS | All risk insurance | sum of handlingUnits.serviceOptions.insuredValue > 0 |
NBB | No neighbor delivery | serviceOptions.allowDeliveryToNeighbour = false |
PS | Delivery to the specified DHL Parcelshop or DHL Parcelstation | addresses.dropOff.carrierAssignedAddressId is populated |
RECAP | Additional proof of delivery | serviceOptions.scannedPodRequested = true |
PERS_NOTE | Email to the receiver (for MDP Business app only) | serviceOptions.preAdviceDelivery.useEmail = true |
PRINTLESS | Generates a printless label/return label with QR code | Not implemented |
REFERENCE | Reference on label | Configure the additional reference in ordering |
REFERENCE2 | Extra reference label | Configure the additional reference in ordering |
ADD_RETURN_LABEL | Include extra label for return shipment | Not implemented |
S | Saturday delivery | timeWindows.delivery.onlySaturday = true |
SSN | Undisclosed sender | addresses.neutralSender is populated |
BP | Mailbox delivery | all handlingUnits are: <= 2kg, <= 38x26x23cm receiver.CountryCode in NL , BE |
NO_TRACK_TRACE | No track and trace for shipment | Not implemented |