DHL eCommerce Europe Virtual Sandbox

Virtual API for DHL eCommerce Europe shipment data, customs information, and label generation.

The DHL eCommerce Europe API provides an interface to manage shipment data, retrieve labels, and handle customs information. It supports event tracking, label reprints, and courier pickup scheduling for European logistics operations.

Use this hosted sandbox to simulate DHL eCommerce Europe APIs without authentication, API keys, or extra dependencies. Point your code or SDK to the Beeceptor base URL, preferably through an environment variable or feature flag, and switch back to the production API when ready. This keeps your integration code consistent across local development, QA, demos, and production.

Use cases:

Use this sandbox to validate shipment creation payloads, customs declaration structures, label generation responses, and event tracking integration flows before connecting to DHL production systems.

DHL eCommerce Europe virtual sandbox is up and running!

Use this sandbox URL as the API base in your code to simulate DHL eCommerce Europe responses instantly.

https://dhl-ecommerce-europe.mock.beeceptor.com



Get Access Token

{
  "access_token": "3AiFEwHpiJccsYLFOpdr8yYudBLP",
  "token_type": "Bearer",
  "expires_in": 17999
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}

Send cPAN

{
  "dataElement": {
    "parcelOriginOrganization": "ES",
    "parcelDestinationOrganization": "DE",
    "general": {
      "timestamp": "2026-01-01T12:00:00+02:00",
      "product": "ParcelEurope.parcelconnect"
    },
    "cPAN": {
      "addresses": {
        "sender": {
          "type": "default",
          "firstName": "Tamara",
          "name": "Testempresa",
          "street1": "Testcalle",
          "street1Nr": "10",
          "postcode": "08001",
          "city": "Barcelona",
          "country": "ES",
          "customerIdentification": "5012345678"
        },
        "recipient": {
          "type": "doorstep",
          "firstName": "Thomas",
          "name": "Test",
          "email": "test@test.de",
          "street1": "Teststrasse",
          "street1Nr": "10",
          "postcode": "33330",
          "city": "Gütersloh",
          "country": "DE"
        }
      },
      "features": {
        "physical": {
          "grossWeight": "1.0",
          "length": "0.2",
          "height": "0.2",
          "width": "0.3"
        }
      }
    }
  }
}
{
  "response": {
    "status": "200",
    "timestamp": "2026-01-01T12:00:00",
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "statusCode": "OK",
    "statusMessage": "cPAN has been processed successfully"
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
{
  "reasons": [
    {
      "msg": "Service Unavailable"
    }
  ],
  "details": {
    "msgId": "Id-836a775dc794c71b0b5fd41c"
  }
}

Send connectLight

{
  "dataElement": {
    "general": {
      "timestamp": "2026-01-01T12:00:00Z",
      "product": "connect.light.parcel",
      "customerIdentification": "5012345678"
    },
    "cPAN-light": {
      "addresses": {
        "sender": {
          "type": "default",
          "firstName": "Thomas",
          "name": "Test",
          "email": "test@test.de",
          "street": "Postbox",
          "streetNr": "2529",
          "postcode": "36243",
          "city": "Niederaula",
          "country": "DE"
        },
        "recipient": {
          "type": "doorstep",
          "firstName": "Tamara",
          "name": "Testempresa",
          "email": "Tamara@Testempresa.es",
          "street": "Testcalle",
          "streetNr": "10",
          "postcode": "28013",
          "city": "Madrid",
          "country": "ES"
        }
      },
      "features": {
        "simpleFeature": "untracked",
        "physical": {
          "grossWeight": "0.05",
          "format": "P"
        }
      }
    }
  }
}
{
  "response": {
    "status": "200",
    "timestamp": "2026-01-01T12:00:00",
    "customerId": "Test12345",
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "statusCode": "OK",
    "statusMessage": "cPAN-goods has been processed successfully",
    "shipment": {
      "shipmentId": "NC891000870DE",
      "routingCode": "2LGR17563+72530000",
      "label": "JVBERi0xLjcKJfbk/N8KMjMgMCBvYmoKPDwKL1BhZ2VzIDI0IDAgUgovVHlwZSAvQ2F0YWxvZwo+PgplbmRvYmoKMjUgMCBvYmoKPDwKL0F1dGhvciAoREhMIEdyb3VwKQo+PgplbmRvYmoKMjQgMCBvYmoKPDwKL0NvdW50IDEKL0tpZHMgWzI2IDAgUl0KL1R5cGUgL1BhZ2VzCj4+CmVuZG9iagoyNiAwIG9iago8PAovQ29udGVudHMgMjcgMCBSCi9NZWRpYUJveCBbMCAwIDI4My40NiA0MjUuMl0KL1BhcmVudCAyNCAwIFIKL1Jlc291cmNlcyA8PAovRXh0R1N0YXRlIDw8Ci9HczEgMjggMCBSCj4+Ci9Gb250IDw8Ci9GMSAyOSAwIFIKL0YyIDMwIDAgUgo{...}"
    }
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
{
  "reasons": [
    {
      "msg": "Service Unavailable"
    }
  ],
  "details": {
    "msgId": "Id-836a775dc794c71b0b5fd41c"
  }
}

Send aggregate

{
  "dataElement": {
    "labelDetails": {
      "label": true,
      "formatLabel": "pdf"
    },
    "general": {
      "product": "connect.light.container",
      "timestamp": "2026-01-01T12:00:00+02:00",
      "customerId": "5012345678"
    },
    "aggregate": {
      "scenario": "AWB",
      "physical": {
        "grossWeight": 10
      },
      "relations": {
        "hierarchy": {
          "reference": {
            "referenceId": [
              "UT0003DE",
              "UT0004DE",
              "UT0005DE"
            ]
          }
        }
      },
      "containerList": {
        "container": [
          {
            "relations": {
              "hierarchy": {
                "reference": [
                  {
                    "index": 1,
                    "total": 1
                  }
                ]
              }
            }
          }
        ]
      }
    }
  }
}
{
  "response": {
    "container": [
      {
        "containerId": "id",
        "label": "ullamco Excepteur"
      },
      {
        "containerId": "do reprehenderit",
        "label": "ipsum anim"
      },
      {
        "containerId": "ex",
        "label": "ut"
      },
      {
        "containerId": "ullamco",
        "label": "ipsum in fugiat Ut Lorem"
      }
    ],
    "customerId": "Lorem veniam ea nostrud",
    "sessionId": "esse cupidatat officia aute",
    "shipmentId": "dolore consectetur fugiat sunt",
    "status": "exercitation velit officia ut aute",
    "statusCode": "ERROR",
    "statusMessage": "voluptate ullamco Duis",
    "timestamp": "1897-10-10T19:59:38.0Z"
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
{
  "reasons": [
    {
      "msg": "Service Unavailable"
    }
  ],
  "details": {
    "msgId": "Id-836a775dc794c71b0b5fd41c"
  }
}

Send cCustoms

Query Parameter NameExample
generateCustomsDocumenttrue
{
  "dataElement": {
    "parcelOriginOrganization": "ES",
    "parcelDestinationOrganization": "IE",
    "general": {
      "parcelIdentifier": "JJD149990299999824059",
      "timestamp": "2026-01-01T12:00:00Z",
      "product": "ParcelEurope.parcelconnect",
      "customerIdentification": "5012345678"
    },
    "cCustoms": {
      "goodsDescription": {
        "item": [
          {
            "description": "Tea tin",
            "customsTariffNumber": "48191010",
            "quantity": "2",
            "netWeight": "0.100"
          }
        ]
      }
    }
  }
}
{
  "response": {
    "status": "200",
    "timestamp": "2026-01-01T12:00:00",
    "customerId": "5012345678",
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "statusCode": "OK",
    "statusMessage": "cCustoms has been processed successfully"
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}

Send connectPlus

{
  "dataElement": {
    "labelDetails": {
      "label": true,
      "formatLabel": "pdf",
      "size": "10x15"
    },
    "parcelOriginOrganization": "ES",
    "parcelDestinationOrganization": "DE",
    "general": {
      "timestamp": "2026-01-01T12:00:00Z",
      "product": "ParcelEurope.connectPlus"
    },
    "shipment": {
      "addresses": {
        "sender": [
          {
            "name": "Tamara Testempresa",
            "street1": "Testcalle",
            "street1Nr": 10,
            "postcode": "08001",
            "city": "Barcelona",
            "country": "ES",
            "customerIdentification": "5012345678",
            "customerAccountNr1": "5012345678"
          }
        ],
        "recipient": [
          {
            "name": "Thomas Test",
            "phoneNr": "0173 1233456",
            "email": "est@test.de",
            "street1": "Teststrasse",
            "street1Nr": 12,
            "postcode": "33330",
            "city": "Gütersloh",
            "country": "DE"
          }
        ]
      },
      "pieces": [
        {
          "features": {
            "physical": {
              "grossWeight": "15",
              "volume": "0.5",
              "length": "1",
              "height": "0.5",
              "width": "0.5"
            }
          }
        }
      ]
    }
  }
}
{
  "response": {
    "status": "200",
    "timestamp": "2026-01-01T12:00:00",
    "customerId": "5012345678",
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "statusCode": "OK",
    "statusMessage": "cPAN has been processed successfully",
    "shipment": {
      "shipmentID": "2JJD00009076571540670",
      "routingCode": "2LFR00017+74000002",
      "shipmentWeight": "1.800",
      "totalPieces": "1",
      "product": "ParcelEurope.connectPlus",
      "pallet": "true",
      "pieces": {
        "pieceID": "JJD00920765715400433",
        "pieceNr": "1"
      }
    }
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
{
  "reasons": [
    {
      "msg": "Service Unavailable"
    }
  ],
  "details": {
    "msgId": "Id-836a775dc794c71b0b5fd41c"
  }
}

Send cEvent

{
  "dataElement": {
    "version": "0200"
  },
  "general": {
    "timestamp": "2026-01-01T12:00:00Z",
    "parcelIdentifier": "1SendCPAN01003202109000001"
  },
  "cEvent": {
    "eventType": "HandoverFromCustomer",
    "eventTime": "2021-03-04T10:30:28Z",
    "eventLocation": "Salzburg",
    "eventCountry": "AT",
    "eventCapturedBy": "SomeCarrier",
    "comment": "optional comment on event; will be stored but not evaluated"
  }
}
{
  "response": {
    "status": "200",
    "timestamp": "2026-01-01T12:00:00",
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "statusCode": "OK",
    "statusMessage": "cEvent has been processed successfully"
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
{
  "reasons": [
    {
      "msg": "Service Unavailable"
    }
  ],
  "details": {
    "msgId": "Id-836a775dc794c71b0b5fd41c"
  }
}

Label Reprint

Query Parameter NameExample
pieceId*eu non proident
customerId*consequat
{
  "response": {
    "sessionId": "752328d4-2630-4a48-ac2b-a03b21b4de10",
    "timestamp": "2026-01-01T12:00:00",
    "status": "200",
    "statusCode": "OK",
    "statusMessage": "Your shipment request has been processed successfully.",
    "customerId": "5012345678",
    "shipmentId": "2JJD00009076571540670",
    "label": "iVBORw0KGgoAAAANSUhEUgAAAwsAAAMLCAYAAAABpgu6AACAAElEQVR4XuydB9gdVbW/LViwF+wNxS72Xu61YkNFvYrYQOy9NxQUGzYU68Ve0WtB1IsJ6T0hvdcvIT0hkEZ6SALz///Guw/7W1POnHNm5szMed/nWQ/hmznTZ8/67b3W2jcLAAAAACrCNddcE4wdOzb43//9377aiBEjgsWLFwf79++3hzgQrFixInJNerWDBw/a3UANuJn9AwAAAEA/OXr0aLBkyZLg8ssvjzicRZuEyurVq4Prr7/eHtZAMW7cuMi16cUmTpxodwE1AbEAAAAAlUS9+vPnzy9cNPzrX/8K5syZE45q3HjjjfYwBo7t27dHrlGvtmzZMrsbqAmIBQAAAKg0Eg1yNkePHh1xQrs1CYSZM2cGGzZsCI4cOWJ3OdDMmjUrcr16NQkQqCeIBQAAAKgF6vXftm1bmEswYcKEiEOaZhqdmDx5crB06dJwGwp1gih79+7NfSTniiuuCG644Qa7K6gJiAUAAACoJcor2LFjRzg6sGrVqmD58uXBggULQtO/lXuwZcuWYM+ePTirGSliVGHhwoV2N1AjEAsAAAA1YN++faFjvHHjxtAJVliOc4x9UxUbOc5yoNWDrt/hKEMW9HxZRz8P2717t90V1AjEAgAAQIVQqM2uXbuCNWvWhMm9kyZNCuPrrQPWqY0fPz5M4r3qqqvC7SMgwEfPg541+9z0atom1BvEAgAAQJ9R7//Q0FBw5ZVXhvX9rcNVhEmAaH/r168PDh06ZA8JBgyNRt"
  }
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 429,
  "title": "Too Many Requests",
  "detail": "Too many requests within defined time period,please try again later."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}

Courier Pickup in Italy and France

{
  "dataElement": {
    "plannedPickupDateAndTime": "2026-01-01T12:00:00 GMT+08:00",
    "closeTime": 1080,
    "location": "reception",
    "locationType": "business",
    "customerIdentification": "5012345678",
    "specialInstructions": {
      "value": "",
      "typecode": "TBD"
    },
    "customerDetails": {
      "shipperDetails": {
        "postalAddress": {
          "postalCode": "00184",
          "cityName": "Roma",
          "countryCode": "IT",
          "addressLine1": "Piazza del Colosseo 1",
          "addressLine2": "",
          "addressLine3": ""
        },
        "contactInformation": {
          "email": "me@mydomain.it",
          "phone": 1123456789,
          "mobilePhone": 60112345678,
          "companyName": "Company Name",
          "fullName": "John Doe"
        }
      }
    },
    "shipmentDetails": {
      "productCode": "P",
      "isCustomsDeclarable": false,
      "unitOfMeasurement": "metric",
      "packages": {
        "weight": 10.55,
        "dimensions": {
          "length": 25.5,
          "width": 35,
          "height": 15
        }
      }
    }
  }
}
{
  "statusCode": "201",
  "statusMessage": "Pickup Created - dispatchConfirmationNumber : CBJ180121002626",
  "customerId": "5012345678",
  "sessionId": "1f66242a-a734-431d-931e-23c59a6013ef",
  "timestamp": "2026-01-01T12:00:00Z",
  "dispatchConfirmationNumbers": "CBJ180121002626"
}
{
  "statusCode": "400",
  "statusMessage": "Bad request, The pickup date cannot be in the past. Please check the pickup date and retry",
  "customerId": "5012345678",
  "sessionId": "48627db1-85b3-4c1a-82e3-b19acaa56c40",
  "timestamp": "2026-01-01T12:00:00+02:00"
}
{
  "status": 401,
  "title": "Unauthorized",
  "detail": "Unauthorized for given resource."
}
{
  "status": 500,
  "title": "Internal Server Error",
  "detail": "The server encountered an unexpected condition that prevented it from fulfilling the request."
}
logisticsshippingecommercedhlrest