Not logged in - Login
View History

Shipment Service

Shipment Service

The shipment service must be called to generate the parcel labels. A request to the shipment service will only succeed after a call to the login service to get a unique token to access the shipment service.

The token will be valid 24 hours. So it is not advised and necessary to call the login every time for a call to the shipment service.

URLS

Stage: https://public-dis-stage.dpd.nl/Services/ShipmentService.svc?singlewsdl

Process

The following diagrams illustrate how the process works.

Parameters

Here you will find the definitions of all parameters. In order of the wsdl.

Authentication

ParameterData type LengthDescriptionSupported values
delisIdString6-10Your Delis ID provided by DPD 
authtokenString128Authentication token from the login service 
messageLanguageString5Optional parameter, default us_US,Dutch (nl_NL)
American English (us_US) & (en_US)

StoreOrders

PrinterOptions

ParameterData typeLengthDescriptionSupported values
printerLanguageString3PDFPDF
paperFormatString2A6 or A4. Paper format for parcel labels.A4 or A6

Printer

ParameterData typeLengthDescriptionSupported values
manufacturerString50Name of the printer’s manufacturernot used
modelString50Printer modelnot used
revisionString50Printer versionnot used
offsetInteger50Horizontal offset in mm of the direct printer. Ignored with PDF outputnot used
offsetInteger50Vertical offset in mm of the direct printer. Ignored with PDF outputnot used
barcodeCapable2DBoolean1Set to true if the printer is capable of printing AZTEC barcodes. Default set to falsenot used

generalShipmentData

ParameterData typeLengthDescriptionSupported values
mpsIdString25The shipment number for consignment data.
The shipment number is only accepted if the parcel label number is allocated by customer.
It starts with one of "MPS", "EXP" or "B2C", the last eight ciphers are the date in format yyyyMMdd
 
cUserString10User ID of the person who made the entry 
mpsCustomerReferenceNumber1String35Consignment customer reference number 1, also customer reference number for collection request orders (maximal length 50)Col.Req not used
mpsCustomerReferenceNumber2String35Consignment customer reference number 2 
mpsCustomerReferenceNumber3String35Consignment customer reference number 3 
mpsCustomerReferenceNumber4String35Consignment customer reference number 4 
identificationNumberString999Serves as unique alphanumeric key of the shipment used by customer. Can obtain up to 999 ciphers 
sendingDepotString4  
productString2-3 CL, E10, E12, E18, IE2
mpsCompleteDelivery   not used
mpsCompleteDeliveryLabel   not used
mpsVolume   not used
mpsWeight   not used
mpsExpectedSendingDate   not used
mpsExpectedSendingTime   not used

Sender

ParameterData typeLengthDescriptionSupported values
name1String50Name of address owner 
name2String35Name 2 of address owner 
streetString50Street of address owner 
houseNoString8House number of address owner 
stateString2State of address owner in ISO 3166-2 code 
countryString2Country of address owner in ISO 3166-1 alpha-2 code 
zipCodeString9Zip code of address owner 
cityString50City/town of address owner 
glnLong9999999999999International location number of address owner 
customerNumberString17Customer number of address owner. Mandatory for sender's address 
contactString35Contact person of address owner 
phoneString30Phone number of address owner. Mandatory if phone is the chosen notification channel. No required data format 
faxString30Fax number of address owner. No required data format 
emailString30Email address of address owner. For collection requests the maximum length is 40, otherwise always 50 
commentString70Comment on address owner 
iaccountString50Account allocation or cost center (for VTG) of invoice data for consignmentsnot used

Recipient

