canonical: https://jentic.com/apis/dhlparcel.nl/dhlparcel

# Dhlparcel Nl DHL eCommerce API

The DHL eCommerce API for the Netherlands lets retailers create shipment labels, query available shipment options, and track parcels through DHL Parcel's Dutch network. It exposes label generation, shipment-options lookup by postcode, and track-and-trace in a small but focused surface area built for high-volume webshops. Authentication is Bearer token based and scoped to a customer account.

## For AI agents

Create DHL Parcel shipment labels, look up shipment options by postcode, and track parcels in the Netherlands DHL eCommerce network.

## Scope

Does not handle international Express shipments, customs documentation, or rate quoting - use for DHL Parcel Netherlands label creation, options, and tracking only.

## Capabilities

- Generate shipment labels for parcels destined for Dutch and EU addresses
- Look up available shipment options and surcharges for a given postcode
- Track a parcel through the DHL Parcel Netherlands network
- Retrieve label PDFs and ZPL formats for printing
- Validate destination addresses against DHL Parcel coverage

## Use cases

### Webshop Label Generation

Generate DHL Parcel labels at the moment an order is paid, so warehouse staff can print and dispatch immediately. POST /labels accepts the recipient address, parcel dimensions, and chosen service option, and returns a label in PDF or ZPL format. This removes the need for staff to log into the DHL Parcel portal per order.

Example prompt: Given order #1042 with recipient address in Amsterdam, call POST /labels with parcel dimensions and the standard parcel service option, then save the returned PDF for printing

### Dynamic Shipping Options at Checkout

Show shoppers the right DHL Parcel options at checkout based on their postcode - including service-point delivery, evening delivery, and parcel-locker pickup. GET /shipmentOptions returns the services available for a postcode along with surcharges, letting the storefront present accurate prices without hard-coding rules per region.

Example prompt: Given postcode 1012AB, call GET /shipmentOptions and render the available service tiers with their surcharges in the checkout shipping selector

### Parcel Tracking Notifications

Watch the DHL Parcel track-and-trace endpoint for a list of recent labels and notify the customer when their parcel changes state. By polling /track-trace per parcel ID and comparing against the last seen status, an automation can trigger SMS or email updates even without webhook support. Useful for high-volume Dutch retailers needing branded notifications.

Example prompt: Poll /track-trace for parcel id PNL12345 every 30 minutes and send the customer an SMS the first time the status changes to delivered

### AI Agent Order Fulfilment

An AI fulfilment agent can take a paid order and complete the shipping side end-to-end through Jentic. It searches for the option-lookup operation, picks the right service, generates the label, stores the PDF, and sets up tracking - all by intent rather than reading the DHL Parcel OpenAPI spec.

Example prompt: On an order-paid event, look up shipment options for the destination postcode, generate a standard parcel label, store the PDF, and start polling track-and-trace for delivery

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /labels | Create a shipment label |
| GET | /shipmentOptions | Look up shipment options by destination |
| GET | /track-trace | Track a parcel by tracking number |

## Key resources

- **Labels** — Generate and retrieve shipment labels in PDF or ZPL format
- **Shipment Options** — Look up available DHL Parcel services and surcharges by postcode
- **Track and Trace** — Track parcels through the DHL Parcel Netherlands network

## Why Jentic

- **Setup:** Wiring the DHL eCommerce API by hand means setting the bearer header against the DHL Parcel Netherlands gateway and handling the label, options, and track-trace payloads yourself. Through Jentic you install once, import the DHL eCommerce API from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** You choose which DHL Parcel operations the agent may call, so you can limit it to the ones it needs, such as reading shipment options and tracking a parcel, and leave label creation out unless you add it. That keeps the agent to reads without generating shipments.
- **Credential handling:** Your DHL Parcel bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a shipping label' or 'track a parcel', and Jentic returns the matching DHL Parcel operation with its request body schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **DHL Shipment Tracking - Unified API** — Cross-divisional DHL tracking - useful when parcels move outside the Dutch network
- **Shopify Admin API** — Source of orders that need DHL Parcel labels
- **Stripe API** — Payment confirmation that triggers label generation

## FAQ

### What authentication does the DHL eCommerce API use?

DHL Parcel uses HTTP Bearer authentication. The bearer token is issued by DHL Parcel and tied to a customer account. Through Jentic the token is held in the encrypted vault and never appears in the agent's prompt.

### Can I create a shipping label and a tracking record in one workflow?

Yes. POST /labels returns a label and a parcel identifier; GET /track-trace then accepts that identifier so the same workflow can dispatch and monitor the parcel without an external lookup.

### What are the rate limits for the DHL eCommerce API?

DHL Parcel applies per-account rate limits set when the bearer token is issued. Limits are not published publicly and high-volume merchants should contact DHL Parcel for elevated allocations before bulk label runs.

### How do I generate a label through Jentic?

Run a Jentic search for "create a DHL Parcel label". Jentic returns the POST /labels operation along with its input schema (recipient, dimensions, service option). The agent loads the schema, populates it, and executes - no need to read the DHL Parcel OpenAPI spec.

### Does the API support service-point and parcel-locker delivery?

Yes. GET /shipmentOptions returns the available service variants for a destination postcode, including service-point and parcel-locker options where DHL Parcel offers them. The chosen option key is then passed to POST /labels.

### How do I install the Jentic SDK to call DHL Parcel?

Run pip install jentic, set JENTIC_AGENT_API_KEY to your ak_* key, then import Jentic, SearchRequest, LoadRequest, and ExecutionRequest. Get started with Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the DHL eCommerce API?

Yes. Jentic One is self-hosted, so your own rules decide which DHL Parcel operations and credentials the agent may use. You can allow read-only calls such as GET /shipmentOptions and GET /track-trace while leaving POST /labels out, so the agent can look up options and track parcels without creating shipments. When you need label generation, you add POST /labels to the allowed operations, and the bearer token is injected at execution time rather than exposed to the agent.
