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.

For other types of shipments that aren't standard, like outisde the EU, B2C, B2C to Parcelshop, etc please choose an option at the bottom of the page or in the navigation menu to the right.

Connection URLs

Live: https://wsshipper.dpd.be/soap/WSDL/ShipmentServiceV33.wsdl
Stage: https://shipperadmintest.dpd.be/PublicApi/soap/WSDL/ShipmentServiceV33…

 

Process

The following diagrams illustrate how the process works.

 

Request parameters

<authentication> section

Node Type Length Description Mandatory?
<delisId> String 6-10 Your Delis ID provided by DPD Yes
<authToken> String 128 Authentication token acquired from the login service Yes
<messageLanguage> String 5 This can be set to the default value of en_EN Yes

 

<printOptions> section

Node Type Length Description Mandatory?
<printerLanguage> String 3 Whether the label is returned on PDF (base64 code) or directly on ZPL Yes
<paperFormat> String 2 A6 or A4, depending whether you want 1 label on one A6 label or 4 labels on one A4 page. Yes

 

<printer> section

This section is not used and should not be included in the call.
 

<generalShipmentData> section

Node Type Length Description Mandatory?
<mpsId> String 25 The 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
No
<cUser> n/a n/a Not used, do not include in the call. No
<mpsCustomerReferenceNumber1> String 35 Consignment customer reference number 1 No
<mpsCustomerReferenceNumber2> String 35 Consignment customer reference number 2 No
<mpsCustomerReferenceNumber3> String 35 Consignment customer reference number 3 No
<mpsCustomerReferenceNumber4> String 35 Consignment customer reference number 4 No
<identificationNumber> n/a n/a Not used, do not include in the call. No
<sendingDepot> String 4 DPD Depot you belong to. DPD Can tell you which one this is. Yes
<product> String 2-3 The type of shipment: 
- E10 for Express 10h
- E12 for Express 12h
- E18 for Express 18h Guarantee
- CL for everything else
Yes
<mpsCompleteDelivery> n/a n/a Not used, do not include in the call. No
<mpsCompleteDeliveryLabel> n/a n/a Not used, do not include in the call. No
<mpsVolume> n/a n/a Not used, do not include in the call. No
<mpsWeight> n/a n/a Not used, do not include in the call. No
<mpsExpectedSendingDate> n/a n/a Not used, do not include in the call. No
<mpsExpectedSendingTime> n/a n/a Not used, do not include in the call. No

 

<sender> section

This is the consignor of the shipment as it will appear on your label. Please note that not all fields will appear on the label, but regardless of whether they appear on the label or not, they will be included in the electronic data of your shipment if you provide them in the call:

The following fields will appear on the label if provided:

  • name1
  • name2
  • street
  • houseNo
  • country
  • zipCode
  • city
  • contact
  • phone
Node Type Length Description Mandatory?
<name1> String 50 Name of Sender's address owner Yes
<name2> String 35 Second name (or company) of Sender's address owner No
<street> String 50 Street of Sender's address owner. Note you can add the house number here too. Yes
<houseNo> String 8 House number of Sender's address owner. Only needed if you didn't add the houseno in the <street> field No
<state> String 2 State of address Sender's owner in ISO 3166-2 code No
<country> String 2 Country of address Sender's owner in ISO 3166-1 alpha-2 code Yes
<zipCode> String 9 Zip code of address Sender's owner. Please do not add prefixes. Yes
<city> String 50 City/town of address Sender's owner Yes
<gln> Long 99999 International location number of Sender's address owner No
<customerNumber> String 17 Customer number of Sender's address owner.  No
<contact> String 35 Contact person of Sender's address owner No
<phone> String 30 Phone number of Sender's address owner. No
<fax> String 30 Fax number of Sender's address owner. No
<email> String 30 Email address of Sender's address owner. For collection requests the maximum length is 40, otherwise always 50 No
<comment> String 70 Comment on Sender's address owner. This is a free field. No
<iaccount> n/a n/a Not used, do not include in the call. No

 

<recipient> section

