From "Create Shipment" to "Delivered," Step by Step

The actual flow, not a simplified diagram of it.

1

Connect Your Couriers

Browse the catalog and pick a courier — each one declares exactly which credentials it needs, so the form only ever asks for what that specific courier's API requires: an API token, a username and password, or an OAuth client id and secret.

EXAMPLE — ARAMEX

Username · Password · Account Number · Account PIN · Account Entity

2

Add Your Rate Cards

Enter each courier's contracted prices once: zone A–E slab prices, volumetric divisor, fuel, COD, insurance and out-of-delivery-area charges, plus their pincode coverage file. The Rate Calculator then prices any parcel across every courier, with GST, before you book. International cards map countries to the courier's own zones.

3

Create a Shipment

One request with pickup/delivery addresses, package details, and declared value. Dishatrak creates the order, allocates a courier, and calls that courier's API to book the shipment — or upload a CSV to create and allocate up to 100 at once, each row independent so one bad row doesn't stop the rest of the batch.

POST /api/v1/shipments/ → 201 Created

{ "awb_number": "MOCK6AA0D4E0...", "status": "allocated" }

Read the full API reference (PDF) →  ·  Import the Postman collection →

4

Rule-Based Allocation Decides Which Courier

Rules evaluate in priority order against the order's pincode, state, weight, value or COD amount, skipping any courier whose coverage file says it can't deliver there. The first match wins; if nothing matches, your fallback picks the cheapest quoted courier or your highest-priority one. Every decision is logged with its reason.

"rule 'High value orders to Priority Courier' matched"

5

Track from One Dashboard

Whether a courier pushes a webhook or has to be polled, every update lands in the same event log and advances the shipment through ten lifecycle states — pending, allocated, pickup scheduled, in transit, out for delivery, delivered (or returning to origin, failed, cancelled, returned). Status never moves backward on a late or duplicate event.

6

Resolve Exceptions, and See the Trend Behind Them

A failed delivery attempt (NDR) or failed pickup (NPR) shows up in the Exceptions queue with its reason code and the exact actions available — reattempt, mark RTO, reschedule pickup, or cancel. The Analytics dashboard sits on top of that same queue: resolution rate, average time-to-resolve, and a 14-day trend broken down by carrier and reason code.

7

Your Customer Can Track It Too

No login needed: the same public tracking page every real courier offers, just the AWB and the checkpoint history, none of the pricing or address detail the dashboard shows you.

8

Hand Over, Then Check the Bill

Each day's booked parcels group into a manifest per courier and warehouse: print the handover sheet and request the pickup. When the courier's invoice or COD payout arrives, upload it and Dishatrak flags every weight dispute, overcharge and short remittance against what your rate card said.

Get Started Talk to Us