Delivery Services

Delivery Pricing API in Nigeria: Simplifying Logistics with Travo.ng

Get in touch on Whatsapp now: WhatsApp
CLICK HERE TO BOOK FAST ONLINE →

Updated 28 September 2026 · Travo.ng

Quick answer

A delivery pricing API lets your website, app or ERP fetch a live delivery price for a specific pickup and drop-off before your customer pays. On Travo, you call GET /v1/service-quotes with a pickup and a drop-off, and you get back a price in kobo that is usually valid for about 30 minutes. You then book the job with POST /v1/orders and track it through webhooks. Access is by request, and test keys run in a sandbox with no real dispatch and no charges.

Flat delivery fees are easy to set up, but they rarely match what a rider or van actually costs on the day. In Nigeria, fuel prices move, Lagos traffic changes by the hour, and a parcel going from Ikeja to Lekki costs something very different from one going across the street. A pricing API fixes this by asking the logistics provider for a real quote every time. This guide explains how a delivery pricing API works, what the Travo API offers today (based on our developer documentation), and how to add live delivery prices to your checkout step by step.

What is a delivery pricing API?

An API (application programming interface) is a way for one piece of software to ask another for data or to trigger an action. A delivery pricing API does one job well: you send it where a package starts, where it is going and, optionally, what kind of service and weight you need, and it returns a price. The better ones also let you turn that price into a booked delivery and follow the delivery until it is complete.

For an online shop, the difference shows up at checkout. Instead of charging every customer the same ₦2,000 and hoping it evens out, you show the real delivery price for that address. Customers far away pay a fair price, customers nearby are not overcharged, and you stop absorbing losses on long or awkward deliveries.

How the Travo delivery pricing API works

The Travo API is a REST API with a base URL of https://api.travo.ng/v1. Every request is authenticated with a secret API key sent as a bearer token in the Authorization header. There are two kinds of key: travo_test_ keys for the sandbox and travo_live_ keys for production. You manage keys in the Travo Console under Developers, then API Keys.

Endpoint What it does When you call it
GET /v1/service-quotes Returns available delivery quotes for a pickup and drop-off pair At checkout, when the customer enters or confirms an address
POST /v1/orders Creates a delivery order that is sent for dispatch After the customer pays or the order is confirmed
GET /v1/orders/{id} Returns the current state and tracking of an order On your order page, or when support needs a status

Source: Travo developer documentation, services.travo.ng/developers, accessed September 2026.

Quote request parameters

Parameter Type Notes
pickup string Coordinates (lat,lng), a street address, or an existing place ID. Coordinates give the most precise price; addresses are geocoded automatically.
dropoff string Same formats as pickup
service_type string (optional) The service you want quoted, for example a parcel delivery
scheduled_at ISO 8601 date-time (optional) For a pickup at a future time
total_weight number (optional) Weight in kilograms

Source: Travo developer documentation, accessed September 2026.

A quote comes back with an id, an amount, the currency (NGN), the service_type and an expires_at time. The documentation says quotes usually remain valid for about 30 minutes.

Why the amount is in kobo

All money values in the API are in kobo, the smallest unit of the naira. The documentation gives the example of ₦2,450.00 being returned as 245000. Store and compare amounts as whole numbers in kobo, and only divide by 100 when you display a price. This avoids rounding errors that creep in when you store naira amounts with decimals.

Following a delivery with webhooks

Once an order is created, you do not need to keep polling for updates. Travo can send webhook events to a URL on your server as the order moves along.

Webhook event Meaning
order.created The order has been accepted into the system
order.dispatched The order has been sent for rider allocation
order.driver_assigned A rider has confirmed; the driver name and phone are now on the order
order.picked_up The parcel has been collected and pickup proof recorded
order.completed Delivered, with a proof-of-delivery photo or PIN recorded
order.canceled Cancelled by the merchant or by operations, with a reason

Source: Travo developer documentation, accessed September 2026. Order statuses are created, dispatched, driver_assigned, picked_up, in_transit, completed and canceled.

