Developers

Integrate with the DDL corridor network

Pull rates, book corridor movements, subscribe to shipment events and mirror our telemetry into your own systems.

REST APIWebhooksWaybill tracking
Placeholder endpoints. The API contract below is a template for the integration we are rolling out with shippers. Host names, keys and payload fields are examples — replace them with your live gateway before publishing or wiring anything into production.

Getting started

Authenticate once,
ship all week

Keys are issued per company by the dispatch desk. Send the key as a bearer token on every request and we will route your calls to the corridor that serves the lane.

  • Base URL https://api.dochumadpense.example/v1
  • Auth Authorization: Bearer $DDL_KEY
  • Format JSON request and response, ISO-8601 timestamps in WAT
  • Rate limits and sandbox keys confirmed at onboarding

Quick start

# 1. Price the lane
curl -X POST $BASE/quotes -H "Authorization: Bearer $DDL_KEY" ...

# 2. Book it
curl -X POST $BASE/shipments ...

# 3. Track it
curl $BASE/shipments/DDL-PHC-LOS-000123 ...

# 4. React to it
#    POST /webhooks → your endpoint

Endpoints

Reference for the freight flow

The five calls that cover a movement from quote to proof of delivery.

POST /v1/quotes

Create a quote

Price a corridor movement from pickup, destination, cargo weight and load class.

curl -X POST https://api.dochumadpense.example/v1/quotes \
  -H "Authorization: Bearer $DDL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pickup": "Port Harcourt, Rivers",
    "destination": "Ikeja, Lagos",
    "weight_kg": 8500,
    "load_class": "15t_truck"
  }'
POST /v1/shipments

Create a shipment

Book a corridor movement against an accepted quote and generate the waybill reference.

curl -X POST https://api.dochumadpense.example/v1/shipments \
  -H "Authorization: Bearer $DDL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "quote_id": "qte_8231",
    "shipper_reference": "PO-40219",
    "pickup_window": "2026-10-02T07:00:00+01:00",
    "declared_value_ngn": 4500000
  }'
GET /v1/shipments/{waybill}

Track a shipment

Current status, unit assignment, last known position and ETA.

curl https://api.dochumadpense.example/v1/shipments/DDL-PHC-LOS-000123 \
  -H "Authorization: Bearer $DDL_KEY"
GET /v1/corridors

List corridor departures

Available corridor schedules and confirmed capacity for a date range.

curl "https://api.dochumadpense.example/v1/corridors?from=2026-10-02&to=2026-10-09" \
  -H "Authorization: Bearer $DDL_KEY"
POST your endpoint

Webhooks

Subscribe to shipment.status_changed, shipment.delivered and shipment.exception events.

{
  "event": "shipment.status_changed",
  "waybill": "DDL-PHC-LOS-000123",
  "status": "in_transit",
  "position": { "lat": 6.5244, "lon": 3.3792 },
  "occurred_at": "2026-10-02T11:42:07+01:00"
}

Need an integration call?

Talk to dispatch about your systems

Tell us how you plan loads today and we will scope the integration around it.