Node Type Length Description Mandatory?
<name1> String 50 Name of Receiver's address owner Yes
<name2> String 35 Second name (or company) of Receiver's address owner No
<street> String 50 Street of Receiver's address owner. Note you can add the house number here too. Yes
<houseNo> String 8 House number of Receiver's address owner. Only needed if you didn't add the houseno in the <street> field No
<state> String 2 State of address Receiver's owner in ISO 3166-2 code No
<country> String 2 Country of address Receiver's owner in ISO 3166-1 alpha-2 code Yes
<zipCode> String 9 Zip code of address Receiver's owner. Please do not add prefixes. Yes
<city> String 50 City/town of address Receiver's owner Yes
<gln> Long 99999 International location number of Receiver's address owner No
<customerNumber> String 17 Customer number of Receiver's address owner.  No
<type> String 1 Use value B if it's a business (a B2B shipment) or P if it's a private person (B2C shipment). Yes
<contact> String 35 Contact person of Receiver's address owner No, unless using Express services
<phone> String 30 Phone number of Receiver's address owner. No, unless using Express services
<fax> String 30 Fax number of Receiver's address owner. No
<email> String 30 Email address of Receiver's address owner. For collection requests the maximum length is 40, otherwise always 50 No
<comment> String 70 Comment on Receiver's address owner. This is a free field. No
<iaccount> n/a n/a Not used, do not include in the call.

No

 

<parcel> section

Node Type Length Description Mandatory?
<parcelLabelNumber> n/a n/a Not used, do not include in the call. No
<customerReferenceNumber1> String Max 35 Printed on Label as Reference 1 No
<customerReferenceNumber2> String Max 35 Printed on Label as Reference 2 No
<customerReferenceNumber3> String Max 35 Not printed on Label No
<customerReferenceNumber4> String Max 35 Not printed on Label No
<swap> n/a n/a Not used, do not include in the call. No
<volume> Int n/a Volume of the single parcel (length/width/height in format LLLWWWHHH) in cm without separators. Ex: 050 = 50 cm No
<weight> Int n/a Parcel weight in grams rounded in 10 gram units without decimal delimiter. Ex. 300 = 3kg). If this is smaller than 3 g, it will be turned into a Small Parcel shipment. No
<hazardousLimitedQuantities> n/a n/a Not used, do not include in the call. No
<HigherInsurance> n/a n/a Not used, do not include in the call. No
<content> n/a n/a Not used, do not include in the call. No
<addService> n/a n/a Not used, do not include in the call. No
<messageNumber> n/a n/a Not used, do not include in the call. No
<function> n/a n/a Not used, do not include in the call. No
<parameter> n/a n/a Not used, do not include in the call. No
<cod> n/a n/a This service is discontinued since Jan 2019. No
<international> n/a n/a For shipments outside the EU. See <international> section No
<hazardous> n/a n/a For shipments with hazardous goods. See <hazardous> section No
<printInfo1OnParcelLabel> n/a n/a Not used, do not include in the call. No
<info1> n/a n/a Not used, do not include in the call. No
<info2> n/a n/a Not used, do not include in the call. No
<returns> Boolean n/a 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.
No


<ProductAndServiceData> section

Node Type  Length Description Mandatory?
<orderType> String 50 Defines the shipment type. Use value consignment for a shipment or collection request order for a colleciton request Yes
<saturdayDelivery> Boolean n/a Set to true if your shipment should have Saturday Delivery service No
<exWorksDelivery> Boolean n/a Set to true if your shipment should be Ex-Works delivery No
<guarantee> n/a n/a Not used, do not include in the call. No
<tyres> Boolean n/a Set to true if this consignment contains bulk tyres, only for product NP No
<personalDelivery> n/a n/a Not used, do not include in the call. No
<pickup> n/a n/a Not used, do not include in the call. No
<parcelShopDelivery> n/a n/a For shipments to Parcelshops. See <parcelShopDelivery> section No
<parcelShopNotification> n/a n/a Shipments to Parcelshops must also include a notification. See <parcelShopNotification> No
<predict> n/a n/a For B2C shipments with a Predict message to the receiver. See <predict> section No
<personalDeliveryNotification n/a n/a Not used, do not include in the call. No
<proactiveNotification> n/a n/a Not used, do not include in the call. No
<delivery> n/a n/a Not used, do not include in the call. No
<invoiceAddress> n/a n/a Not used, do not include in the call. No
<countrySpecificService> n/a n/a Not used, do not include in the call. No

 

 

Response parameters

