Site Logo

🎉 ShipEngine is becoming ShipStation API 🎉

Over the next few months you'll notice the ShipEngine website, documentation portal, and dashboard being rebranded as ShipStation API. For our ShipEngine customers, you don't need to take any action or change any of your integrations in any way. All endpoints will remain the same and continue to function as they always have.

To learn more about what's coming, review our New ShipStation API page.

DHL Express Canada

DHL Express Canada allows you to ship packages from Canada to destinations all over the world.

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

ShipStation API also has integrations for DHL Express, DHL Express Australia, and DHL Express UK. Visit their carrier guides for details! If you wish to use the DHL Express services included with ShipStation API, visit the DHL Express from ShipStation guide.

Requirements

PropertyTypeRequired?Description
nicknamestringrequiredThis is a nickname for you to identify the carrier account in ShipStation API.
account_numberstringrequiredYour DHL Express account number
site_idstringrequiredYour DHL Express account Site ID
passwordstringrequiredYour DHL Express account password

Shipping Requirements

  • Both weight and dimensions are required to successfully create a label.
  • Company name is required for both Ship From and Ship To addresses. If not provided, the name property value will be reused in the Company field.

Connect Account

You can connect a DHL Express Canada account using the POST method to the /v1/connections/carriers/ endpoint. You cannot currently connect a DHL Express Canada account via the ShipStation API dashboard.

Connect via Endpoint

carrier_name: dhl_express_canada

POST /v1/connections/carriers/:carrier_name

Sample request:

1
2
3
4
5
6
7
8
9
10
11
POST /v1/connections/carriers/dhl_express_canada HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json
{
"nickname": "My DHL Express Canada Account"
"account_number": "123456789",
"site_id": "your_site_id_here.",
"password": "your_password_here"
}

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

Rates

DHL Express Canada supports rate shopping with ShipStation API.

Service Details

Available DHL Express Canada 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 endpoint at any time.

International Services

All services except document services have a max weight of 150 lb (70 kg) and max length of 118" (300 cm) for individual international shipments. The total maximum weight for a multi-piece shipment is 2,200 lb (1,000 kg). Document services have a max weight of 10 oz.

ServiceAPI Code
Economy Selectdhl_canada_economy_select
Express 9:00dhl_canada_express_worldwide_900
Express 9:00 Documentsdhl_canada_express_worldwide_900_documents
Express 10:30dhl_canada_express_worldwide_1030
Express 10:30 Documentsdhl_canada_express_worldwide_1030_documents
Express 12:00dhl_canada_express_worldwide_1200
Express 12:00 Documentsdhl_canada_express_worldwide_1200_documents
Express Worldwidedhl_canada_express_worldwide
Express Worldwide Documentsdhl_canada_express_worldwide_documents

Optimizing Customs Data for International Shipments to Prevent Delays

To ensure smooth customs clearance and minimize the risk of shipment inspections or delays, it is critical to provide high-quality data for every international shipment. Poor data quality, specifically vague descriptions and missing HS codes, often triggers manual reviews by destination authorities.

Key Takeaways for Merchants

  • Be Literal: Describe the item as if you are explaining it to someone who cannot see it.
  • Include Part Numbers: If your product has a Part Number (PAN), include it in the reference field to help customs verify the item.
  • The "Rule of Three": A great description usually answers What it is, What it's made of, and What it's for.

Write Accurate Line Item Descriptions

Customs authorities need to know exactly what is being imported, what it is made of, and its intended use. Avoid using internal marketing descriptions or vague terms.

  • Avoid Stop Words: Words like "Sample," "Variety," or "Gift" are frequently flagged and may trigger an automatic inspection. This is a ​List of Common Stop Words.
  • Include Material Composition: For items like footwear or apparel, specify the materials (e.g., "Men’s jeans, 80% cotton, 20% polyester" instead of just "Jeans").
  • Detail the Product Type: Instead of "VINTAGE FOOTWEAR," use "Women’s shoes - leather upper and rubber sole."
  • Be Specific: Instead of "Wheel adjusted," use "Bicycle rear pivot part."

Utilizing Harmonized System (HS) Codes

Providing a correct HS code (or Commodity Code) is the most effective way to help customs officials categorize your goods.

Provide Part and Reference Numbers

When possible, include the specific part or item number in your commercial invoice data. Mapping these to the correct reference fields in your shipping tool (e.g., the "PAN" reference type) provides an extra layer of clarity for clearance agents and helps verify the item against the provided description.

Prohibited Stop Words & Description Comparison

Using vague language is the fastest way to get a shipment flagged for inspection. Below are examples of poor descriptions found in recent audit data versus the clear, detailed descriptions required by customs authorities.

Poor Description (Vague)Better Description (Detailed)Why it Matters
VINTAGE FOOTWEARWomen's shoes: leather upper, rubber soleDefines gender, material, and sole type.
JEANSMen’s jeans: 80% cotton, 20% polyesterSpecifies material composition for textiles.
SAMPLE / VARIETYStainless steel kitchen whisk (K792)Stop Words like "Sample" or "Variety" trigger automatic flags.
HAIR PRODUCTOrganic argan oil hair serum (100ml)Identifies the specific substance and volume.
The Mesa - MediumCanvas messenger bag with brass bucklesMoves past marketing names to actual physical traits.

