Orders & fulfilment
DHL Connector
Indicative price, not an offer: €24/mo; credential: we manage your DHL account, rate negotiation
Generated from docs/plan/paid/dhl-connector/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.
A paid carrier plugin providing real-time DHL Europe shipping rates and label generation, integrated into the carrier-integrations module.
The problem
Merchants using DHL Europe need live rates for zones and labeling; without this, they use manual quoting.
What it does
- Register DHL API credentials
- Query live rates for DHL zones in Europe
- Generate shipping labels (PDF/ZPL)
- Track shipments via DHL API
- Cache rates by route/weight for 24h
- Support multiple DHL accounts
- Error handling: fallback to shipping-rules-engine if unavailable
- Audit all rate queries, label generations, tracking lookups
What it deliberately does NOT do
Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.
- DHL parcel pickup scheduling (optional upsell) — not included. Reason: requires carrier SLA.
- DHL commercial invoices for customs (separate feature) — not included. Reason: per-country compliance.
Data model
Handled by carrier-integrations module; DHL plugin adds CarrierAccount entry with carrierId=‘dhl’.
API
- POST /api/carriers/dhl/accounts
- POST /api/carriers/dhl/quote
- POST /api/carriers/dhl/label
Every route added here must also appear in src/pages/openapi.json.ts — a test
fails the build if it does not.
Admin
Via carrier-integrations admin UI; DHL-specific: account number, service tier.
The seam — why this is paid
Core owns: shipping interface. Paid owns: DHL API key, credential management, rate caching, label storage.
Credential: DHL API key management, carrier relationship support
Dependencies
- carrier-integrations (parent module)
Acceptance checks
Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.
- Rate query for EU destination returns correct DHL zone rate
- Label generated with valid barcode
- Webhook tracking supported
Risks
Rate staleness; API downtime; mitigation: same as UPS.
Commercial context
| Suggested price | €24/mo; credential: we manage your DHL account, rate negotiation |
| Rival anchor | Shopify: €10-20/mo (Oberlo); Magento: ~€25/extension |
The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.
Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full
catalogue and ../../AI-GUIDE.md for how to work on this repository.