On this page you will find information about the Shipment Service through a modular request. It will show you the minimum requirements to create a successful request and a parcel label.

  1. Introduction

    The shipment service is used to generate parcel labels. A request to the shipment service will only succeed with an active authentication token. This unique token can be generated in the login service. The token will be valid for 24 hours. Please store it for that time.

    On this page, we will start with a Basic Request. This request is the minimum request needed to create a successful request and a parcel label. All other sections on this page will have modular information in addition to the Basic Request.

    For clarity, we show one version of a request on this page. For full developer documentation and options, please see our page ‘Shipment Service (Parameters)‘.

  2. WSDL's

    Labels generated on the STAGE environment are not valid and may not be used for live shipments.

  3. Basic Request

    The basic request is the minimum data needed – including most common optional fields – for a succesful label creation. For specific service requests, choose the corresponding service in the navigation on the right. This basic request will result in a label with service DPD Classic (101).

    <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.5">
       <soapenv:Header>
          <ns:authentication>
             <delisId>*****</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>0522</sendingDepot>
                   <product>B2B</product>
                   <sender>
                      <name1>DPD Nederland B.V.</name1>
                      <name2>D.P.D. Westervelden</name2>
                      <street>Pakket Onderweg 1</street>
                      <street2>Hoofdgebouw - 3e etage</street2>
                      <country>NL</country>
                      <zipCode>5688HB</zipCode>
                      <city>Oirschot</city>
                      <phone>+31612345678</phone>
                      <email>none@dpd.nl</email>
                   </sender>
                   <recipient>
                      <name1>ABCD Technology</name1>
                      <name2>Prof. Holst</name2>
                      <street>High Tech Campus 1</street>
                      <street2>HTC 45 - Gebouw 26</street2>
                      <country>NL</country>
                      <zipCode>5656AE</zipCode>
                      <city>Eindhoven</city>
                      <contact>Anton Philips</contact>
                      <phone>+31612345678</phone>
                      <email>none@dpd.com</email>
                   </recipient>
                </generalShipmentData>
                <parcels>
                   <customerReferenceNumber1>First Ref</customerReferenceNumber1>
                   <customerReferenceNumber2>Second Ref</customerReferenceNumber2>
                   <volume>088022011</volume>
                   <weight>500</weight>
                </parcels>
                <productAndServiceData>
                   <orderType>consignment</orderType>
                </productAndServiceData>
             </order>
          </ns1:storeOrders>
       </soapenv:Body>
    </soapenv:Envelope>
    
  4. DPD Classic (101/136)

    The service DPD Classic has two service codes:

    • 101 – DPD Classic Normal Parcel
    • 136 – DPD Classic Small Parcel

    See our information page ‘Parcel Measurements & Weight’ for more information about normal and small parcels.

    Request
    There are no changes or additions to the Basic Request needed for this service.

  5. DPD Home (327/328)

    The service DPD Home has two service codes:

    • 327 – DPD Home Normal Parcel
    • 328 – DPD Home Small Parcel

    See our information page ‘Parcel Measurements & Weight’ for more information about normal and small parcels.

    Request
    For the DPD Home service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> should be changed to value ‘B2C’.

    <product>B2C</product>
    
  6. DPD ParcelLetter (154)

    The service DPD ParcelLetter has one service code:

    • 154 – DPD ParcelLetter

    See our information page ‘Parcel Measurements & Weight’ for more information about DPD ParcelLetter.

    Request
    For the DPD ParcelLetter service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> should be changed to value ‘PL’.

    <product>PL</product>
    

    Within the <parcels> section, <volume> and <weight> should adhere to the maximum volume and weight for a ParcelLetter.

    <volume>035025003</volume>
    <weight>75</weight>
    
  7. DPD 2Shop (337/338)

    The service DPD 2Shop has two service codes:

    • 337 – DPD 2Shop Normal Parcel
    • 338 – DPD 2Shop Small Parcel

    See our information page ‘Parcel Measurements & Weight’ for more information about normal and small parcels and measeruments for Parcelshops.

    Request
    For the DPD 2Shop service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> should be changed to value ‘B2C’.

    <product>B2C</product>
    

    Within the <productAndServiceData> section – below <orderType> -, the <parcelShopDelivery> section should be added.

    <parcelShopDelivery>
       <parcelShopId>787611436</parcelShopId>
       <parcelShopNotification>
          <channel>1</channel>
          <value>none@dpd.nl</value>
          <language>NL</language>
       </parcelShopNotification>
    </parcelShopDelivery>
    

    The <parcelShopId> can be retrieved via the ParcelShopFinder Service.

  8. DPD Shop Return (332)

    The service DPD Shop Return has one service code:

    • 332 – DPD Shop Return

    See our information page ‘Parcel Measurements & Weight’ for more information about measeruments for Parcelshops.

    Request
    For the DPD Shop Return service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> should be changed to value ‘B2C’.

    <product>B2C</product>
    

    Within the <parcels> section – below <weight> -, <returns> with value ‘true’ should be added.

    <returns>true</returns>
    
  9. DPD Saturday Delivery (103/358)

    The service DPD Saturday Delivery has two service codes:

    • 103- DPD Saturday Delivery B2B
    • 338 – DPD Saturday Delivery B2C

    Request
    For the DPD Saturday Delivery service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> can be changed to value ‘B2C’, depending on which service is desired.

    <product>B2C</product>
    

    Within the <productAndServiceData> section – below <orderType> -, <saturdayDelivery> with value ‘true’ should be added.

    <saturdayDelivery>true</saturdayDelivery>
    
  10. DPD Time Definite (155/179/225/350)

    The service DPD Time Definite has four service codes:

    • 350 – DPD 08:30 (E830)
    • 179 – DPD 10:00 (E10)
    • 225 – DPD 12:00 (E12)
    • 155 – DPD Guarantee (E18)

    Request
    For the DPD Time Definite service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> should be changed to value ‘E830’, ‘E10’, ‘E12’ or ‘E18’.

    <product>E830</product>
    <product>E10</product>
    <product>E12</product>
    <product>E18</product>
    
  11. DPD Tyre (365/366)

    The service DPD Tyre has two service codes:

    • 365- DPD Tyre B2B
    • 366 – DPD Tyre B2C

    Request
    For the DPD Tyre service, the following changes are needed compared to the Basic Request.

    Within the <generalShipmentData> section, <product> can be changed to value ‘B2BTyre’ or ‘B2CTyre’, depending on which service is desired.

    <product>B2BTyre</product>
    <product>B2CTyre</product>
    
  12. Collection Request

    With a Collection Request, you can request a driver to pickup parcels from a third party address to ship a parcel back to you or to a custom recipient.
    This is not the way to arrange a pickup at your pickup address. For that, go to ’17. Pickup Orders’.

    Before we look into the changes of the request, it is important to know the different address types within the request.

    • <sender>: This is your address as a customer of DPD. This address is not the address where the parcel needs to be picked up.
    • <recipient>: This is the address where the parcel will be delivered. It can be your address or another address of your choice.
    • <collectionRequestAddress>: This is the address where the driver will pick up the parcel. The driver will bring the label himself and attach it to the parcel at pickup.

    Request
    For the Collection Request service, the following changes are needed compared to the Basic Request.

    Within the <productAndServiceData> section, change the <orderType> value to ‘collection request order’.

    <orderType>collection request order</orderType>
    

    Below <orderType>, the <pickup> section should be added.

    <pickup>
       <quantity>1</quantity>
       <date>20250122</date>
       <day>3</day>
       <collectionRequestAddress>
          <name1>DPD Nederland B.V.</name1>
          <street>Pakket Onderweg 1</street>
          <country>NL</country>
          <zipCode>5688HB</zipCode>
          <city>Oirschot</city>
          <phone>+31612345678</phone>
          <email>none@dpd.nl</email>
       </collectionRequestAddress>
    </pickup>
    

    Important (!) You can develop and test this functionality on the stage environment. Do not use this functionality on the live environment before DPD Customer IT validated your test on the stage environment. Collection requests on the live environment will be executed and you will be invoiced for the costs, regardless of your testing purposes.

    Other things to take into account:

    • The response will not return anything except for a <dpdReference>.
    • No printable confirmation will be generated.
    • A request is definitive and will be charged by invoice if accepted by the API, even if the request has wrong or incomplete data.
    • Orders must be entered before 22h00 to be executed the next business day.
    • Contact our Customer Service to cancel/modify your Collection Request manually, before 22h00 of the day the order was placed.
  13. E-Label

    Instead of the regular label, it is also possible to create an e-label (PNG image). The DPD e-label is a digital QR code. This QR code can be scanned at a DPD parcel point, where the label is printed.
    Important (!) DPD only makes the label available. It is your own responsibility to ensure that the label is distributed to the your customer.

    To implement and use the new E-Label service, it is required to upgrade to ShipmentService 3.5.

    Request
    For the E-Label service, the following changes are needed compared to the Basic Request.

    Within the <printOptions> section – below <paperFormat> -, the <dropOffType> section should be added.

    <dropOffType>QR_CODE</dropOffType>
    
  14. International Shipments

    International shipments are shipments to non-EU countries like Norway, Switzerland, UK and Liechtenstein, but also exceptional areas like Canary Islands, Åland Islands, Campione d’Italia and Lake Lugano. This type of shipment is applicable to any available service for the chosen destination.

    Important (!) This section will only provide an overview of the required and most common fields in the request for an international shipment. The differences and details per country can be found on our page ‘Shipment Service (Parameters) – International Shipments‘.

    Request
    For international shipments, the following changes are needed compared to the Basic Request.

    Within the <sender> and <receiver> section, <houseNo> must be added as a separate value below <street>.

    <houseNo>13</houseNo>
    

    Within the <sender> and <receiver> section, <eoriNumber> and <vatNumber> must be added below <email>.

    <eoriNumber>NL123456789</eoriNumber>
    <vatNumber>NL123456789B01</vatNumber>
    

    Within the <sender> section, <destinationCountryRegistration> must be added below <vatNumber>.

    <destinationCountryRegistration>GB123456789</destinationCountryRegistration>
    

    Within the <parcels> section, an <international> section must be added below <weight>.

    <international>
       <parcelType>false</parcelType>
       <customsAmount>1913</customsAmount>
       <customsCurrency>EUR</customsCurrency>
       <customsAmountEx>1913</customsAmountEx>
       <customsCurrencyEx>EUR</customsCurrencyEx>
       <clearanceCleared>N</clearanceCleared>
       <prealertStatus>S03</prealertStatus>
       <exportReason>01</exportReason>
       <customsTerms>06</customsTerms>
       <customsContent>Sport Goods</customsContent>
       <customsInvoice>I2025001</customsInvoice>
       <customsInvoiceDate>20250122</customsInvoiceDate>
       <comment2>GB123456789</comment2>
       <commercialInvoiceConsigneeVatNumber>
       NL123456789B01
       </commercialInvoiceConsigneeVatNumber>
       <commercialInvoiceConsignee>
          <name1>DPD Nederland B.V.</name1>
          <street>Pakket Onderweg</street>
          <houseNo>1</houseNo>
          <country>NL</country>
          <zipCode>5688HB</zipCode>
          <city>Oirschot</city>
          <phone>+31612345678</phone>
          <email>none@dpd.nl</email>
          <eoriNumber>NL123456789</eoriNumber>
          <vatNumber>NL123456789B01</vatNumber>
       </commercialInvoiceConsignee>
       <commercialInvoiceConsignor>
          <name1>DPD Group UK Ltd</name1>
          <street>Twelvetrees Crescent</street>
          <houseNo>13</houseNo>
          <country>GB</country>
          <zipCode>E33JG</zipCode>
          <city>London</city>
          <phone>+441212345678</phone>
          <email>none@dpd.co.uk</email>
          <eoriNumber>GB123456789</eoriNumber>
          <vatNumber>GB123456789</vatNumber>
       </commercialInvoiceConsignor>
       <commercialInvoiceLine>
          <customsTarif>95066990</customsTarif>
          <receiverCustomsTarif>95066990</receiverCustomsTarif>
          <content>Sport Goods</content>
          <grossWeight>500</grossWeight>
          <itemsNumber>1</itemsNumber>
          <amountLine>1913</amountLine>
          <customsOrigin>NL</customsOrigin>
       </commercialInvoiceLine>
    </international>
    

    If there are multiple items within a parcel, you can add the <commercialInvoiceLine> section multiple times within the <international> section. The <grossWeight> of the multiple items should add up to the <weight>. And the <amountLine> of the multiple items should add up to the <customsAmount>.

    <commercialInvoiceLine>
       <customsTarif>95066990</customsTarif>
       <receiverCustomsTarif>95066990</receiverCustomsTarif>
       <content>Sport Goods</content>
       <grossWeight>400</grossWeight>
       <itemsNumber>1</itemsNumber>
       <amountLine>1000</amountLine>
       <customsOrigin>NL</customsOrigin>
    </commercialInvoiceLine>
    <commercialInvoiceLine>
       <customsTarif>52010010</customsTarif>
       <receiverCustomsTarif>52010010</receiverCustomsTarif>
       <content>Sport Shirt</content>
       <grossWeight>100</grossWeight>
       <itemsNumber>1</itemsNumber>
       <amountLine>913</amountLine>
       <customsOrigin>NL</customsOrigin>
    </commercialInvoiceLine>
    
  15. Masking Address

    Within the request, it is possible to add a masking address. This is relevant to display a different sender address on the parcel label, than the original sender’s address.

    Request
    For a masking address, the following changes are needed compared to the Basic Request.

    Add the <senderMaskingAddress> section between the <sender> section and the <recipient> section.

    <senderMaskingAddress>
       <name1>DPD Nederland B.V.</name1>
       <street>Pakket Onderweg 1</street>
       <country>NL</country>
       <zipCode>5688HB</zipCode>
       <city>Oirschot</city>
    </senderMaskingAddress>
    
  16. Multiple Parcels

    Within the request, you can add multiple parcels. This can be multiple regular shipping parcels, but also a combination of regular and return parcels.

    To add multiple parcels to your request, you can add the <parcels> section multiple times to the request. For international shipments, don’t forget to also add the <international> section to the <parcels> section, as describe in 14. International Shipments.

    Note: Multiple parcels is not available for shipments to the UK.

    <parcels>
       <customerReferenceNumber1>First Ref</customerReferenceNumber1>
       <customerReferenceNumber2>Second Ref</customerReferenceNumber2>
       <volume>088022011</volume>
       <weight>500</weight>
    </parcels>
    <parcels>
       <customerReferenceNumber1>Return Ref1</customerReferenceNumber1>
       <customerReferenceNumber2>Return Ref2</customerReferenceNumber2>
       <volume>088022011</volume>
       <weight>500</weight>
       <returns>true</returns>
    </parcels>
    
  17. Pickup Orders

    With the Pickup Order, you can request a driver to pickup parcels from your pickup address. This is only needed if you do not have a daily pickup arranged.
    This is not the way to arrange a pickup at a third party address to ship a parcel back to you or to a custom recipient. For that, go to ’12. Collection Request’.

    Request
    For the Pickup Order service, the following changes are needed compared to the Basic Request.

    This request is a separate request you can do. Therefore, remove the <parcels> section from your request.

    Within the <productAndServiceData> section, change the <orderType> value to ‘pickup information’.

    <orderType>pickup information</orderType>
    

    Below <orderType>, the <pickup> section should be added.

    <pickup>
       <quantity>1</quantity>
       <date>20250122</date>
       <day>3</day>
    </pickup>
    

    Important (!) You can develop and test this functionality on the stage environment. Do not use this functionality on the live environment before DPD Customer IT validated your test on the stage environment. Pickup orders on the live environment will be executed and you will be invoiced for the costs, regardless of your testing purposes.

    Other things to take into account:

    • The response will not return anything except for an <mpsID>.
    • No printable confirmation will be generated.
    • A request is definitive and will be charged by invoice if accepted by the API, even if the request has wrong or incomplete data.
    • Orders must be entered before 22h00 to be executed the next business day.
    • Contact your pickup depot to cancel/modify your pickup request manually.
  18. Predict

    Predict ensures a message to the receiver of the parcel before delivery. The Predict section can be added to all services.

    Within the <productAndServiceData> section – below <orderType> -, the <predict> section should be added.

    <predict>
       <channel>1</channel>
       <value>none@dpd.nl</value>
       <language>NL</language>
    </predict>
    
  19. Response

    When a ShipmentService request is successful, the system will respond with a response including a Base64 string on the <parcellabelsPDF> field and a 14 digit parcel number in the <parcelLabelNumber> field.

    The Base64 string can be converted into a parcel label. The parcel label number can be used for tracking.

    <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>
          <storeOrdersResponse 
          xmlns="http://dpd.com/common/service/types/ShipmentService/3.5">
             <orderResult>
                <parcellabelsPDF>*Base64 string*</parcellabelsPDF>
                <shipmentResponses>
                   <identificationNumber/>
                   <mpsId>MPS0522283503492520241212</mpsId>
                   <parcelInformation>
                      <parcelLabelNumber>05222835034925</parcelLabelNumber>
                   </parcelInformation>
                </shipmentResponses>
             </orderResult>
          </storeOrdersResponse>
       </soap:Body>
    </soap:Envelope>
    
  20. Response E-Label

    When a ShipmentService request for an e-label is successful, the system will respond with a response including a Base64 encoded PNG format on the <parcellabelsPNG_qr> field and a 14 digit parcel number in the <parcelLabelNumber> field.

    The Base64 encoded PNG format can be converted into an e-label. The parcel label number can be used for tracking.

    <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>
          <storeOrdersResponse 
          xmlns="http://dpd.com/common/service/types/ShipmentService/3.5">
             <orderResult>
                <parcellabelsPNG_qr>*Base64 encoded PNG format*</parcellabelsPNG_qr>
                <shipmentResponses>
                   <identificationNumber/>
                   <mpsId>MPS0522283503500020241220</mpsId>
                   <parcelInformation>
                      <parcelLabelNumber>05222835035000</parcelLabelNumber>
                   </parcelInformation>
                </shipmentResponses>
             </orderResult>
          </storeOrdersResponse>
       </soap:Body>
    </soap:Envelope>
    
  21. Parcel Label

    When the <parcellabelsPDF> Base64 string is converted, you’ll get a PDF with a similar parcel label as below. This label is the outcome of the Basic Request. The explanation of the label can be found below the label example.

    Example of a DPD Parcel Label
    Example of a DPD Parcel Label

    The label has three major data sections that can be adjusted in the request. As visible in the Basic Request, those are <sender>, <recipient> and <parcels>.

    More detailed information about the parcel label can be found on the Parcel Label Information page.

  22. E-Label QR Code

    When the <parcellabelsPNG_qr> Base64 encoded PNG format is converted, you’ll get a PNG image with a QR code as below. This label is the outcome of the Basic Request including the E-Label service.
    E-Label QR Code
    More detailed information about the QR code label can be found on the Parcel Label Information page.

  23. Late Export (exportOrders)

    The late export functionality allows you to keep the data of a shipment in a queue. Normally the data of a shipment is transferred to DPD immediately by creating a label. This data is valid for 28 days. After this period, it is no longer possible to match the data to parcel (number). With the late export functionality data is not transferred immediately by creating a label. The data needs to be manually transferred to DPD.

    Important (!) Once the late export functionality has been activated, you will no longer be automatically transferring any data for labels that have been created. All data for each parcel that has been created, will have to be transferred manually before the parcels are collected by DPD.

    Data Transfer
    Within Shipment Service storeOrders, you create labels like you always do. After that, parcel data can be exported using the Shipment Service exportOrders. After transferring the data to DPD, the data is valid for 28 days. Each parcel number of which the data needs to be transferred needs to be mentioned separately in the request.

    <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.5">
       <soapenv:Header>
          <ns:authentication>
             <delisId>*****</delisId>
             <authToken>*****</authToken>
             <messageLanguage>nl-NL</messageLanguage>
          </ns:authentication>
       </soapenv:Header>
       <soapenv:Body>
          <ns1:exportOrders>
             <!--1 or more repetitions:-->
             <parcelLabelNumber>05222000000001<</parcelLabelNumber>
             <parcelLabelNumber>05222000000003<</parcelLabelNumber>
             <parcelLabelNumber>05222000000004<</parcelLabelNumber>
             <parcelLabelNumber>05222000000007<</parcelLabelNumber>
          </ns1:exportOrders>
       </soapenv:Body>
    </soapenv:Envelope>
    
Was this post helpful?(Required)