Skip to content
OkadaDrop

Developers

OkadaDrop for developers

Book and track okada deliveries from your own systems. One POST puts a parcel on a verified rider in Accra; a webhook tells you the moment it lands.


One POST puts a parcel on a verified rider. A webhook tells you the moment it lands.

No SDK and no sales call — an API key and two requests.

Free, self-serve. You get a key in about a minute.

The entire integration — price a route, then book it:

# 1. Price the route (optional — booking prices it anyway)
curl -X POST https://api.okadadrop.com/api/v1/partner/quotes \
  -H "Authorization: Bearer $SOMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pickup_lat": 5.5560, "pickup_lng": -0.1820,
    "dropoff_lat": 5.6360, "dropoff_lng": -0.1530
  }'

# 2. Book it
curl -X POST https://api.okadadrop.com/api/v1/partner/deliveries \
  -H "Authorization: Bearer $SOMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "pickup_address": "Osu, Accra",
    "pickup_lat": 5.5560, "pickup_lng": -0.1820,
    "dropoff_address": "East Legon, Accra",
    "dropoff_lat": 5.6360, "dropoff_lng": -0.1530,
    "package_size": "small",
    "recipient_name": "Ama",
    "recipient_phone": "+233209876543",
    "payment_method": "paystack"
  }'

What you can build

Online shops

Turn a paid order into a dispatched rider without anyone opening an app. Send the tracking state straight to your customer.

Pharmacies and labs

Same-hour delivery of prescriptions and samples, with a proof-of-delivery record attached to every job.

Restaurants and kitchens

Push each order to a rider as it leaves the pass, and get a delivered callback for your own reconciliation.

Internal tooling

Documents between branches, spare parts between depots — booked from the systems your staff already use.

How it works

The same pipeline as the app

A partner delivery is dispatched, priced, tracked and paid for by exactly the code that serves the OkadaDrop app. There is no second-class queue: your parcel and a walk-up sender's compete for the same riders on the same terms.

Server to server

Keys authenticate a business, not a person. There is no phone-OTP step, no session to keep alive, and nothing to embed in a browser or a mobile binary.

Push, don't poll

Every status change is POSTed to your endpoint, signed, and retried with backoff if you are down. Polling works too — it is just slower and noisier.

Quickstart

From nothing to a rider on the way — and a customer watching them — in six steps.

  1. Create an account

    Sign up on the dashboard with an email, a password and your business name. No sales call, no waiting on an operator to mint you a key.

    Open the dashboard
  2. Mint a key

    Give it a label you'll recognise later — `Production`, `Staging`. The secret is shown once, at that moment, and never again. Put it in your server's environment, not in your repository.

  3. Register the account we debit

    Deliveries are prepaid by Mobile Money — riders carry no cash, so there is nothing to collect at the door. Register the MoMo account your fares should come off before you book anything: until you do, every booking is refused, because a server has no checkout page to complete.

    Paying for deliveries
  4. Quote, then book

    Price a route with `POST /partner/quotes` if you want to show a fare before committing. Then `POST /partner/deliveries` to book it. The response comes back `pending` while a rider is found — keep its `id` against your own order.

  5. Listen for the outcome

    Point a webhook at your server and you'll be told when the delivery is accepted, picked up, in transit, delivered or cancelled — with the full delivery record in the payload.

  6. Show your customer where it is

    The webhook above is enough for a progress line. If you want the rider moving on a map instead, one open endpoint returns the route and their live position — no key, callable straight from the browser.

    Tracking a delivery

Getting help

The interactive OpenAPI schema for a running backend is at /docs, with every request and response model in full. For anything else, mail [email protected] — the people who wrote the API answer it.

NextAuthenticationAPI keys, rotation and rate limits.