# Deutsche Post DHL

[Deutsche Post DHL](https://www.dhl.de) offers domestic and international shipping solutions for shipments originating in Germany and Austria. Through ShipStation API's integration with Deutsche Post DHL, you can ship with both domestic and international services, including electronic customs submission.

This guide provides developers with the details needed to build Deutsche Post DHL shipping capabilities into your ShipStation API workflows.

## Requirements

The following fields are required to establish a connection with Deutsche Post DHL:

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `nickname` | *string* | **required** | A nickname for the account in ShipStation API (especially useful if connecting multiple accounts). |
| `user` | *string* | **required** | Your Deutsche Post DHL account username. |
| `password` | *string* | **required** | Your Deutsche Post DHL account password. |
| `account_number` | *string* | **required** | Client ID (first 10 digits). |


### Connection Requirements

**Optional**: You can also provide tracking and SFTP credentials to enable additional functionality.

| Property | Type | Required? | Description |
|  --- | --- | --- | --- |
| `tracking_user` | *string* | optional | Tracking User |
| `tracking_password` | *string* | optional | Tracking Password |
| `participation_number` | *string* | optional | Participation Number |
| `sftp_username` | *string* | optional | SFTP Username |
| `sftp_password` | *string* | optional | SFTP Password |


### Shipping Requirements

> **IMPORTANT:**
### Address Formatting for Germany and Austria
For Germany and Austria addresses, the primary address field (`address_line1`) must follow strict format: **Street Name + space + House Number**
**❌ Invalid**: `WILHELM-MAUSER-STRASSE 47, HALLE 6 EG`
**✅ Valid**: `WILHELM-MAUSER-STRASSE 47`
Additional details (building names, floor, unit) must go in Address Line 2 or 3. This REST API integration strictly enforces automated address validation and the primary field cannot handle any extra formatting, commas, or descriptive text.


## Connect Account

You can connect a Deutsche Post DHL account using the POST method to the `/v1/connections/carriers/` endpoint, or via the ShipStation API Dashboard.

For instructions on connecting Deutsche Post DHL via the ShipStation API dashboard, see our [Deutsche Post DHL help article](https://help.shipengine.com/hc/en-us/articles/20075645485979-Deutsche-Post-DHL).

### Connect via Endpoint

`carrier_name`: `deutsche_post_dhl`

**POST /v1/connections/carriers/:carrier_name**


```http
POST /v1/connections/carriers/deutsche_post_dhl HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json

{
  "nickname": "My Deutsche Post DHL Account",
  "user": "your_username",
  "password": "pa55word",
  "account_number": "1234567890"
}
```

A successful connection will return a response with the `carrier_id`, which you'll use for any requests for this account going forward.

## Rates

Deutsche Post DHL does not send estimated rates to ShipStation API. Your Deutsche Post DHL account contact can provide you with the details about your contracted rates.

## Service Details

Available Deutsche Post DHL services are provided below. Please note that carriers may update their available services at any time. To ensure you are always using valid services, you can use the [list carrier services](/apis/shipengine/docs/reference/list-carrier-services) endpoint at any time.

### Domestic Services

Deutsche Post DHL domestic shipping services for Germany and Austria:

| Shipping Service | Carrier Code | API Code |
|  --- | --- | --- |
| DHL Paket | V01PAK | `dhl_paket` |
| DHL Paket Taggleich | V06PAK | `dhl_paket_taggleich` |
| DHL Paket Austria | V86PARCEL | `dhl_paket_austria` |
| DHL Kleinpaket | V62KP | `dhl_warenpost` |


### International Services

Deutsche Post DHL international shipping services:

| Shipping Service | Carrier Code | API Code |
|  --- | --- | --- |
| DHL Paket International (Postal DDP) | V53WPAK-PDDP | `dhl_paket_international_pddp` |
| DHL Europaket | V54EPAK | `dhl_europaket` |
| DHL Paket Connect | V55PAK | `dhl_paket_connect` |
| DHL Paket Connect (Austria) | V87PARCEL | `dhl_paket_connect_at` |
| DHL Paket International | V53WPAK | `dhl_paket_international` |
| DHL Paket International (Austria) | V82PARCEL | `dhl_paket_international_at` |
| DHL Warenpost International | V66WPI | `dhl_warenpost_international` |
| DHL Warenpost International Premium | V66WPI-PRM | `dhl_warenpost_international_premium` |


### Return Services

Deutsche Post DHL does not support creating [return labels](/apis/shipengine/docs/shipping/returns) with ShipStation API.

### Packages

The following [carrier package types](/apis/shipengine/docs/shipping/carrier-packaging) are available for Deutsche Post DHL services:

| Name | Carrier Code | API Code | Package Attributes |
|  --- | --- | --- | --- |
| Package | PKG | `deutsche_post_dhl_package` | Domestic, International |


### Adding Shipment Insurance

Deutsche Post DHL supports adding carrier insurance to your shipments. Review the [Parcel Insurance page](/apis/shipengine/docs/shipping/insurance) for details on adding shipment insurance with ShipStation API.

## Label Support

* Label sizes: 4" x 6"
* Label formats: PDF, ZPL


International labels include customs forms.

### Label Reference Fields

Deutsche Post DHL supports adding [custom label messages](/apis/shipengine/docs/labels/messages). Use `label_message_1` to add custom label messages to the label reference fields.

> **NOTE:**
Deutsche Post DHL supports only one label message per shipment.


### Multi-Package Labels

Deutsche Post DHL does not support creating [multi-package shipments](/apis/shipengine/docs/shipping/multi-package) with ShipStation API.

### Label Branding

Deutsche Post DHL does not support [label branding](/apis/shipengine/docs/labels/branding).

### Voiding Labels

Deutsche Post DHL supports [voiding labels](/apis/shipengine/docs/labels/voiding) with ShipStation API.

### Paperless Labels

Deutsche Post DHL does not currently support [paperless labels](/apis/shipengine/docs/labels/paperless).

### Customs Declarations

Deutsche Post DHL supports electronic customs submission for international shipments. Customs forms are included with international labels.

## Delivery Confirmation

Deutsche Post DHL includes delivery confirmation with all services. Specific confirmation types and options vary by service.

## Advanced Options

Deutsche Post DHL supports certain [advanced options](/apis/shipengine/docs/carriers/advanced-options), which you can add to the `shipment` object when creating a shipment or label.

To ensure you always have the most up-to-date information about Deutsche Post DHL's advanced options, use the [list carrier options call](/apis/shipengine/docs/reference/list-carrier-options).

## Manifests

Deutsche Post DHL supports End of Day manifesting (both electronic and PDF formats). Review our [Manifests page](/apis/shipengine/docs/shipping/manifests) for more details about creating manifests with ShipStation API.

## Scheduling Pickups

Deutsche Post DHL does not support [scheduling pickups](/apis/shipengine/docs/shipping/pickups) via ShipStation API.

## Service Points (PUDO)

Deutsche Post DHL does not currently support shipping to [service points](/apis/shipengine/docs/pick-up-drop-off/pudo-intro) via ShipStation API.

## Tracking

ShipStation API's integration with Deutsche Post DHL supports receiving tracking updates. Review our [Track a Package guides](/apis/shipengine/docs/tracking/tracking) for details on tracking with ShipStation API.

## Troubleshooting Tips

| Issue | Resolution |
|  --- | --- |
| **Error Message**: There was a problem with the request in its current state. (400) **What it means**: Printer settings in the DHL business customer portal must be adjusted. | Log in to your DHL business customer portal. Then, go to *Sending > Basic Settings > General* and adjust the printer settings. **Supported Label Formats**: PDF, ZPL **Default Label size**: 4" x 6" (inches) |


## Disconnecting Your Deutsche Post DHL Account

See the Disconnect section in our [Delete a Carrier page](/apis/shipengine/docs/reference/carriers/delete-carrier) for the process of deleting or disconnecting a carrier from ShipStation API.

> **NOTE:**
If you disconnect a carrier account and reconnect it, the account will have a new `carrier_id` in ShipStation API.