ParameterData typeLengthDescriptionSupported values
name1String50Name of address owner 
name2String35Name 2 of address owner 
streetString50Street of address owner 
houseNoString8House number of address owner 
stateString2State of address owner in ISO 3166-2 code 
countryString2Country of address owner in ISO 3166-1 alpha-2 code 
zipCodeString9Zip code of address owner 
cityString50City/town of address owner 
glnLong9999999999999International location number of address owner 
customerNumberString17Customer number of address owner. Mandatory for sender's address 
contactString35Contact person of address owner 
phoneString30Phone number of address owner. Mandatory if phone is the chosen notification channel. No required data format 
faxString30Fax number of address owner. No required data format 
emailString30Email address of address owner. For collection requests the maximum length is 40, otherwise always 50 
commentString70Comment on address owner 
iaccountString50Account allocation or cost center (for VTG) of invoice data for consignmentsnot used

Parcels

ParameterData typeLengthDescriptionSupported values
parcelLabelNumberstring  Not used
customerReferenceNumber1stringmaxLength: 35Printed on Label as Reference 1 
customerReferenceNumber2stringmaxLength: 35Printed on Label as Reference 2 
customerReferenceNumber3stringmaxLength: 35Not printed on Label 
customerReferenceNumber4stringmaxLength: 35Not printed on Label 
swapboolean false or trueNot used
volumeint Volume of the single parcel (length/width/height in format LLLWWWHHH) in cm without separators050 = 50 cm
100 = 100 cm
weightint Parcel weight in grams rounded in 10 gram units without decimal delimiter (e.g. 300 equals 3kg)0 = 0 kg
100 = 1kg
3150 = 31,5 kg
hazardousLimitedQuantities   not used
HigherInsuranceSee table HigherInsurance
contentstring  not used
addServiceint  not used
messageNumberint  not used
functionstring  not used
parameterstring  not used
codSee table COD
internationalSee table International
commercialInvoiceConsigneeSee table commercialInvoiceConsignee
hazardousSee table Hazardous
printInfo1OnParcelLabelBoolean  not used
info1string  not used
info2string  not used
returnsBoolean Defines if parcel is a return parcel.
The return parcel must always be next in order to the corresponding outbound parcel.
Default value is false.
false, true

higherInsurance

ParameterData typeLengthDescriptionSupported values
amount   not used
currency   not used

cod

ParameterData typeLengthDescriptionSupported values
amountInteger9Amount, price times 100. Mandatory for COD.See table COD Amounts per country
currencyString3Currency used, example: EUR (default). Mandatory for COD.See table COD Amounts per country
inkassoInteger1Inkasso type 0 = cash, 1 cheque. Mandatory for COD. See Possible Products for minimum and maximum allowed amounts. 
purposeString  not used
bankCodeString Required when used in combination with bankAccountNumber, bankAccountHolder, bic and bankName.not used
bankNameString Required when used in combination with bankAccountNumber, bankAccountHolder, bic and bankCode.not used
bankAccountNumberString Required when used in combination with bankName, bankAccountHolder, bic and bankCode.not used
bankAccountHolderString30Account holder. If this value is filled, parameters for bankCode, bankName and bankAccountNumber must also be fillednot used
ibanString50International bank account number. If this value is filled, parameters for
bankCode, bankName, bankAccountNumber and bankAccountHolder must also be filled
not used
bicString50Bank identifier code. If this value is filled, parameters for
bankCode, bankName, bankAccountNumber and bankAccountHolder must also be filled
not used

COD Amounts per country

Amount of payment, if the amount is 0 (zero) than COD is not possible. Negative amounts are not allowed. Higher amounts than the maximum specified in table is not allowed.

CountryToCurrencyMaximum cashMaximum cheque
NetherlandsCzech RepublicCZK1200000
NetherlandsHungaryHUF5000000
NetherlandsAustriaEUR25005000
NetherlandsGermanyEUR25005000
NetherlandsBelgiumEUR25005000
NetherlandsLuxembourgEUR25005000
NetherlandsNetherlandsEUR25005000
BelgiumCzech RepublicCZK1200000
BelgiumHungaryHUF5000000
BelgiumAustriaEUR25005000
BelgiumGermanyEUR25005000
BelgiumNetherlandsEUR25005000
BelgiumLuxembourgEUR25005000
BelgiumBelgiumEUR250010000
LuxembourgCzech RepublicCZK1200000
LuxembourgHungaryHUF5000000
LuxembourgAustriaEUR25005000
LuxembourgGermanyEUR25005000
LuxembourgNetherlandsEUR25005000
LuxembourgLuxembourgEUR25005000
LuxembourgBelgiumEUR25005000

