How to create any operational order with the webservice

  1. Shipment Service

    The shipment service is used to generate 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. Please store it for that time.

    For other services and products, choose the corresponding topic in the navigation to the right.

    When a ShipmentService request is successful, the system will respond with a Base64 string on the <parcellabelsPDF> segment that can be decoded into a PDF with a label as well as the corresponding 14 digit parcel number in the <parcelLabelNumber> segment.

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

    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 “MPS“, “EXP” or “B2C“, the last eight digits are the date in format yyyyMMdd
    No
    <mpsCustomerReferenceNumber1> String 35 Consignment customer reference number 1.
    Shown on label and included in electronic data, but not shown on label for Collection Requests.
    No
    <mpsCustomerReferenceNumber2> String 35 Consignment customer reference number 2.
    Shown on label and included in electronic data, but not shown on label for Collection Requests.
    No
    <mpsCustomerReferenceNumber3> String 35 Consignment customer reference number 3.
    Not shown on any label, but included in electronic data.
    No
    <mpsCustomerReferenceNumber4> String 35 Consignment customer reference number 4.
    Not shown on any label, but included in electronic data.
    No
    <sendingDepot> String 4 DPD Depot you belong to. DPD Can tell you which one to use Yes
    <product> String 2-14 The type of shipment:
    IE2 for International Express
    E10 for DPD 10:00
    E12 for DPD 12:00
    E18 for DPD Guarantee
    – B2B for DPD Classic (incl. DPD Classic Predict)
    B2C for DPD Home
    PL for ParcelLetter
    (contact your sales contact person to activate this product)
    CL for all other shipment types
    Yes

    <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
    • street2
    • houseNo
    • country
    • zipCode
    • city
    • contact
    • phone
    Node Type Length Description Mandatory?
    <name1> String 35 Name of Sender’s address owner Yes
    <name2> String 35 Second name (or company) of Sender’s address owner No
    <street> String 35 Street of Sender’s address owner. Note you can add the house number here too. Yes
    <street2> String 35 Street2 is optional and may not contain street name and house number, only additional information (floor, building, appartment, …) No
    <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 (applicable to US) 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 in country format without spaces. Only use A-Z and 0-9. Please do not add prefixes or other characters. Yes
    <city> String 35 City/town of address Sender’s owner Yes
    <gln> Long 99 International location number of Sender’s address owner No
    <customerNumber> String 17 Customer number of Sender’s address owner. If used, it has to be the full 17 char number. Your DPD contact can give you this. No
    <contact> String 35 Contact person of Sender’s address owner No
    <phone> String 30 Phone number of Sender’s address owner. Must be format +<country prefix><full number>
    Ex: +31612345678
    No
    <fax> String 30 Fax number of Sender’s address owner. No
    <email> String 50 Email address of Sender’s address owner. For collection requests the maximum length is 40, otherwise always 50. This has to be a valid email address format. 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 35 Name of Receiver’s address owner Yes
    <name2> String 35 Second name (or company) of Receiver’s address owner No
    <street> String 35 Street of Receiver’s address owner. Note you can add the house number here too. Yes
    <street2> String 35 Street2 is optional and may not contain street name and house number, only additional information (floor, building, appartment, …) No
    <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 (applicable to US) 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 in country format without spaces. Only use A-Z and 0-9. Please do not add prefixes or other characters. Yes
    <city> String 35 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). No
    <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. Always mandatory, regardless of destination.
    Must be format +<country prefix><full number>
    Ex: +31612345678
    No
    <fax> String 30 Fax number of Receiver’s address owner. No
    <email> String 50 Email address of Receiver’s address owner. For collection requests the maximum length is 40, otherwise always 50. This has to be a valid email address format. 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

    <parcels> section

    Please note you can have multiple parcel within a shipment (multi-parcel shipment) by having more than one <parcels></parcel> instance. An example is included below the page.

    Node Type Length Description Mandatory?
    <customerReferenceNumber1> String Max 35 Reference 1 of this particular parcel.
    Shown on label and included in electronic data.
    No
    <customerReferenceNumber2> String Max 35 Reference 2 of this particular parcel.
    Shown on label and included in electronic data, but not shown on Collection Request labels.
    No
    <customerReferenceNumber3> String Max 35 Reference 3 of this particular parcel.
    Not shown on any label, but included in electronic data.
    No
    <customerReferenceNumber4> String Max 35 Reference 4 of this particular parcel.
    Not shown on any label, but included in electronic data.
    No
    <volume> Int n/a Volume of the single parcel (length/width/height in format LLLWWWHHH) in cm without separators. Ex: 050 = 50 cm
    Example: 10cm x 20cm x 30cm is 010020030
    No
    <weight> Int n/a Parcel weight in decagrams rounded in 10 gram units without decimal delimiter. Ex. 315 = 3,15kg). If this is smaller than 3 kg, it will be turned into a Small Parcel shipment. Yes
    <hazardousLimitedQuantities> Boolean n/a Set to true if your shipment has Hazardous Goods No
    <HigherInsurance>
    <amount>
    Long 99999 Increased insurance value without decimal separator (e.g. 1450 = 14.5 or 100 = 1) No
    <HigherInsurance>
    <currency>
    String 3 Currency code for increased insurance in ISO 4217 alpha-3 format (ex EUR) 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> Boolean n/a Only used for Collection Request. Set to true if <info1> needs to be shown on Coll. Request label No
    <info1> String 20 Not shown on label, except on labels for Coll. Request on which it will appear if above field is set to true. No
    <info2> String 20 Not shown on label. 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 with one parcel (mono-colli)

    <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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</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 Normal Parcel shipment with several parcels (multi-colli)

    <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><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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <parcels>
    <customerReferenceNumber1>Box 2</customerReferenceNumber1>
    <weight>500</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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</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>

     

  2. DPD Classic (101/136)

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

    These are examples of the standard shipment product with minimal mandatory namespaces entry.

    Regular shipment including return shipment
    It is possible to include a regular shipment and return shipment in the same call. This is possible by adding one parcel with the regular shipment and a second parcel with the return shipment. See the second sample call in chapter ‘6. Shop Return’.

     

    Sample call

    Basic DPD Classic Normal Parcel shipment with one parcel

    <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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <weight>100</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

     

    Basic DPD Classic Normal Parcel shipment with several parcels (multi-colli)

    <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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1</customerReferenceNumber1>
    <weight>100</weight>
    </parcels>
    <parcels>
    <customerReferenceNumber1>Box 2</customerReferenceNumber1>
    <weight>500</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>

     

  3. DPD Classic Predict

    DPD Classic Predict is identical to a regular DPD Classic, but with the <predict> tag. It sends a Predict message to the receiver with delivery information of their parcel.

    <predict> has a few child segments that must be included:

    • <channel>: the type of Predict you wish to send. Using value 1 will send an email, value 3 an SMS.
      Important(!) value 3 does not work within The Netherlands.
    • <value>: the email address or mobile phone number the message must be sent to. Obviously, use a valid email address if the channel is 1 and a valid phone number if the channel is 3.
      Note: phone number must be in format +<countrycode>#<rest of the number> so if the number is for example 0031612345678, use value +31#612345678
    • <language>: The language in which the Predict message should be sent in ISO639-1 format: FR, NL, EN, etc. Keep in mind that for example BE is a correct country code, BE as a language doesn’t exist. It should be one of the country languages or EN.
    • Attention: Use the exact same e-mail address/phone number for DPD Home shipment in the recipient segment as in the predict segment.

    Sample call

    <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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    <phone>+31#612345678</phone>
    <email>test@dpd.nl</email>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <predict>
    <channel>1</channel>
    <value>test@dpd.nl</value>
    <language>NL</language>
    </predict>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  4. DPD Home (327/328)

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

    Predict
    For DPD B2C Predict, you have to add the <predict> segment in the <productandservicedata> section. Please note this page described B2C Predict. B2B Predict is almost identical, but has a key difference explained in ‘3. DPD Classic Predict‘.

    <predict> has a few child segments that must be included:

    • <channel>: the type of Predict you wish to send. Using value 1 will send an email, value 3 an SMS.
      Important(!) value 3 does not work within The Netherlands.
    • <value>: the email address or portable phone number the message must be sent to. Obviously, use a valid email address if the channel is 1 and a valid phone number if the channel is 3.
      Note: phone number must be in format +<countrycode>#<rest of the number> so if the number is for example 0031612345678, use value +31#612345678
    • <language>: The language in which the Predict message should be sent in ISO639-1 format: FR, NL, EN, etc. Keep in mind that while BE is a correct country code, BE as a language doesn’t exist. It should be one of the country languages or EN.
    • Attention: Use the exact same e-mail address/phone number for DPD Home shipment in the recipient segment as in the predict segment.

    Regular shipment including return shipment
    It is possible to include a regular shipment and return shipment in the same call. This is possible by adding one parcel with the regular shipment and a second parcel with the return shipment. See the second sample call in chapter ‘6. Shop Return’.

     

    Sample call

    <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>0522</sendingDepot>
    <product>B2C</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>P</type>
    <phone>+31#612345678</phone>
    <email>test@dpd.nl</email>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <predict>
    <channel>1</channel>
    <value>test@dpd.nl</value>
    <language>NL</language>
    </predict>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  5. DPD Parcelshop/2Shop (337/338)

    This looks almost identical to a regular DPD Business shipment. In order to turn it into a shipment via parcelshop, you have to add the <parcelShopDelivery> segment in the <productAndServiceData> section. This one has a couple of child segments too:

     

    • <parcelShopId>: this is the ID of the Parcelshop you want DPD to drop the shipment at. This ID is acquired thought the Parcelshopfinder service (see separate section for this). In the Parcelshopfinder service, you will receive a response containing <parcelShopId>. It’s this value you use for this field.
    • <parcelShopNotification>: this contain the details of the Predict message that will be sent to the receiver to let him know his parcel arrived in the shop. Please note that you use <parcelShopNotification> here as opposed to <predict> for a B2C Predict shipment without Parcelshop.
      Parcelshopnotification has a few child segments of it’s own:

      • <channel>: the type of Predict you wish to send. Using value 1 will send an email, value 3 an SMS.
        Important(!) value 3 does not work within The Netherlands.
      • <value>: the email address or portable phone number the message must be sent to. Obviously, use a valid email address if the channel is 1 and a valid phone number if the channel is 3.
        Note: phone number must be in format +<countrycode>#<rest of the number> so if the number is for example 0031612345678, use value +31#612345678
      • <language>: The language in which the Predict message should be sent in ISO2 format: FR, NL, EN, etc. Keep in mind that while BE is a correct country code, BE as a language doesn’t exist. It should be one of the country languages or EN.
      • Attention: Use the exact same e-mail address/phone number for DPD Shop shipment in the recipient segment as in the predict segment.
      • A maximum of 10 ParcelshopID’s per call can be obtained
      • channel 1 is only for email and channel 3 only for SMS. No Predict will be sent if you try to use an email address with channel 3 or a phone number with channel 1.

     

    ! Attention ! Do not store the ParcelshopID’s you obtain from a parcelshopFinderService call for any other purpose than consulting previous shipments data. Parcelshops will announce closing or holidays and your shipment calls will be rejected when they contain a – for that time – invalid ParcelshopID.

    You will also have to make sure you fill in the <phone> field in the <recipient> segment since for several countries, Parcelshop Shipments require that field to be used.

     

    Sample call

        <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>0522</sendingDepot>
    <product>B2C</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>P</type>
    <phone>+31#612345678</phone>
    <email>test@dpd.nl</email>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <parcelShopDelivery>
    <parcelShopId>787611436</parcelShopId>
    <parcelShopNotification>
    <channel>3</channel>
    <value>+31#612345678</value>
    <language>NL</language>
    </parcelShopNotification>
    </parcelShopDelivery>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

     

  6. Shop Return (332)

    A Return shipment is almost identical to a regular DPD Business. You have to add a <return> segment to the <parcels> section and set the value to true.

    You don’t have to reverse the roles of the Sender and the Receiver. The system does that for you:

    The <sender> segment should still contain your details, even though you will become the receiving party on a return shipment. Likewise, the <receiver> segment should contain the details of your customer despite him becoming the sending party with a return shipment.

    Once you generate the label, you will notice that the Sender (you) has become the receiver and the receiver (the one who will return the label) will become the sender. The system did this by itself.

    (!)It is possible to include a regular shipment and return shipment in the same call. This is possible by adding one parcel with the regular shipment and a second parcel with the return shipment. See the second sample call below for an example.

    Sample call

    <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>*****</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>B2C</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <returns>true</returns>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

    Sample call (regular shipment + return 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>*****</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>B2C</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Regular</customerReferenceNumber1>
    <volume>015025035</volume> <weight>500</weight> </parcels> <parcels>
    <customerReferenceNumber1>Return</customerReferenceNumber1>
    <returns>true</returns> <volume>015025035</volume> <weight>500</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  7. DPD ParcelLetter (154)

    Similar to a regular DPD Home shipment, with a couple changes:

    • <product> PL
    • <weight> maximum of 1 kilogram (value 100)
    • <volume> maximum measurements of length: 36 cm, width: 26 cm, height: 3 cm (value 036026003)

    Click here for information about measurements and weight.

    Sample call

    <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>0522</sendingDepot>
    <product>PL</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>P</type>
    <phone>+31#612345678</phone>
    <email>test@dpd.nl</email>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <volume>036026003</volume>
    <weight>100</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <predict>
    <channel>1</channel>
    <value>test@dpd.nl</value>
    <language>NL</language>
    </predict>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  8. DPD 10:00, 12:00 and Guarantee Shipment

    Express shipments look almost identical to regular DPD Business shipments. These products are determined with in the <product> segment under <generalshipmentdata>. Use values E10, E12 or E18 for DPD 10:00, DPD 12:00 or DPD Guarantee respectively.

    Please note that with Express Shipments, a contact name and phone number of the recipients must be supplied in the <recipient> segment. These are mandatory fields for Express.

    DPD Guarantee sample call

    <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>*****</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>E18</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Teststraat 5</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <contact>Mr. Contactman</contact> <!-- Mandatory for Express -->
    <phone>0612345678</phone> <!-- Mandatory for Express -->
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

     

  9. Saturday Delivery Shipment

    Saturday delivery shipments are almost identical to regular DPD Business shipments. You only have to add a flag <saturdayDelivery> to the <productAndServiceData> section and set it to true.

    Sample call B2B (103)

    <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>*****</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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <saturdayDelivery>true</saturdayDelivery>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
    </soapenv:Envelope>

    Sample call B2C (358)

    <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>*****</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>0522</sendingDepot>
    <product>B2C</product>
    <sender>
    <name1>Senders NV</name1>
    <name2>Jan Janssens</name2>
    <street>Pakket Onderweg 1</street>
    <country>NL</country>
    <zipCode>5688HB</zipCode>
    <city>Oirschot</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Receivers NV</name1>
    <street>Frederiklaan 10A</street>
    <country>NL</country>
    <zipCode>5616NH</zipCode>
    <city>Eindhoven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <saturdayDelivery>true</saturdayDelivery>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
    </soapenv:Envelope>
  10. Tyres (bulk) Shipment

    A Bulk Tyres shipment is almost identical to a regular DPD Business. You have to add a <tyres> segment to the <ProductAndServiceData> section and set the value to true.

     

    Sample call

    <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 BVBA</name1>
    <name2>Jan Jansens</name2>
    <street>EGIDE WALSCHAERTSTRAAT 20</street>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Testman</name1>
    <street>Bruul 5</street>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <type>P</type>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight>
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <tyres>true</tyres>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  11. Ex-Works Shipment

    Ex-Works shipments are almost identical to the regular DPD Business shipment. You just have to add a <exWorksDelivery> tag to <productAndServiceData> and set it to true.

    Sample call


    <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>
    <exWorksDelivery>true</exWorksDelivery>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  12. International non-EU Shipments

    Request parameters
    Each shipment outside the EU, which includes countries like Switzerland, Norway and UK, must have an <international> section under the <parcels> section. Please note that you will need a separate  <commercialInvoiceLine>  for each different kind of item you’re shipping. An object that has it’s own HS code, constitutes a separate item.
    These segments will be described in the raster below.

    UK ONLY: It’s not possible to send multi-colli shipments to the UK. You can only send single-parcel shipments. Your parcel can however contain multiple items.

    Important Information

    • Sender phone (<phone> field under <sender>) is mandatory.
      Note: phone number must be format +<country code><rest of the number> in all fields. For example: +31612345678 or +442012345678.
    • Sender email (<email> field under <sender>) is mandatory.
      Note: the email must be on an existing domain.
    • Receiver phone (<phone> field under <recipient>) is mandatory and in correct format.
    • Receiver email (<email> field under <recipient>) is mandatory and on an existing domain.
    • Sender and Receiver house number must be in their separate fields <houseNo>. This has to be the case for the <sender>, <recipient>, <commercialInvoiceConsignee> and <commercialInvoiceConsignor> segments.
    • The value in the <weight> field in the <parcels> segment needs to be the total of all <grossweight> values in the <commercialInvoiceLine> segment.

    Notes about EORI, HMRC and VAT number

    • UK: The Sender VAT and EORI number are always mandatory and must be included in two segments: the <sender> segment and the <commercialInvoiceConsignor> segment.
    • Non-EU: The Sender EORI number is always mandatory and must be included in two segments: the <sender> segment and the <commercialInvoiceConsignor> segment.
    • UK: The Receiver VAT and EORI number must be given in the <receiver> segment, the <commercialInvoiceConsignee> segment and in the <commercialInvoice
      ConsigneeVatNumber>
      field. However, these values can vary depending whether or not your shipment is B2B or B2C:
      For B2B Shipments: these fields must contain the Receiver EORI and VAT number.
      For B2C Shipments: these fields must contain the Sender EORI and VAT number, since B2C receivers don’t have a VAT or EORI.
    • Non-EU: The Receiver VAT and EORI number are optional. When given, they should appear in the <receiver> segment, the <commercialInvoiceConsignee> segment and in the <commercialInvoice
      ConsigneeVatNumber>
      field.
    • UK ONLY: The HMRC number of the Sender must be included in the <comment2> field of the <international> segment.
      AND
      The HMRC number of the Sender must be included in the <destinationCountryRegistration> field of the <sender> segment.

    <sender> segment

    In case of shipment creation where HMRC number entry applies, be sure to add HMRC number here as well as in the ‘comment2’ section of the international segment.
    This especially important if you are shipping on behalf of a third party

    Node Type Length Description Mandatory?
    <destinationCountryRegistration> String n/a Must contain HMRC number Conditional, if value of goods meets HMRC requirements

     

    <international> segment

    Node Type Length Description Mandatory?
    <parcelType> Boolean n/a Please always set this to false Yes
    <customsAmount> Long 99999 Defines the customs amount in total without decimal separator (e.g. 1450 = 14.5 or 100 = 1). Yes
    <customsCurrency> String 3 Currency code in ISO 4217 alpha-3 format (ex EUR) Yes
    <customsAmountEx> Long 99999 Defines the converted customs amount in total without decimal separator (e.g. 1450 = 14.5 or 100 = 1). You can repeat what you put in <customsAmount> Yes
    <customsCurrencyEx> String 3 Currency code in ISO 4217 alpha-3 format. Currency for conversion (destination country). You can repeat what you put in <customsCurrency> Yes
    <clearanceCleared> String 1 Please use value N Yes
    <prealertStatus> String 3 Please use value S03 Yes
    <exportReason> String 2 Reason for export :

    01:sale

    02:return/replacement

    03:gift

    Yes
    <customsTerms>

    Non-EU excluding UK

    String 2 01 = DAP, not 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

    07 = DAP & DDP enhanced, Duty and taxes were pre-paid by the receiver (only with approval of DPD)

    Yes
    <customsTerms>

    UK Only

    String 2 06 = DAP

    07 = DAP & DDP enhanced, Duty and taxes were pre-paid by the receiver (only with approval of DPD)

    Yes
    <customsContent> String 35 Describes the content of the parcel. Yes
    <customsPaper> String 20 Lists the accompanying documents. The values are to be combined without separator (e.g. “ABG”).

    Following values are defined:

    A  = commercial invoice

    B  = pro forma invoice

    C  = export declaration

    D = EUR1

    E  = EUR2

    F  = ATR

    G  = delivery note

    H  = third party billing

    I = T1 document

    No
    <customsEnclosure> Boolean n/a Defines if the accompanying documents are at the parcel or not. Default value is false. No
    <customsInvoice> String 20 Defines the invoice number. Yes
    <customsInvoiceDate> Int 99999 Defines the invoice date (format YYYYMMDD). Yes
    <customsAmountParcel> Long 99999 Value of your entire parcel, with two decimal places without separator.
    Ex. If your parcel is worth 12.54€, use value 1254. If it’s worth 550.20€, use value 55020
    No
    <linehaul> String 2 Defines mode of line haul. Possible values are
    AI  for air
    RO for road.
    No
    <shipMrn> String 20 Movement reference number of the electronical export declaration. No
    <collectiveCustomsClearance> Boolean n/a Flag for determining collective customs clearance. Default value is false No
    <comment1> String 70 Comment about your shipment No
    <comment2> String 70 Must contain HMRC number Yes
    <commercialInvoice

    ConsigneeVatNumber>

    String 20 Defines the commercial invoice consignee VAT number.
    – In case of a B2B shipment: use receiver’s VAT number.
    – In case of a B2C shipment: use sender’s VAT number
    Yes
    <commercialInvoiceConsignee> See lower n/a Contains address data of commercial invoice consignee. See <commercialInvoiceConsignee> section Yes
    <commercialInvoiceConsignor> See lower n/a Contains address data of commercial invoice consignor. See <commercialInvoiceConsignor> section Yes
    <commercialInvoiceLine> See lower n/a Contains invoice line data Yes

     

    <commercialInvoiceConsignee> and <commercialInvoiceConsignor> segments

     

    Node Type Length Description Mandatory?
    <name1> String 35 Name of the consignee / consignor Yes
    <street> String 35 Street of the consignee / consignor Yes
    <houseNo> String 8 House number of the consignee / consignor Yes
    <country> String 2 Country of the consignee / consignor (ISO 3166-2 Code) Yes
    <zipCode> String 9 Zip code of consignee / consigner in country format without spaces. Only use A-Z and 0-9. Please do not add prefixes or other characters. Yes
    <city> String 35 City of the consignee / consignor Yes
    <phone> String 3 Phone of the consignee / consignor. For UK numbers, it needs to be the full phone number startingwith the country prefix. Yes
    <email> String 30 Email of the consignee / consignor. It must be on an existing domain. Yes
    <eoriNumber> String 30 EORI number of the consignee / consignor. Please keep the notes mentioned earlier on this page in mind. Yes
    <vatNumber> String 30 VAT number of the consignee / consignor. Please keep the notes mentioned earlier on this page in mind. Yes

     

    <commercialInvoiceLine> segment

    You can have multiple <commercialInvoiceLine> segments: one for each item you have.

    Node Type Length Description Mandatory?
    <customsTarif> String 8 HS code of your item Yes
    <receiverCustomsTarif> String 8 Repeat of the HS code of your item Yes
    <productCode> String 20 Product code No
    <content> String 80 Description of your item Yes
    <grossWeight> Long 99999 Weight of this item in total. So if you have 200 pieces of this item, this is the weight of all 200. Yes
    <itemsNumber> Long 99999 How many of this items this parcel has Yes
    <amountLine> Long 99999 Value of this item in total with two decimal places without separator. So if you have 200 pieces of this item, this is the value of all 200.
    Ex. If your parcel is worth 12.54€, use value 1254. If it’s worth 550.20€, use value 55020
    Yes
    <customsOrigin> String 2 Origin country of this item (ISO 3166-2 Code) Yes

     

    Sample call B2B

    <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>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>+31612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    <destinationCountryRegistration>QQ123456C</destinationCountryRegistration>
    </sender>
    <recipient>
    <name1>British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>+442012345678</phone>
    <email>receiver@receivercompany.com</email>
    <eoriNumber>7788778877</eoriNumber>
    <vatNumber>GB654321</vatNumber>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>123</weight> <!-- Mandatory for non-EU shipments -->
    <!-- FOR SHIPMENTS TO NON-EU DESTINATIONS. -->
    <international>
    <parcelType>false</parcelType>
    <customsAmount>1400</customsAmount>
    <customsCurrency>EUR</customsCurrency>
    <customsAmountEx>1400</customsAmountEx>
    <customsCurrencyEx>EUR</customsCurrencyEx>
    <clearanceCleared>N</clearanceCleared>
    <prealertStatus>S03</prealertStatus>
    <exportReason>01</exportReason>
    <customsTerms>06</customsTerms>
    <customsContent>Paperclips</customsContent>
    <customsInvoice>12345</customsInvoice>
    <customsInvoiceDate>20190624</customsInvoiceDate>
    <comment2>QQ123456C</comment2>
    <commercialInvoiceConsigneeVatNumber>GB654321</commercialInvoiceConsigneeVatNumber>
    <commercialInvoiceConsignee>
    <name1>British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>+442012345678</phone>
    <email>receiver@receivercompany.com</email>
    <eoriNumber>7788778877</eoriNumber>
    <vatNumber>GB654321</vatNumber>
    </commercialInvoiceConsignee>
    <commercialInvoiceConsignor>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>+31612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </commercialInvoiceConsignor>
    <commercialInvoiceLine>
    <customsTarif>2225522</customsTarif>
    <receiverCustomsTarif>5552255</receiverCustomsTarif>
    <productCode>88776655</productCode>
    <content>Paperclips</content>
    <grossWeight>123</grossWeight>
    <itemsNumber>1</itemsNumber>
    <amountLine>1515</amountLine>
    <customsOrigin>BE</customsOrigin>
    </commercialInvoiceLine>
    </international>
    <!-- CUSTOMS SEGMENT FOR NON-EU ENDS HERE -->
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

    Sample call B2C

    <soapenv:Envelope xmlns:ns1="http://dpd.com/common/service/types/ShipmentService/3.3" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <ns:authentication>
    <delisId>*****</delisId>
    <authToken>****</authToken>
    <messageLanguage>nl_NL</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:storeOrders>
    <printOptions>
    <printerLanguage>ZPL</printerLanguage>
    <paperFormat>A6</paperFormat>
    </printOptions>
    <order>
    <generalShipmentData>
    <sendingDepot>0522</sendingDepot>
    <product>B2C</product>
    <sender>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>0031612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </sender>
    <recipient>
    <name1>B2B British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>00446123456</phone>
    <email>receiver@receivercompany.com</email>
    <!-- Typically, 2C receivers dont have an EORI or VAT. Use the Sender's here instead.-->
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>340</weight> <!-- Mandatory for non-EU shipments -->
    <!-- FOR SHIPMENTS TO NON-EU DESTINATIONS. -->
    <international>
    <parcelType>false</parcelType>
    <customsAmount>1400</customsAmount>
    <customsCurrency>EUR</customsCurrency>
    <customsAmountEx>1400</customsAmountEx>
    <customsCurrencyEx>EUR</customsCurrencyEx>
    <clearanceCleared>F</clearanceCleared>
    <prealertStatus>S03</prealertStatus>
    <exportReason>01</exportReason>
    <customsTerms>06</customsTerms>
    <customsContent>Paperclips</customsContent>
    <customsInvoice>12345</customsInvoice>
    <customsInvoiceDate>20190624</customsInvoiceDate>
    <comment2>QQ123456C</comment2>
    <!-- Typically, 2C receivers dont have an EORI or VAT. Use the Sender's here instead.-->
    <commercialInvoiceConsigneeVatNumber>BE123456</commercialInvoiceConsigneeVatNumber>
    <commercialInvoiceConsignee>
    <name1>B2B British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>00446123456</phone>
    <email>receiver@receivercompany.com</email>
    <!-- Typically, 2C receivers dont have an EORI or VAT. Use the Sender's here instead.-->
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </commercialInvoiceConsignee>
    <commercialInvoiceConsignor>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>0031612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </commercialInvoiceConsignor>
    <commercialInvoiceLine>
    <customsTarif>2225522</customsTarif>
    <receiverCustomsTarif>5552255</receiverCustomsTarif>
    <productCode>88776655</productCode>
    <content>Paperclips</content>
    <grossWeight>340</grossWeight>
    <itemsNumber>1</itemsNumber>
    <amountLine>1515</amountLine>
    <customsOrigin>BE</customsOrigin>
    </commercialInvoiceLine>
    </international>
    <!-- CUSTOMS SEGMENT FOR NON-EU ENDS HERE -->
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    <predict>
    <channel>1</channel>
    <value>receiver@receivercompany.com</value>
    <language>NL</language>
    </predict>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

    Sample call B2B with several different items

    <soapenv:Envelope xmlns:ns1="http://dpd.com/common/service/types/ShipmentService/3.3" xmlns:ns="http://dpd.com/common/service/types/Authentication/2.0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <ns:authentication>
    <delisId>KD*****</delisId>
    <authToken>*****</authToken>
    <messageLanguage>nl_NL</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:storeOrders>
    <printOptions>
    <printerLanguage>ZPL</printerLanguage>
    <paperFormat>A6</paperFormat>
    </printOptions>
    <order>
    <generalShipmentData>
    <sendingDepot>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>0031612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </sender>
    <recipient>
    <name1>British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>00446123456</phone>
    <email>receiver@receivercompany.com</email>
    <eoriNumber>7788778877</eoriNumber>
    <vatNumber>GB654321</vatNumber>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>Box 1234</customerReferenceNumber1>
    <weight>470</weight> <!-- Mandatory for non-EU shipments -->
    <!-- FOR SHIPMENTS TO NON-EU DESTINATIONS. -->
    <international>
    <parcelType>false</parcelType>
    <customsAmount>2700</customsAmount>
    <customsCurrency>EUR</customsCurrency>
    <customsAmountEx>2700</customsAmountEx>
    <customsCurrencyEx>EUR</customsCurrencyEx>
    <clearanceCleared>N</clearanceCleared>
    <prealertStatus>S03</prealertStatus>
    <exportReason>01</exportReason>
    <customsTerms>06</customsTerms>
    <customsContent>Paperclips</customsContent>
    <customsInvoice>12345</customsInvoice>
    <customsInvoiceDate>20190624</customsInvoiceDate>
    <comment2>QQ123456C</comment2>
    <commercialInvoiceConsigneeVatNumber>GB654321</commercialInvoiceConsigneeVatNumber>
    <commercialInvoiceConsignee>
    <name1>British Test</name1>
    <street>Receiverstraat</street>
    <houseNo>5</houseNo>
    <country>GB</country>
    <zipCode>LS101AB</zipCode>
    <city>Leeds</city>
    <phone>00446123456</phone>
    <email>receiver@receivercompany.com</email>
    <eoriNumber>7788778877</eoriNumber>
    <vatNumber>GB654321</vatNumber>
    </commercialInvoiceConsignee>
    <commercialInvoiceConsignor>
    <name1>Sender NV</name1>
    <name2>Jan Jansens</name2>
    <street>Egide Walschaertsstraat</street>
    <houseNo>20</houseNo>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <phone>0031612345678</phone>
    <email>sender@sendercompany.com</email>
    <eoriNumber>1133113311</eoriNumber>
    <vatNumber>BE123456</vatNumber>
    </commercialInvoiceConsignor>
    <commercialInvoiceLine>
    <customsTarif>2225522</customsTarif>
    <receiverCustomsTarif>5552255</receiverCustomsTarif>
    <productCode>88776655</productCode>
    <content>Paperclips</content>
    <grossWeight>230</grossWeight>
    <itemsNumber>1</itemsNumber>
    <amountLine>1200</amountLine>
    <customsOrigin>BE</customsOrigin>
    </commercialInvoiceLine>
    <commercialInvoiceLine>
    <customsTarif>885588</customsTarif>
    <receiverCustomsTarif>558855</receiverCustomsTarif>
    <productCode>10101212</productCode>
    <content>Pencils</content>
    <grossWeight>240</grossWeight>
    <itemsNumber>1</itemsNumber>
    <amountLine>1500</amountLine>
    <customsOrigin>BE</customsOrigin>
    </commercialInvoiceLine>
    </international>
    <!-- CUSTOMS SEGMENT FOR NON-EU ENDS HERE -->
    </parcels>
    <productAndServiceData>
    <orderType>consignment</orderType>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>
  13. Pickup Orders

    To enter a Pickup Request via API, follow the call structure below.

    This is a separate call from your Shipment calls to assure a driver will come to one of your official pickup addresses to collect the parcels you have prepared for a shipment in case you do not have a daily pickup agreed upon.

    This is not a way to arrange a pickup at a third party address to ship a parcel to a custom recipient. For that use, go to ’14. Collection Request Orders’.

    SAMPLE CALL:

    <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>*****</delisId>
    <authToken>*****</authToken>
    <messageLanguage>en_EN</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:storeOrders>
    <order>
    <generalShipmentData>
    <sendingDepot>0530</sendingDepot>
    <product>CL</product>
    <sender>
    <name1>Agreed Account Pickup Address</name1>
    <street>Your Address 1</street>
    <country>BE</country>
    <zipCode>3000</zipCode>
    <city>Leuven</city>
    <type>B</type>
    </sender>
    <recipient>
    <name1>Agreed Account Pickup Address</name1>
    <street>Your Address 1</street>
    <country>BE</country>
    <zipCode>3000</zipCode>
    <city>Leuven</city>
    <type>B</type>
    </recipient>
    </generalShipmentData>
    <productAndServiceData>
    <orderType>pickup information</orderType>
    <pickup>
    <quantity>1</quantity>
    <date>20200615</date>
    <day>1</day>
    <fromTime1>0900</fromTime1>
    <toTime1>1800</toTime1>
    </pickup>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

     

    !! Attention !!

    Do not use this functionality on the LIVE environment before our IT department granted you permission to do so. Orders would be executed and you will be invoiced for the costs, regardless of your testing purposes.

    !! Attention !!

    • You can develop on the STAGE environment and contact DPD Customer IT before proceeding to the LIVE environment. We will help you validate testing.
    • The response will not return anything except for a MpsID (= order ID). No printable confirmation will be generated. The driver will come and collect the parcels at the specified location. A request is definitive and will be charged by invoice if accepted by the API, even if the request was composed of wrong or incomplete data.
    • Orders must be entered before 22h00 to be executed the next business day.
    • Contact you pickup depot to cancel/modify your pickup request manually.

     

    SAMPLE RESPONSE:

    <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.3">
    <orderResult>
    <shipmentResponses>
    <mpsId>54263</mpsId>
    </shipmentResponses>
    </orderResult>
    </storeOrdersResponse>
    </soap:Body>
    </soap:Envelope>

     

    Namespace values:

    <sendingDepot>0530</sendingDepot> Pickup Depot for Customer
    <product>CL</product> Mandatory, set to ‘CL’
    </sender> <name1>Agreed Account Pickup Address</name1> Mandatory, the location name from where the pickup is needed, maxlength=35
    </sender> <street>Your Address 1</street> Mandatory, the location address from where the pickup is needed, maxlength=35
    </sender> <country>BE</country> Mandatory, the location country from where the pickup is needed, can only be customer BU country
    </sender> <zipCode>3000</zipCode> Mandatory, the location ZIP from where the pickup is needed
    </sender> <city>Leuven</city> Mandatory, the location city from where the pickup is needed
    </sender> <type>B</type> Mandatory, signifies ‘Business’, so hardcode to ‘B’
    <recipient> <name1>Agreed Account Pickup Address</name1> Mandatory, to fill out your account details, but neglected in the operational data
    <recipient> <street>Your Address 1</street> Mandatory, to fill out your account details, but neglected in the operational data
    <recipient> <country>BE</country> Mandatory, to fill out your account details, but neglected in the operational data
    <recipient> <zipCode>3000</zipCode> Mandatory, to fill out your account details, but neglected in the operational data
    <recipient> <city>Leuven</city> Mandatory, to fill out your account details, but neglected in the operational data
    <recipient> <type>B</type> Mandatory, to fill out your account details, but neglected in the operational data
    <orderType>pickup information</orderType> Mandatory, specifies action, so hardcode to ‘pickup information’
    <quantity>1</quantity> Mandatory, number of parcels, max 20
    <date>20200615</date> Mandatory, date of pickup, minimum one business day after the date of request. : YYYYMMDD
    <day>1</day> Mandatory, day of the week: Monday=1, Tuesday=2, … , Friday=5
  14. Collection Request Orders

    To enter a Collection Request via API, follow the call structure below.

    Three addresses are identified, be sure they are entered in the right namespaces

    • Sender: This is your data, our customer, who orders the parcel collection to take place at point A and be delivered to point B. This address is not the place where the parcel will be picked up nor delivered. The fields are mandatory but the data in these namespaces can be masked would you like to do so.
    • Recipient: This is the location where the parcel will be delivered.
    • Collection Request Address: This is the location where the driver will present himself to pick up the parcel. The driver will bring the label himself and attach it to the parcel at pickup.!!

    SAMPLE CALL:

    <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>*****</delisId>
    <authToken>*****</authToken>
    <messageLanguage>nl_NL</messageLanguage>
    </ns:authentication>
    </soapenv:Header>
    <soapenv:Body>
    <ns1:storeOrders>
    <order>
    <generalShipmentData>
    <sendingDepot>0522</sendingDepot>
    <product>B2B</product>
    <sender>
    <name1>Your (masked) account ordering the CR</name1>
    <street>Office Street 1 (or masked address)</street>
    <country>BE</country>
    <zipCode>3000</zipCode>
    <city>Leuven</city>
    <type>B</type>
    <phone>+31612345678</phone>
    <email>cr-order@dpd.nl</email>
    </sender>
    <recipient>
    <name1>(Masked) Delivery Destination</name1>
    <street>CR Destination Street 1</street>
    <country>BE</country>
    <zipCode>2800</zipCode>
    <city>Mechelen</city>
    <type>B</type>
    <phone>+31612345678</phone>
    <email>cr-receiver@dpd.nl</email>
    </recipient>
    </generalShipmentData>
    <parcels>
    <customerReferenceNumber1>TEST parcel 1</customerReferenceNumber1>
    <weight>100</weight>
    <printInfo1OnParcelLabel>true</printInfo1OnParcelLabel>
    <info1>Return Item 1</info1>
    <info2>123456789</info2>
    </parcels>
    <productAndServiceData>
    <orderType>collection request order</orderType>
    <pickup>
    <quantity>1</quantity>
    <date>20200615</date>
    <day>1</day>
    <collectionRequestAddress>
    <name1>Pickup Place for Goods</name1>
    <street>CR Pickup Street 1</street>
    <country>BE</country>
    <zipCode>2000</zipCode>
    <city>Antwerpen</city>
    <type>B</type>
    <phone>+31612345678</phone>
    <email>pickupaddress@dpd.nl</email>
    </collectionRequestAddress>
    </pickup>
    </productAndServiceData>
    </order>
    </ns1:storeOrders>
    </soapenv:Body>
    </soapenv:Envelope>

     

    !! Attention !!

    Do not use this functionality on the LIVE environment before our IT department granted you permission to do so. Orders would be executed and you will be invoiced for the costs, regardless of your testing purposes.

    !! Attention !!

    • You can develop on the STAGE environment and contact your Sales representative meanwhile to discuss your go live of this product for your account. Contact DPD Customer IT before proceeding to the LIVE environment. We will help you validate testing.
    • The response will not return anything except for a reference. No label will be generated. The driver will take the label to the place of pickup. A request is definitive and will be charged by invoice if accepted by the API, even if the request was composed of wrong or incomplete data.
    • Collection Request orders need to be transmitted before 22h00 to assure next business day exectution. All collection requests received after the daily cut-off, will be moved to the following business day.
    • Contact our Customer Care department to cancel/modify your Collection Request manually, before 22h00 of the day the order was placed.
    • For more general information and FAQs, see https://integrations.dpd.nl/dpd-shipper/dpd-shipper-central/collection-request/.

    SAMPLE RESPONSE:

    <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.3">
    <orderResult>
    <shipmentResponses>
    <parcelInformation>
    <dpdReference/>
    </parcelInformation>
    </shipmentResponses>
    </orderResult>
    </storeOrdersResponse>
    </soap:Body>
    </soap:Envelope>

     

    Namespace values:

    <sendingDepot> Depot belonging to the account you are using to give the CR order.
    <product> Choose ‘CL’, can be hardcoded, the productcode will be overruled anyhow by the namespace <orderType>
    <sender> <name1> The account name giving the order for the CR. Can be Customer or a masked name of your partner. This address is neglected operationally.
    <sender> <street> The account address giving the order for the CR. Can be Customer or a masked address of your partner. This address is neglected operationally.
    <sender> <country> The account country belonging to the name and address above. Has to be BE to make it a Belgian order
    <sender> <zipCode> The account ZIP belonging to the name and address above
    <sender> <city> The account city, corresponding to the ZIP above
    <sender> <type> Choose ‘B’, can be hardcoded. Signifies this address is a ‘Business’ address (versus P = ‘Private’)
    <sender> <phone> Optional. Use form +31###########
    <sender> <email> Optional
    <recipient> <name1> The actual destination name of the parcel after pickup and transit. Can be Customer or a masked name of your partner.
    <recipient> <street> The actual destination address of the parcel after pickup and transit. Can be Customer or a masked -but real- address of your partner.
    <recipient> <country> The actual country belonging to the name and address above. Can be any EU country.
    <recipient> <zipCode> The actual ZIP belonging to the name and address above
    <recipient> <city> The actual city, corresponding to the ZIP above
    <recipient> <type> Choose ‘B’, can be hardcoded. Signifies this address is a ‘Business’ address (versus P = ‘Private’)
    <recipient> <phone> Mandatory, Use form +31###########
    <recipient> <email> Mandatory
    <customerReferenceNumber1> Order Reference. This will also show on the label.
    <weight> Mandatory. Wheigt is entered in decagrams. So ‘100’ translates to 1kg.
    <printInfo1OnParcelLabel> Boolean. Set to ‘true’ if you want the namespace value for <info1> (below) printed on the label
    <info1> Parcel Reference 1 for the CR (printable on the label) For now, please make 1 call per CR, multiparcel CR can be supported later on.
    <info2> Parcel Reference 2 for the CR (only visible in data/reporting, not on label) For now, please make 1 call per CR, multiparcel CR can be supported later on.
    <orderType> Choose ‘collection order request’, can be hardcoded.
    <quantity> Number of parcels to be collected.
    <date> The date for the CR to be executed. Needs to be at least the next business day. Cut-off is 16h00 CET (minus some minutes for data handling/forwarding) Make last order of the day at 15h30 CET
    <day> Day of the week, as verification. ‘1’ is Monday, ‘2’ is Tuesday, … ,’5′ is Friday
    <collectionRequestAddress> <name1> The pickup address of the CR. Name of the original location the driver needs to go to. The end customer returning goods.
    <collectionRequestAddress> <street> The pickup address of the CR.  Address of the original location the driver needs to go to. The end customer returning goods.
    <collectionRequestAddress> <country> The pickup address of the CR.  Country of the original location the driver needs to go to. The end customer returning goods.
    <collectionRequestAddress> <zipCode> The pickup address of the CR.  ZIP of the original location the driver needs to go to. The end customer returning goods.
    <collectionRequestAddress> <city> The pickup address of the CR.  City of the original location the driver needs to go to. The end customer returning goods.
    <collectionRequestAddress> <type> Choose ‘B’ or ‘P’. Signifies this address is a ‘Business’ or  ‘Private’.
    <collectionRequestAddress> <phone> Mandatory. Use form +31###########
    <collectionRequestAddress> <email> Mandatory

     

  15. Older documentation and other API's

    Download the full original  Web Service Reference Documentation (PDF)

    The DPD NL Shipper API strongly resembles the DPD BELUX and DPD CH versions, but is still different and has other endpoints. Originally Shipper API was built in the image of the DPD DE API. Some references in the downloadable documentation above still relate to it, but can be ignored. This documentation contains more examples, but is no longer updated.

Was this post helpful?(Required)