This guide provides instructions on integrating the DHL eCommerce Default account with EasyPost and creating international shipments.
Service Availability
There are two specific services available exclusively for EasyPost By Default international shipments:
- DHLParcelInternationalStandardSMB (DDU only)
- DHLParcelInternationalDirectSMB (DDP only)
Please note the following restrictions and conditions:
- These services do not support dangerous goods.
- For weight and size limits see DHL eCommerce Default Weight and Size Limits.
Account Setup
EasyPost Dashboard
Review the DHL eCommerce Carrier Guide for detailed instructions on setting up a DHL eCommerce account using the EasyPost Dashboard.
Important
- Only one DHL eCommerce Default account can be linked to an EasyPost account at a time.
- If a BYOA DHL eCommerce account is already active, it must be deleted before adding another account.
- Deleting an account will permanently remove all associated shipment data. For assistance with account deletion, contact EasyPost support at support@easypost.com.
API Account Setup
To set up a DHL eCommerce account via API, use the following cURL request:
curl -X POST https://api.easypost.com/v2/carrier_accounts \
-u YOUR_PROD_API_KEY: \
-d 'carrier_account[credentials][not_platform]=true' \
-d 'carrier_account[type]=DhlEcsAccount' \
-d 'carrier_account[payment_mode]=aggregation'
Required Fields
- 'carrier_account[credentials][not_platform]=true'
- 'carrier_account[type]=DhlEcsAccount'
- 'carrier_account[payment_mode]=aggregation'
Ensure the API key is valid and properly authenticated.
Shipment Creation
Step 1: Addresses
Sender Information
- The default addresses will automatically be populated as the Sender and Return To addresses. If shipping from a different location, manually enter the new address.
- Provide the recipient's address in the appropriate fields. Once all fields for the sender and recipient addresses are completed, proceed to the next screen.
EasyPost will verify addresses using the USPS CASS-certified address verification system and may suggest minor formatting adjustments. Review these suggestions to ensure successful delivery.
Please review the Address section of the API Docs for additional information.
Step 2: Customs
Customs Info
For both DDU and DDP services, the following customs details are required:
- customs_items: At least one CustomsInfo and one CustomsItem must be included.
- contents_explanation: A description of the contents within the shipment.
-
contents_type: Choose one of the following:
- Documents
- Gift
- Merchandise
- Other (Not recommended due to potential customs delays or shipment returns.) If Other is selected, ensure customs_certify is set to true, and the customs_signer field is filled with the name of the person who packaged the shipment.
- declaration: Value must describe the items being shipped, and should match the information contained in the CustomsItems Description.
JSON Example
"customs_info": {
"contents_explanation": "Contents: 1 men’s cotton T-Shirt",
"contents_type": "MERCHANDISE",
"customs_certify": true,
"customs_signer": "George Foreman",
"declaration": "Merchandise: 1 medium men’s cotton T-shirt",
}
Please review the CustomsInfo section of the API Docs for additional information.
Customs Items
The following customs items are required:
- description: A clear description of the item being shipped.
- quantity: The total number of items.
- value: The total value of the item, must be greater than zero.
- weight: The total weight of the item, must be greater than zero.
- hs_tarriff_number: A valid Harmonized Tariff Schedule (HTS) code. Use the HTS government website to find the correct code.
- origin_country: A two-character country code.
- code (product identifier): SKU/UPC or other product identifier.
-
manufacturer: The website URL where the item originated (e.g., https://www.site-name.com.)
JSON Example
"customs_items": [ { "description": "Merchandise: 1 medium cotton T-shirt", "hs_tariff_number": "6109.10.00", "origin_country": "US", "quantity": 1, "value": "25.0", "weight": 8, "code": "123", "manufacturer": "https://www.post-it.com/3M/en_US/p/d/cobbjw018223/", "currency": "USD", }
]
Please review the CustomsItem section of the API Docs for additional information.
Step 3: Parcel & Label Options
When creating a DHL eCommerce Default shipment, the following options are required:
- merchant_id: Must be set as the company name of the seller.
-
incoterm: Must be one of the following:
- DDP
- DDU
-
content_description: A brief description of the contents of the shipment.
JSON Example
"options": {
"incoterm": "DDP",
"merchant_id": "Your Company Name",
"content_description": "MERCHANDISE",
"label_size": "4X6",
"label_format": "ZPL",
"currency": "USD",
}
Please review the Shipment Options section of the API Docs for additional information.
Step 4: Carrier & Service
To finalize the shipment in the EasyPost Dashboard, select the carrier, delivery service, and optional insurance.
Step 5: Print Label
Once all details are confirmed, print the shipping label. Funds will be automatically debited from the EasyPost Wallet once the shipment enters the mail stream.
If any questions or issues arise, please contact support@easypost.com for assistance.