International

ParameterData typeLengthDescriptionSupported values
parcelTypeboolean  not used
customsAmountlong Defines the customs amount in total without decimal separator (e.g. 14.00 = 1400).use only when customs is needed.
customsCurrencystring3Currency code in ISO 4217 alpha-3 format.use only when customs is needed.
customsTermsstring01
02
03
04
05
06
Declares the customs terms. Possible values are:
01 = DAP, cleared
02 = DDP, delivered duty paid (incl. duties and excl. Taxes
03 = DDP, delivered duty paid (incl duties and taxes)
05 = ex works (EXW)
06 = DAP
not used
customsContentstring35Describes the content of the parcel.not used
customsTarifstring8Defines the customs tarif number.not used
customsPaperstring20 not used
customsEnclosureboolean  not used
customsInvoicestring20Defines the invoice number.not used
customsInvoiceDateint Defines the invoice date (format YYYYMMDD).not used
customsAmountParcellong Parcel value with two decimal places without separator.not used
customsOriginstring2 not used
linehaulstring  not used
shipMrnstring20 not used
collectiveCustomsClearanceboolean  not used
invoicePositionstring6 not used
comment1string70 not used
comment2string70 not used
commercialInvoiceConsigneeVatNumberstring20 not used

commercialInvoiceConsignee

ParameterData typeLengthDescriptionSupported values
name1   not used
name2   not used
street   not used
houseNo   not used
state   not used
country   not used
zipCode   not used
city   not used
gln   not used
customerNumber   not used
contact   not used
phone   not used
fax   not used
email   not used
comment   not used
iaccount   not used

hazardous

ParameterData typeLengthDescriptionSupported values
identificationUnNo   not used
identificationClass   not used
classificationCode   not used
packingGroup   not used
packingCode   not used
description   not used
subsidiaryRisk   not used
tunnelRestrictionCode   not used
hazardousWeight   not used
netWeight   not used
factor   not used
notOtherwiseSpecified   not used

ProductAndServiceData

ParameterData typeLengthDescriptionSupported values
orderTypestring Defines the shipment type.consignment
saturdayDeliveryBoolean Set to True to allow saturday deliveries.true, false
exWorksDeliveryBoolean  not used
guaranteeBoolean  not used
tyresBoolean Set to true if this consignment contains bulk tyres, only for product NP.true, false
personalDeliverySee table Peronaldelivery  not used
pickupSee table pickup  not used at this moment
parcelShopDeliverySee table parcelShopDelivery
predictSee table predict
personalDeliveryNotificationSee table personalDeliveryNotification
proactiveNotificationSee table proactiveNotification
deliverySee table delivery
invoiceAddressSee table invoiceAddress
countrySpecificService   not used

personalDelivery

ParameterData typeLengthDescriptionSupported values
typeInteger1Defines type of personal delivery. Possible values are:
1 = department delivery (without personal identification)
2 = personal delivery with personal identification (IDCheck)
3 = personal delivery without personal identification at drop point (e.g. Pickup parcelshop)
4 = personal delivery with personal identification at drop point (e.g. Pickup parcelshop)
5 = personal delivery with personal identification at drop point plus ID-Check (e.g. Pickup parcelshop)
For parcel shop delivery the parcel shop id must be declared in productAndServiceData. It can be obtained from parcel shop finder
3, 4 & 5
floorString30Floor where the personal delivery shall take place.
This field is only used for department delivery
not used
buildingString30Building where the personal delivery shall take place.
This field is only used for department delivery (type 1)
not used
departmentString30Department where the personal delivery shall take place.
This field is only used for department delivery (type 1)
not used
nameString35Name of the person authorised to accept the consignment.
This field is only used for delivery with ID-Check (types 2 and 4)
4
phoneString20Telephone number of the person authorised to accept the consignment.
This field is only used for delivery with ID-Check (types 2 and 4). No required data format
4
personIdString35Personal identification number of the person authorised to accept the consignment.
This field is only used for delivery with ID-Check (types 2 and 4).
4

pickup

ParameterData typeLengthDescriptionSupported values
tourInteger999Tour number (between 000 and 999)not used
quantityInteger99999Quantity of pickup parcels. Mandatory for consignmentnot used
dateInteger99999999Pickup date in consignments and collection requests. The collection day for advice customers.
The from date for pickup information. Format is YYYYMMDD
not used
dayInteger6Pickup day of week for consignments and pickup information.
Allowed values are 0..6 (0=Sunday, 1=Monday, etc.). Mandatory for consignment
not used
fromTime1Integer2400From time 1 for consignments and pickup information. Format is hhmm. Mandatory for consignment.not used
toTime1Integer2400Until time 1 for consignments and pickup information. Format is hhmm. Mandatory for consignmentnot used
fromTime2Integer2400From time 2 for consignments and pickup information. Format is hhmmnot used
toTime2Integer2400Until time 2 for consignments and pickup information. Format is hhmmnot used
extraPickupBoolean1True if extra pickup is requestednot used

collectionRequestAddress

ParameterData typeLengthDescriptionSupported values
name1   not used
name2   not used
street   not used
houseNo   not used
state   not used
country   not used
zipCode   not used
city   not used
gln   not used
customerNumber   not used
contact   not used
phone   not used
fax   not used
email   not used
comment   not used
iaccount   not used

parcelShopDelivery

ParameterData typeLengthDescriptionSupported values
parcelShopId    

parcelShopNotification

ParameterData typeLengthDescriptionSupported values
channel    
value    
language    

predict

ParameterData typeLengthDescriptionSupported values
channelint1Defines type of proactive notification.1 = email 3 = SMS
valuestring50Data for proactive notification, e.g. email address or mobile phone number.
The data format for the proactive message types: SMS +international country number#phone number Examples: +31612345678, 0031#612345678, 0612345678
10-digit phonenumber starting with 06 and having destinationaddress in NL: assumed to be Dutch mobile number
+316
+31#6
00316
06
+31#06
languagestring2Language of the proactive notification in ISO-3166-1NL, EN, FR for predict within BeNeLux, outside BeNeLux we advise EN

peronalDeliveryNotification

ParameterData typeLengthDescriptionSupported values
channel   not used
value   not used
language   not used

proactiveNotification

ParameterData typeLengthDescriptionSupported values
channel   not used
value   not used
rule   not used
language   not used

Delivery

ParameterData typeLengthDescriptionSupported values
dayString20Allowed delivery days in the week (0 = Sunday, 1 = Monday etc.). Comma separated list of possible delivery days (e.g. "2,3,4,5").not used
dateFromInteger9999999Fixed delivery from date - format YYYYMMDD, e.g. 20080213not used
dateToInteger9999999Fixed delivery to date - format YYYYMMDD, e.g. 20080213not used
timeFromInteger2400Time from which the consignee is available - format hhmm (local time receipient country), e.g. 1400 or 0830not used
timeToInteger2400Time until the consignee is available - format hhmm(local time receipient country), e.g. 1600 or 0930not used

invoiceAddress

ParameterData typeLengthDescriptionSupported values
name1   not used
name2   not used
street   not used
houseNo   not used
state   not used
country   not used
zipCode   not used
city   not used
gln   not used
customerNumber   not used
contact   not used
phone   not used
fax   not used
email   not used
comment   not used
iaccount   not used

storeOrderResponse

Response object

ParameterData typeLengthDescription
parcellabelsPDFText Base64 encoded string containing the PDF document

Shipment response

ParameterData typeLengthDescription
identificationNumberstring1Serves as unique alphanumeric key of the shipment used by customer
mpsIdstring25The shipment number for consignment data.
If ordertype is pickup information, the shipment number is an internal database id, which is necessary for technical support requests at DPD

In case of an error

NodeDescription
delisIdYour delis ID provided by DPD
authtokenToken to authenticate with the other services provided by the DPD Integration Services
depotDepot number
faultcodeType of fault
faultstringType of fault text string
errorCodeCode that identifies the type of error, see table Error Codes
errorMessageError message in the language provided in the request
authtokenToken to authenticate with the other services provided by the DPD Integration Services

Error codes

CodeExplanationBest Practise
SHIPPING_1parcel label print fails 
SHIPPING_2delete fails on database level during rollback after some other error 
COMMON_1unexpected runtime error 
COMMON_2mandatory input field is empty 
COMMON_3length of data for field does not fit 
COMMON_4input data contains invalid special character 
COMMON_5a swap parcel is ordered, but there is more than one parcel 
COMMON_6some input data field values result in an invalid combination 
COMMON_7input data contains invalid value 
COMMON_8a field is to be stored in database, but there is not database field mapped for it 
DATABASE_6transfer state of order is to be changed but order is already committed 
DATABASE_7update fails on database level during order storing 
DATABASE_8delete fails on database level during rollback after some other error 
DATABASE_21order is to be inserted in databse, but has already a database id 
DATABASE_22order is to be committed after inserting, but there is no database id for update given 
DATABASE_24some other error, but no database id for record is given 
MPSEXP_1parcel label number is already in use 
PARCELNUMBER_3time out 
ROUTING_1no route could be found for depot and feature 
ROUTING_2invalid input data 
ROUTING_3the connection to the database failed 
ROUTING_4an internal failure occurs 
ROUTING_5no depot could be found 
ROUTING_6no pickup date was given 
ROUTING_7internal extension rule error 
ROUTING_8malformed zip code 
ROUTING_9missing country code 
ROUTING_10missing routing place 
ROUTING_11missing service code 
ROUTING_12routing place error 
ROUTING_13sending date error 
ROUTING_14service code error 
ROUTING_15invalid relation of service codes 
ROUTING_16unknown country code 
ROUTING_17unknown destination depot 
ROUTING_18unknown zip code 
ROUTING_19unknown routing place 
ROUTING_20unknown service code 
ROUTING_21invalid service code 
ROUTING_22parcel is labelled as return parcel but returns is not possible 
ROUTING_23missing routing place or destination depot 
ROUTING_24unknown 
SHIPMENT_IE2_COUNTRY_NOT_VALIDInternational Express invoice country is not valid
SHIPMENT_IE2_CURRENCY_NOT_ISO4217International Express currency is not according to the ISO4217 standard 
SHIPMENT_IE2_MISSING_CONTACTInternational Express node missing contact information 
SHIPMENT_IE2_NO_DATA_FOR_INTERNATIONALInternational Express chosen but the international node empty 
SHIPMENT_IE2_REQUIRED_FIELDS_MISSINGInternational Express required fields are: PARCELTYPE, CAMOUNT, CURRENCY, CTERMS, CCONTENT, CNAME1, CSTREET, CCOUNTRYN, CCITY, CPHONE 

Code examples

SOAP Examples

Login Service

Parcel Shop Service

Shipment Service

Depot Service

Parcel LifeCycle Service

C# .NET example

Login Service

Parcel Shop Service

Shipment Service

Depot Service

Parcel LifeCycle Service

PHP example

Login Service

Parcel Shop Service

Shipment Service

Depot Service

Parcel LifeCycle Service