Meta API Live shipment call and response

Documentation Review Status
Last reviewed: September 2026
Reviewed and validated by the DPD Customer IT team.
  1. General

    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 that can be decoded into a PDF with a label as well as the corresponding 14 digit parcel number.
    Please take note that once a live label is created, it needs to be used and the corresponding parcel needs to be given to DPD within the next 48 hours

    The example below is a basic call, but you can find all possible parameters and fields in detail on the Swagger page.

    CALL

    Method:

    • POST

    URL:

    Parameters:

    • LabelPrintFormat PDF / ZPL
    • LabelPaperFormat A6 / A4
    • LabelPrinterStartPosition LOWER_LEFT / UPPER_LEFT / LOWER_RIGHT / UPPER_RIGHT
    • debug                                true

    Authorization:

    • X_DPD_TOKEN Bearer Token from login service (326-digits)
  2. B2B

    CALL

    Body:     

    • Object JSON (raw)
    [
        {
            "shipmentInfos": 
            {
                "productCode": "101"
            },
            "numberOfParcels": "1",
            "sender": 
            {
                "address": 
                {
                    "name1": "Sender name 1",
                    "name2": " Sender name 2",
                    "country": "BE",
                    "zipCode": "2800",
                    "city": "Mechelen",
                    "street": "Egide Walschaertstraat 20"
                }
            },
            "receiver": 
            {
                "address": 
                {
                    "name1": "DPD Hub",
                    "country": "BE",
                    "zipCode": "1800",
                    "city": "Vilvoorde",
                    "street": "Tyraslaan"
                },
                "contact": 
                {
                    "contactPerson": "Mrs Mdm",
                    "email": "contact@dpd.be"
                },
                "comment": "TEST for META API"
            },
            "parcel": 
            [
                {
                    "parcelInfos": 
                    {
                        "weight": "5000"
                    }
                }
            ]
        }
    ]
    

    RESPONSE

    Body:

    • shipmentID MPSID
    • parcelId Labelnumbers
    • label – base64Data string converting to PDF or ZPL
  3. Return

    CALL

    Body:   

    • Object JSON (raw)
    [
        {
            "shipmentInfos": 
            {
                "productCode": "332"
            },
            "numberOfParcels": "1",
            "sender": 
            {
                "address": 
                {
                    "name1": "Sender name 1",
                    "name2": " Sender name 2",
                    "country": "BE",
                    "zipCode": "2800",
                    "city": "Mechelen",
                    "street": "Egide Walschaertstraat 20"
                }
            },
            "receiver": 
            {
                "address": 
                {
                    "name1": "DPD Hub",
                    "country": "BE",
                    "zipCode": "1800",
                    "city": "Vilvoorde",
                    "street": "Tyraslaan"
                },
                "contact": 
                {
                    "contactPerson": "Mrs Mdm",
                    "email": "contact@dpd.be"
                },
                "comment": "TEST for META API"
            },
            "parcel": 
            [
                {
                    "parcelInfos": 
                    {
                        "weight": "5000"
                    }
                }
            ]
        }
    ]
    

     

    RESPONSE

    Body:

    • shipmentID MPSID
    • parcelId Labelnumbers
    • label – base64Data string converting to PDF or ZPL
  4. B2C Home

    B2C Home implies the use of a Predict message. This message will notify the receiver that a parcel is underway. You will have to add a messages segment to your call, as shown below.

    The messages segment has 3 possible fields:

    • messageType: can be either EMAIL if you want the Predict to be an email or SMS if you want it to be an text message. Mandatory field.
    • messageDestination: should be the receiver’s email address (if Type is EMAIL) or phone number (if Type is SMS). Please note using an email address here when the Type is SMS won’t work and vice versa. Mandatory field.
    • messageLanguage: 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.

    CALL

    Body:   

    • Object JSON (raw)
    [
        {
            "shipmentInfos": {
                "productCode": "327"
            },
            "numberOfParcels": "1",
            "sender": {
                "address": {
                    "name1": "Sender name 1",
                    "name2": "Sender name 2",
                    "country": "BE",
                    "zipCode": "2800",
                    "city": "Mechelen",
                    "street": "Egide Walschaertstraat 20"
                }
            },
            "receiver": {
                "address": {
                    "name1": "DPD Hub",
                    "country": "BE",
                    "zipCode": "1800",
                    "city": "Vilvoorde",
                    "street": "Tyraslaan"
                },
                "contact": {
                    "contactPerson": "Mrs X",
                    "email": "test@dpdgroup.com"
                },
                "comment": "RMP TEST for META API"
            },
            "parcel": [
                {
                    "parcelInfos": {
                        "weight": "6000"
                    },
                    "messages": [
                        {
                            "messageType": "EMAIL",
                            "messageDestination": "test@dpdgroup.com"
                        }
                    ],
                    "senderParcelRefs": [
                        "P_2022-02-09_04"
                    ]
                }
            ]
        }
    ]
    

    RESPONSE

    Body:

    • shipmentID MPSID
    • parcelId Labelnumbers
    • label – base64Data string converting to PDF or ZPL
  5. B2C Shop

    Please note that B2C Shop also needs a messages segment.

    CALL

    Body:

    • Object JSON (raw)
    [
        {
            "customerReferenceNumbers": [
                "S_2022-02-09_09"
            ],
            "shipmentInfos": {
                "productCode": "337"
          },
            "sender": {
                "address": {
                    "name1": "DPD BE SENDER",
                    "street": "Egide Walschaertsstraat 20",
                    "country": "BE",
                    "zipCode": "2800",
                    "city": "Mechelen"
                }
            },
            "receiver": {
                "pudoId": "BE10002",
                "address": {
                    "name1": "DPD BE RECEIVER",
                    "street": "Rue de Liege 25",
                    "country": "BE",
                    "zipCode": "6180",
                    "city": "Courcelles"
                },              
                "contact": {
                    "phone1": "0123456789",
                    "email": "test@dpdgroup.com",
                    "contactPerson":"DPD Contact"
                }
            },
            "numberOfParcels": "1",
            "parcel": [
                {
                    "parcelInfos": {
                        "weight": "6000"
                    },
                    "messages": [{
                        "messageType": "SMS",
                        "messageDestination": "0123456789"
                    }],
                    "senderParcelRefs": [
                        "P_2022-02-09_09"
                    ]
                }
            ]
        }
    ]
    

    RESPONSE

    Body:

    • shipmentID MPSID
    • parcelId Labelnumbers
    • label – base64Data string converting to PDF or ZPL
  6. MPS - Multi-Parcel Shipment

    A Multi-Parcel Shipment (MPS) allows multiple parcels to be created as part of the same shipment. All parcels belong to the same shipment while each parcel receives its own individual parcel number and label. (e.g. 1/3 | 2/3 | 3/3)

    The MPS structure is not limited to a specific service. The applicable service is defined through the productCode in shipmentInfos. The example below uses a B2B predict shipment.

    How to create a Multi-Parcel Shipment

    To create an MPS, set numberOfParcels to the total number of parcels in the shipment and provide one object in the parcel array for each physical parcel.

    Each parcel can contain its own weight, parcel reference and, where applicable, notification information.
    The number of objects provided in the parcel array should correspond to the value specified in numberOfParcels.

    CALL

    • Body: Object JSON (raw)
    [
      {
        "customerReferenceNumbers": [
          "MPS-BE-20260917-042"
        ],
        "shipmentInfos": {
          "productCode": "101"
        },
        "sender": {
          "address": {
            "name1": "Northstar Logistics NV",
            "street": "Integration Avenue 42",
            "country": "BE",
            "zipCode": "2800",
            "city": "Mechelen"
          },
          "contact": {
            "phone1": "015000042",
            "email": "shipping@example.com",
            "contactPerson": "Shipping Desk"
          }
        },
        "receiver": {
          "address": {
            "name1": "Contoso Distribution",
            "street": "Warehouse Lane 7",
            "country": "BE",
            "zipCode": "6180",
            "city": "Courcelles"
          },
          "contact": {
            "phone1": "071000042",
            "email": "receiving@example.com",
            "contactPerson": "Receiving Desk"
          }
        },
        "numberOfParcels": "3",
        "parcel": [
          {
            "parcelInfos": {
              "weight": "2000"
            },
            "messages": [
              {
                "messageType": "EMAIL",
                "messageDestination": "receiving@example.com",
                "messageLanguage": "EN"
              }
            ],
            "senderParcelRefs": [
              "MPS-42-P01"
            ]
          },
          {
            "parcelInfos": {
              "weight": "2500"
            },
            "messages": [
              {
                "messageType": "EMAIL",
                "messageDestination": "receiving@example.com",
                "messageLanguage": "EN"
              }
            ],
            "senderParcelRefs": [
              "MPS-42-P02"
            ]
          },
          {
            "parcelInfos": {
              "weight": "1750"
            },
            "messages": [
              {
                "messageType": "EMAIL",
                "messageDestination": "receiving@example.com",
                "messageLanguage": "EN"
              }
            ],
            "senderParcelRefs": [
              "MPS-42-P03"
            ]
          }
        ]
      }
    ]

    RESPONSE

    When the request is accepted, the response contains the shipment identifier (shipmentID / MPSID) and the individual parcel identifiers (parcelIds) for the parcels created within the shipment.

    • shipmentID – MPS identifier shared by the shipment.
    • parcelIds – Individual parcel number generated for each parcel.
    • label – Base64 encoded label data that can be converted to PDF or ZPL.
    ⚠️ Important: numberOfParcels represents the number of physical parcels belonging to the shipment. A corresponding entry must be provided in the parcel array for every parcel.

    UK shipments: Multi-Parcel Shipments (MPS) are not supported for shipments to the United Kingdom. Shipments to the UK must be created as single-parcel shipments, with one shipment request per parcel.

  7. Express / B2B Predict

    By changing the product code and adding the mandatory fields to a standard B2B call, the request changes accordingly.

    Please note that for Express 10, 12 and 18, contact details (name and email) become mandatory for the recipient. You can find a full example below.

    • For Express 10, use productcode 179
    • For Express 12, use productcode 225
    • For Express 18, use productcode 155
    • For B2B Predict, use productcode 101 as if you were making a regular B2B shipment, but you will need to add a messages segment the same way as you’d do for a B2C Home shipment (see above)

    CALL (EXPRESS 10)

    Body:

    [
        {
            "customerReferenceNumbers": 
            [
                "S_2022-04-29_01"
            ],
            "shipmentInfos": 
            {
                "productCode": "101"
            },
            "sender": 
            {
                "address": 
                {
                    "name1": "DPD BE SENDER",
                    "street": "Egide Walschaertsstraat 20",
                    "country": "BE",
                    "zipCode": "2800",
                    "city": "Mechelen"
                },
                "contact": 
                {
                    "phone1": "0123456789",
                    "email": "test@dpdgroup.com",
                    "contactPerson": "DPD Contact"
                }
            },
            "receiver": 
            {
                "address": 
                {
                    "name1": "DPD BE RECEIVER",
                    "street": "Rue de Liege 25",
                    "country": "BE",
                    "zipCode": "6180",
                    "city": "Courcelles"
                },
                "contact": 
                {
                    "phone1": "0123456789",
                    "email": "test@dpdgroup.com",
                    "contactPerson": "DPD Contact"
                }
            },
            "numberOfParcels": "1",
            "parcel": 
            [
                {
                    "parcelInfos": 
                    {
                        "weight": "2000"
                    },
                    "senderParcelRefs": 
                    [
                        "P_2022-04-29_01"
                    ],
                     "messages": [
                        {
                            "messageType": "EMAIL",
                            "messageDestination": "test@dpdgroup.com"
                        }
                        ]
                }
            ]
        }
    ]
    
  8. UK Customs

    UK (Customs)

    The following example demonstrates a valid shipment request for United Kingdom using the Meta API.
    It includes all mandatory customs information required to create a shipment to the United kingdom using the Meta API.

    ⚠️Important:
    Shipments to the United Kingdom are currently limited to one parcel per shipment.
    Requests containing multiple parcels will be rejected with the following business validation error:


    errorCode: error_maximal_parcel_count_for_country
    errorMessage: Maximal parcel count for GB is 1.

    NOTE:
    This example uses fictional data for documentation purposes only and has been validated against the Meta API.

    Product: This example uses product code 101, which corresponds to the B2B service.
    It demonstrates a valid shipment request for the united Kingdom using this product.
    Requirements and business rules may differ for other products or services.

    CALL

    Body:

    • Object JSON (raw)
    [
      {
        "shipmentInfos": {
          "productCode": "101"
        },
        "numberOfParcels": "1",
        "mpsCompleteDelivery": "s2",
    
        "sender": {
          "address": {
            "name1": "Sender Company",
            "name2": "Logistics Department",
            "street": "Example Street 1",
            "zipCode": "1000",
            "city": "Example City",
            "country": "BE"
          },
          "contact": {
            "contactPerson": "John Doe",
            "email": "sender@example.com"
          },
          "legalEntity": {
            "businessType": "B",
            "eori": "BE123456789000",
            "vatNumber": "BE0123456789"
          }
        },
    
        "receiver": {
          "address": {
            "name1": "Receiver Company",
            "street": "Example Road 10",
            "zipCode": "SW1A 1AA",
            "city": "London",
            "country": "GB"
          },
          "contact": {
            "contactPerson": "Jane Doe",
            "email": "receiver@example.com"
          },
          "legalEntity": {
            "businessType": "B",
            "eori": "GB123456789000",
            "vatNumber": "GB123456789"
          }
        },
    
        "parcel": [
          {
            "parcelInfos": {
              "weight": "5000"
            }
          }
        ],
    
        "international": {
          "parcelType": "P",
    
          "customsAmount": {
            "amount": 150.00,
            "currency": "GBP"
          },
    
          "customsAmountEx": {
            "amount": 150.00,
            "currency": "GBP"
          },
    
          "customsTerms": "s06",
          "incoTerm": "DAP",
          "paymentTerm": "A",
          "customsPaper": "A",
          "clearanceStatus": "N",
          "customsHighLowValue": "M",
    
          "customsInvoice": "INV-0BADC0DE",
    
          "customsInvoiceDates": [
            "2025-07-02"
          ],
    
          "importer": {
            "address": {
              "name1": "Receiver Company",
              "street": "Example Road 10",
              "zipCode": "SW1A 1AA",
              "city": "London",
              "country": "GB"
            },
            "contact": {
              "contactPerson": "Jane Doe",
              "email": "receiver@example.com"
            },
            "vatNumber": "GB123456789",
            "eori": "GB123456789000"
          },
    
          "shipmentBroker": "",
    
          "exporter": {
            "address": {
              "name1": "Sender Company",
              "street": "Example Street 1",
              "zipCode": "1000",
              "city": "Example City",
              "country": "BE"
            },
            "contact": {
              "contactPerson": "John Doe",
              "email": "sender@example.com"
            },
            "vatNumber": "BE0123456789",
            "eori": "BE123456789000"
          },
    
          "numberOfArticles": "1",
    
          "destinationCountryRegistration": "",
    
          "exportReason": "s01",
    
          "interInvoiceLines": [
            {
              "invoicePosition": "1",
              "quantityOfItems": "1",
              "content": "Electronic Device",
              "amountOfPosition": 150.00,
              "manufacturedCountry": "CN",
              "netWeight": "5000",
              "grossWeight": "5000",
              "customerProductCode": "PRD001",
              "productDescription": "Electronic Device",
              "fabricComposition": "",
              "importTarifCode": "85183000",
              "exportTarifCode": "85183000",
              "goodsWebPage": "https://example.com/products/prd001",
              "parcelRank": "1"
            }
          ],
    
          "shipmentContent": "Electronic devices"
        }
      }
    ]
    

    UK (Customs) – B2C

    The following example demonstrates a valid B2C shipment request from Belgium to the United Kingdom using the Meta API. It includes the customs information required to create the shipment.

    ⚠️ Important:
    Shipments to the United Kingdom are currently limited to one parcel per shipment. Requests containing multiple parcels will be rejected with the following business validation error:


    errorCode: error_maximal_parcel_count_for_country
    errorMessage: Maximal parcel count for GB is 1.

    NOTE:
    This example uses fictional data for documentation purposes only and has been validated against the Meta API Swagger.

    Product: This example uses product code 327 for a B2C Normall OR a 328 for a B2C small shipment to the United Kingdom.
    Requirements and business rules may differ for other products or services.

    Receiver: The receiver is a private individual and is therefore defined with productCode: "327" AND businessType: "P".

    CALL

    Body:

    • Object JSON (raw)
    [
        {
            "shipmentInfos": {
                "productCode": "327"
            },
            "numberOfParcels": "1",
            "mpsCompleteDelivery": "s2",
            "sender": {
                "address": {
                    "name1": "Sender Company",
                    "name2": "Logistics Department",
                    "street": "Example Street 1",
                    "zipCode": "1000",
                    "city": "Example City",
                    "country": "BE"
                },
                "contact": {
                    "contactPerson": "John Doe",
                    "email": "sender@example.com",
                    "phone": "+3212345678"
                },
                "legalEntity": {
                    "businessType": "B",
                    "eori": "BE123456789000",
                    "vatNumber": "BE0123456789"
                }
            },
            "receiver": {
                "address": {
                    "name1": "Jane Doe",
                    "street": "Example Road 10",
                    "zipCode": "SW1A 1AA",
                    "city": "London",
                    "country": "GB"
                },
                "contact": {
                    "contactPerson": "Jane Doe",
                    "email": "receiver@example.com",
                    "phone": "+441234567890"
                },
                "legalEntity": {
                    "businessType": "P"
                }
            },
            "parcel": [
                {
                    "parcelInfos": {
                        "weight": "5000"
                    },
                    "reference": "REF-B2C-001",
                    "messages": [
                        {
                            "messageType": "EMAIL",
                            "messageDestination": "receiver@example.com",
                            "messageLanguage": "EN"
                        }
                    ]
                }
            ],
            "international": {
                "parcelType": "P",
                "customsAmount": {
                    "amount": 65.00,
                    "currency": "GBP"
                },
                "customsAmountEx": {
                    "amount": 65.00,
                    "currency": "GBP"
                },
                "customsTerms": "s06",
                "incoTerm": "DAP",
                "paymentTerm": "A",
                "customsPaper": "A",
                "clearanceStatus": "N",
                "prealertStatus": "S03",
                "customsHighLowValue": "M",
                "customsInvoice": "INV-B2C-0001",
                "customsInvoiceDates": [
                    "2025-07-02"
                ],
                "importer": {
                    "address": {
                        "name1": "Jane Doe",
                        "street": "Example Road 10",
                        "zipCode": "SW1A 1AA",
                        "city": "London",
                        "country": "GB"
                    },
                    "contact": {
                        "contactPerson": "Jane Doe",
                        "email": "receiver@example.com",
                        "phone": "+441234567890"
                    }
                },
                "shipmentBroker": "",
                "exporter": {
                    "address": {
                        "name1": "Sender Company",
                        "street": "Example Street 1",
                        "zipCode": "1000",
                        "city": "Example City",
                        "country": "BE"
                    },
                    "contact": {
                        "contactPerson": "John Doe",
                        "email": "sender@example.com",
                        "phone": "+3212345678"
                    },
                    "vatNumber": "BE0123456789",
                    "eori": "BE123456789000"
                },
                "numberOfArticles": "1",
                "destinationCountryRegistration": "",
                "exportReason": "s01",
                "interInvoiceLines": [
                    {
                        "invoicePosition": "1",
                        "quantityOfItems": "1",
                        "content": "Bluetooth Headphones",
                        "amountOfPosition": 65.00,
                        "manufacturedCountry": "CN",
                        "netWeight": "5000",
                        "grossWeight": "5000",
                        "customerProductCode": "HP001",
                        "productDescription": "Wireless Bluetooth Headphones",
                        "fabricComposition": "",
                        "importTarifCode": "85183000",
                        "exportTarifCode": "85183000",
                        "goodsWebPage": "https://example.com/products/hp001",
                        "parcelRank": "1"
                    }
                ],
                "shipmentContent": "Electronic accessories"
            }
        }
    ]
    
Was this post helpful?(Required)