Skip to content

Software

Putting one public API in front of 50 legacy systems

Partners used to wait months for custom integrations. A versioned REST and GraphQL API, a developer portal and sandbox accounts now get them live in about two days.

Client Project6 months
Client
Logistics software vendor, 25 years in business, Canada
Industry
Software
Region
Canada
Duration
6 months
Team
11 engineers
  • API development
  • Product engineering
  • DevOps and CI/CD

Results

Partner integrations live
500+
Growth in integration revenue
300%
Typical time to integrate
48 h
Developer partners onboarded
200+

The challenge

The product had grown through acquisitions into more than 50 systems, from a 1990s AS/400 order module to modern .NET services. Every partner integration was a bespoke project run by the professional services team and took three to six months.

Rewriting the core was out of the question, so any API had to sit in front of the existing systems without changing their behaviour.

Before and after

How things ran when we started, and once the work shipped.

  • Before: Custom integration project per partner
  • After: One versioned API with self-serve keys
  • Before: Three to six months to integrate
  • After: Partners live in about 48 hours
  • Before: Documentation in emailed PDFs
  • After: Developer portal, SDKs and sandbox accounts

Approach

How the work was done

4 phases over 6 months, with a working demo at the end of every week.

  1. 01

    Weeks 1–4

    API design

    Interviewed eight partners, designed a resource model for shipments, orders and tracking, and published an OpenAPI draft for feedback before writing code.

  2. 02

    Weeks 4–14

    Integration layer

    Built adapters for each back-end system behind a Node.js API layer, with contract tests that run against recorded legacy responses on every build.

  3. 03

    Weeks 10–20

    Developer portal and sandbox

    Launched a portal with generated reference docs, SDKs for TypeScript and Python, self-serve API keys and sandbox tenants seeded with realistic data.

  4. 04

    Weeks 18–26

    Versioning and partner rollout

    Introduced dated API versions with a 12-month deprecation policy and moved the first 40 partners across with the client’s partner team.

Architecture

A thin, well-tested API layer translates between a clean public contract and the legacy systems, so either side can change without breaking the other.

  • Apollo GraphQL and REST endpoints generated from one OpenAPI source
  • Per-system adapters with contract tests against recorded responses
  • AWS API Gateway for keys, quotas and usage plans
  • Webhooks delivered through SQS with retries and signed payloads
  • Developer portal on Next.js with generated SDKs and sandbox tenants

Stack

  • Node.js
  • TypeScript
  • GraphQL
  • OpenAPI
  • AWS API Gateway
  • SQS
  • Next.js
  • .NET
“Integrations used to be a cost centre with a waiting list. Now partners build against the sandbox on their own and we hear from them when they are ready to go live.”
Chief Product OfficerLogistics software vendor, Canada

Have a project like this?

Tell us where things stand today. On a 30-minute call an engineer will sketch how we would approach it, the timeline and a price range.