DDroomwork Developers

Core concepts

The things that are true of every endpoint, so each reference page can get on with saying what its endpoints do. None of this changes when a module goes live: the paths stay the same, and so does everything that follows.

Direct HTTP or the client library

Every operation has two samples. They send the same request; the difference is who writes the boilerplate.

Environments

Two realms, one set of paths, and a flag on every record telling you which one you're in.

Authentication

Two ways to prove who you are, and the one thing neither of them asks you for.

Request headers

Four headers you send, two you get back, and what each of them settles.

Idempotency

Why every change you make wants a key, and exactly what happens when one repeats.

Errors

One shape for every refusal, and a code you can branch on for ever.

Pagination

Every list you read answers the same way, and one cursor walks you through it.

Money

You send and receive a whole number of kobo with a currency beside it, and never a decimal.

Events and webhooks

Everything that happened, in order, delivered to you and there to read back afterwards.

Modules and readiness

Eight products you buy separately, and how each one tells you what it needs from you.

Testing

What you build against, what's already there for you, and what to check before you go live.