Merchant Checklist: International Shipping Compliance

To ensure your international shipments clear customs without delay, use this checklist to review your data before printing your labels.

  • Is the description specific? (e.g., "Men's 100% cotton t-shirt" instead of "Apparel")
  • Did you avoid Stop Words? (Ensure "Sample," "Gift," and "Variety" are not used)
  • Is the material composition listed? (e.g., "Stainless steel," "Leather," "Plastic")
  • Is the HS code/Commodity code included? (Use a search tool if you aren't 100% sure)
  • Is the Part Number (PAN) mapped correctly? (Helps verify the item in the clearance system)
  • Is the unit value and currency accurate? (Ensure values match your commercial invoice)

Description Logic: The "Physical" Rule

When writing descriptions, ignore your marketing names. Customs authorities don't know what a Polaris IGX 144+ Linkage Kit is. Instead, describe the physical object: Steel mechanical linkage parts for vehicle suspension.

Technical Note: Mapping Compliance Data

When integrating with international carriers, how you map data fields in your API payload directly impacts customs clearance rates. While the UI may show a single "Description" field, the backend mapping should prioritize the following:

  1. Reference Field Mapping (PAN) To assist customs authorities in verifying shipments against digital records, ensure that product part numbers are mapped to the correct reference type.
  • Reference Type: PAN (Part Number)
  • Usage: Map your internal SKU or manufacturer part number here. This allows clearance systems to match the physical item to the digital declaration more efficiently.
  1. Data Integrity vs. UX Display It is important to note that what the customer sees in the ShipStation or Shopify UI may not always reflect the full data payload sent to the carrier.
  • Payload Enrichment: Even if a merchant uses a short marketing title in their store, the integration should attempt to send the most granular description available in the product database to the description field in the customs object.
  • Stop Word Scrubbing: Consider implementing a validation layer that flags or prevents the use of Stop Words (Sample, Gift, Variety) in the description field before the API call is finalized. This is a ​List of Common Stop Words.
  1. HS Code Automation Automating the harmonized_tariff_code field is the highest-value optimization you can provide. Ensuring this field is populated with a 6 to 10-digit code reduces the reliance on the text description alone, as the code provides a universal language for customs agents worldwide.

Return Services

Return services are not supported for this carrier

Packages

DHL Express Canada does not have carrier-specific package types. You can use the generic package type or custom package types.

Adding Shipment Insurance

DHL Express Canada supports adding carrier insurance to your shipments. Review the Parcel Insurance page for details on adding shipment insurance with ShipStation API.

Label Support

  • Label sizes: 4" x 6", 4" x 8"
  • Label formats: PDF

Label Reference Fields

DHL Express supports adding custom label messages.

Label messages will be printed on the Ref field on the label and the Reference field on the commercial invoice. If using multiple label message properties in your request, the messsages will be combined into a single message with a 35-character maximum. Any additional characters will be trimmed from the field.

Multi-Package Labels

DHL Express supports creating multi-package shipments with all available services. DHL has a 999-label maximum for multi-package shipments.

Label Branding

DHL Express does not support label branding.

Voiding Labels

ShipStation API supports voiding DHL labels, but the void request is not sent to DHL. However, DHL Express does not charge an account holder unless the waybill is physically picked up and scanned into the network by a courier. If DHL does not pick up the waybill within 10 business days of its creation, it's automatically recycled.

Paperless Labels

DHL Express does not support paperless labels.

Customs Declarations

Customs declarations are submitted electronically, but the commercial invoice is available to download and print from the label response.

Delivery Confirmation

Confirmation TypeAPI CodeDescription
Electronic signaturesignatureSignature is required for the shipment to be delivered. This signature may be a neighbor, building manager, or the recipient can authorize the release of the package (without being present).

See our Delivery Confirmation page for more details about using the confirmation property.

Advanced Options

DHL Express Canada supports certain advanced options, which you can add to the shipment object when creating a shipment or label.

OptionTypeDefault ValueDescription
bill_to_partyenumerated stringnullDetermines which party is paying for shipping costs. This field must be used in conjunction with the bill_to_country_code, bill_to_postal_code, and bill_to_account fields. Available values: recipient, third_party
delivery_duty_paidbooleanfalseIndicates the shipment is DDP (that is, the shipper is paying the duties/taxes for the shipment rather than the recipient).
non_machinablebooleanfalseIndicates that the package cannot be processed through sorting machines.

To ensure you always have the most up-to-date information about a carrier's advanced options, use the list carrier options call.

Manifests

DHL Express Canada does not require manifesting your shipments.

Scheduling Pickups

DHL Express supports scheduling pickups with ShipStation API.

See our Schedule a Carrier Pickup page for more details about scheduling pickups using ShipStation API.

Service Points (PUDO)

DHL Express does not support shipping to service points.

Tracking

ShipStation API's integration with DHL Express supports receiving tracking updates. Review our ​Track a Package guides​​ for details on tracking with the ShipStation API.

Disconnecting Your DHL Express Account

See the Disconnect section in our Delete a Carrier page 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.