Step-by-step: adding live delivery prices to your checkout

  1. Request access. Send your company name and website through the developer page. Integration accounts are approved after a short review. You can also message the Travo WhatsApp line starting with “DEV API:”.
  2. Build against the sandbox. Use a travo_test_ key. The sandbox gives full API behaviour but no real dispatch and no charges, so you can test every step safely.
  3. Capture a precise location. Ask customers to pick their address from a map or autocomplete so you can send coordinates. This gives a more accurate price than free-typed addresses.
  4. Request a quote at checkout. Call GET /v1/service-quotes with the pickup (your store or warehouse) and the customer drop-off. Show the amount, converted from kobo, as the delivery fee.
  5. Respect the expiry. Save the quote id and expires_at. If the customer takes too long, request a fresh quote before they pay.
  6. Create the order after payment. Call POST /v1/orders. Keep the order id with your own order record.
  7. Listen for webhooks. Update your order page and send customer notifications when the order is picked up and completed.
  8. Switch to live keys. When testing is complete, replace the test key with a travo_live_ key on your server only. Never put secret keys in a mobile app or front-end code.

Handling errors properly

HTTP code Meaning What to do
401 Authentication failed Check the API key and the Authorization header
404 Unknown resource Check the order or quote id
422 Validation failed Fix the request, for example a missing or unreadable address
429 Rate limited Slow down and retry after a pause
5xx Server error Safe to retry idempotently

Source: Travo developer documentation, accessed September 2026.

A good checkout never leaves the customer stuck. If a quote fails, show a clear message and a fallback, such as “delivery fee confirmed after order”, rather than an error screen.

Flat-rate delivery vs live pricing

Flat rate Live pricing API
Set-up effort Very low Some development work
Accuracy for each order Low: near and far pay the same High: price reflects the actual trip
Risk of losing money on delivery Higher on long or awkward trips Lower
Customer trust Customers nearby may feel overcharged Customers see the real fee before paying
Booking and tracking Usually manual Automated through orders and webhooks

Travo comparison for planning purposes.

Who benefits most

  • Online stores and social sellers who ship many orders a day and want accurate fees at checkout.
  • Marketplaces that need to price delivery between many sellers and buyers.
  • Restaurants, pharmacies and grocery shops that run same-day deliveries within a city. See our same-day delivery service.
  • Businesses with a warehouse that want orders to flow straight from stock to dispatch. See warehouse fulfilment.
  • Companies with their own apps or ERPs that want delivery booking inside existing tools.

If you only send a few parcels a week, you may not need an integration at all. You can book each delivery in the Travo app or read our guide to interstate package delivery in Nigeria.

Tips for a smooth integration

  • Keep your store or warehouse pickup as saved coordinates so every quote starts from the same exact point.
  • Send the total_weight when you know it, especially for heavier orders, so the quote fits the load.
  • Log every quote id and order id. It makes support conversations quicker.
  • Show customers the tracking status from webhooks rather than asking them to call.
  • Test cancellations in the sandbox so your system handles order.canceled cleanly.

Need deliveries without writing code?

Book a parcel pickup in the Travo app, or ask us on WhatsApp about API access for your business.

Book on TravoWhatsApp us

Frequently asked questions

What is a delivery pricing API?

It is a service your software calls to get a delivery price for a specific pickup and drop-off. Travo’s version returns a quote in kobo that you can show at checkout and then turn into a booked order.

How long is a Travo delivery quote valid?

Each quote has an expires_at time. The documentation says quotes typically remain valid for about 30 minutes. Request a new one if it has expired.

Does testing cost anything?

No. Test keys (travo_test_) give full API behaviour with no real dispatch and no charges.

How do I get API keys?

Request access with your company name and website on the developer page. After a short review, you manage keys in the Travo Console under Developers.

Why are prices returned in kobo?

Whole numbers in kobo avoid decimal rounding problems. For example, ₦2,450.00 is returned as 245000.

Can I track deliveries automatically?

Yes. Subscribe to webhook events such as order.picked_up and order.completed, or call GET /v1/orders/{id} for the current state.

Related guides

Sources: Travo developer documentation (services.travo.ng/developers), accessed 28 September 2026. API details can change, so always check the current documentation before you go live. Fares and prices change often — confirm before you travel or pay.

CLICK HERE TO BOOK NOW →
WhatsApp Chat