Skip to content
Resocore Africa

Live sandbox

A real API, not a screenshot of one.

This is the kind of thing we build: websites, web apps, mobile apps, e-commerce stores and the APIs that hold them together. The console below is one of those builds, live and open for you to call.

What we build

Technology, end to end.

From the first page a visitor sees to the API behind it, we build the whole stack. Everything below ships live, and you can test the API pattern on this very page.

Websites

You need to be found and trusted online before a single phone call.

Marketing sites, company sites and storefronts that load fast and rank, built around what the business actually sells.

Web apps

You are running crucial work on spreadsheets and chasing documents.

Dashboards, portals and tools your team, customers or partners log into and work in daily.

Mobile apps

You want the service in your customers’ pockets, not just in a browser tab.

iOS and Android apps, built when the job really needs to live in the pocket rather than the browser.

E-commerce stores

You want orders taken while you sleep, with the admin handled.

Order-taking storefronts with catalogues, carts, checkout and the fulfilment loop closed behind them.

APIs & integrations

You have two systems that refuse to talk to each other.

The connective tissue between systems, built so two platforms talk without a human re-typing anything.

Automation & tooling

You are paying people to move information between tools by hand.

Internal systems that stop manual work: dispatch, pricing, data routing and the dashboard that watches it all.

Try one yourself

This endpoint prices a delivery, live.

It is public, rate-limited, and it behaves the way we build integrations for clients, because it was built the same way. Call it from the console below, or from your terminal.

Loading the console…

Sandbox environment. Distances are straight-line with a road correction factor, and the rate card is illustrative; it is not GoFlow’s live commercial pricing. No data is stored beyond a five-minute idempotency cache.

What it demonstrates

The unglamorous parts, which are the parts that matter.

Anyone can return JSON. The difference between an integration that survives contact with production and one that does not comes down to four behaviours, all of which are live in this endpoint.

Schema validation

Every field is validated before anything runs. Invalid input returns 422 with a per-field explanation, not a stack trace and not a silent default.

Idempotent replay

Send the same request twice with the same Idempotency-Key and the second returns the stored response with Idempotency-Replayed: true. This is what stops a retried webhook becoming a duplicate delivery.

Rate limiting

Fixed window per client, with X-RateLimit-* headers on every response and Retry-After on a 429. A caller can always tell exactly where they stand.

Traceable responses

Every response carries a requestId and server-measured latency. When a client says “it failed at 14:20”, that is the difference between a five-minute fix and a five-hour one.

Reference

Endpoints

Two endpoints, no authentication, no signup. Discovery first so a caller can find valid ids without reading documentation.

GET/api/sandbox/quote

Lists supported locations and service levels.

POST/api/sandbox/quote

Prices a delivery. Accepts an optional Idempotency-Key header.

{
  "pickup": "lag-ikeja",
  "dropoff": "lag-lekki",
  "weightKg": 3,
  "service": "express",
  "declaredValue": 150000
}