Node Data type Description
<parcellabelsPDF> String This is a base64 code that, after decoding, will give you a proper DPD label in PDF format. ZPL format can also be used for printing directly on a Zebra Label Printer.
<mpsID> String The MPSID of your shipment. It starts with one of "MPS", "EXP" or "B2C", then contains the parcelnumber and the last eight ciphers are the date in format yyyyMMdd
<parcelLabelNumber> String Your parcelnumber. This can be used for tracking purposes. Note that if you have a multi-parcel shipment, you can have several <parcelLabelNumber> instances.

 

 

Sample call

Basic B2B Normal Parcel shipment

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:ns1="http://dpd.com/common/service/types/ShipmentService/3.3">
   <soapenv:Header>
      <ns:authentication>
         <delisId>KD*****</delisId>
         <authToken>****</authToken>
         <messageLanguage>en_EN</messageLanguage> 
      </ns:authentication>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:storeOrders>
         <printOptions>
            <printerLanguage>PDF</printerLanguage>
            <paperFormat>A6</paperFormat>
         </printOptions>
         <order>
            <generalShipmentData>
               <sendingDepot>0530</sendingDepot>
               <product>CL</product> 
               <sender> 
                  <name1>Senders NV</name1>
                  <name2>Jan Janssens</name2>
                  <street>Egide Walschaertsstraat 20</street>
                  <country>BE</country>
                  <zipCode>2800</zipCode>
                  <city>Mechelen</city>
                  <type>B</type>
               </sender>
               <recipient> 
                  <name1>Receivers NV</name1>
                  <street>Teststraat 5</street>
                  <country>BE</country>
                  <zipCode>2800</zipCode>
                  <city>Mechelen</city>
                  <type>B</type> 
               </recipient>
            </generalShipmentData>            
            <parcels>
               <customerReferenceNumber1>Box 1234</customerReferenceNumber1> 
               <weight>340</weight> 
            </parcels>
            <productAndServiceData>
               <orderType>consignment</orderType> 
            </productAndServiceData>
         </order>
       </ns1:storeOrders>
   </soapenv:Body>
</soapenv:Envelope>

 

Basic B2B Small Parcel

To make a Small Parcel (< 3 kg), you just have to add the weight to the Parcel and make sure it's lower than 3 kilos. The system will automatically make it a Small Parcel shipment.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:ns1="http://dpd.com/common/service/types/ShipmentService/3.3">
   <soapenv:Header>
      <ns:authentication>
         <delisId>KD*****</delisId>
         <authToken>****</authToken>
         <messageLanguage>nl_NL</messageLanguage>
      </ns:authentication>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:storeOrders>
         <printOptions>
            <printerLanguage>PDF</printerLanguage>
            <paperFormat>A6</paperFormat>
         </printOptions>
         <order>
            <generalShipmentData>
               <sendingDepot>0530</sendingDepot>
               <product>CL</product> 
               <sender> 
                  <name1>Senders NV</name1>
                  <name2>Jan Janssens</name2>
                  <street>Egide Walschaertsstraat 20</street>
                  <country>BE</country>
                  <zipCode>2800</zipCode>
                  <city>Mechelen</city>
                  <type>B</type>
               </sender>
               <recipient> 
                  <name1>Receivers NV</name1>
                  <street>Receiverstraat 5</street>
                  <country>BE</country>
                  <zipCode>2800</zipCode>
                  <city>Mechelen</city>
                  <type>B</type> 
               </recipient>
            </generalShipmentData>           
            <parcels>
               <customerReferenceNumber1>Box 1234</customerReferenceNumber1> 
               <weight>100</weight> 
            </parcels>
            <productAndServiceData>
               <orderType>consignment</orderType> 
            </productAndServiceData>
         </order>
       </ns1:storeOrders>
   </soapenv:Body>
</soapenv:Envelope>

 

Sample of a reponse for a valid call

This is the response you'd get with a label.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <orderResult xmlns="http://dpd.com/common/service/types/ShipmentService/3.3">
         <parcellabelsPDF>****</parcellabelsPDF>
         <shipmentResponses>
            <identificationNumber/>
            <mpsId>MPS0530880141005820190701</mpsId>
            <parcelInformation>
               <parcelLabelNumber>05308801410058</parcelLabelNumber>
            </parcelInformation>
         </shipmentResponses>
      </orderResult>
   </soap:Body>
</soap:Envelope>

Submitted by CustomerIT on Wed, 06/19/2019 - 13:54