Toward a roadmap for our API

Hi everyone,

Pulling this thread back up as we continue on our journey toward a roadmap for our API.

I’ve spent quite a bit of time in the Use Case deck to understand the fundamentals of what everyone wants to do with the API. I’ve then pulled my notes together into a minimally coherent document that attempts to pin down these use cases into a rough set of needs with reference to the models that they touch.

Find the summary here.

The List

Our needs can be solved by the following with

  1. Effective Discovery Endpoints - Shops and Order Cycles.
  2. Create and Update on Customers Endpoint - Including tags
  3. Products Endpoint and DFC Integration
  4. Read Orders with and without Line Items - Cleanup of existing endpoint required.
  5. Create and Update on Orders with and without Line Items
  6. Reports via the API
  7. Full Shopping Experience via the API
  8. Create and Update Enterprises

Note that none of these pieces of work have been incepted. The next step is to choose the first priotiy, then we can invest more heavily in the inception and specification work to ensure that all our use cases can be solved by the work.

Of these needs the following are currently blocked:
3. Products Endpoint and DFC Integration requires auth work on the DFC Engine to be prioritised
4. Read Orders is blocked by the adjustments work.
5. Create and Update orders is blocked by the adjustments work.
6. Awaiting the Reports project to be incepted. This will be part of that work.

That leaves:

.1. Discovery - small inception needed.
.2. Create & Update on Customers - very likely the smallest piece.
.7. Shopping Experience - large inception needed and would work best as a funded partnership
.8. Create & Update Enterprises - mid sized inception needed.
.9. Authentication in the DFC engine

I would therefore like to propose that we explore putting either 1, 2 or 9 into the Funded Features pipe as the first API endpoint funded feature. I would suggest that there are two ways we could decide which first:

  1. Funding - funder decides seems fair in the funded features pipe to me
  2. Ease - the smallest and simplest is a good first option, dependant on funding of course.

All in all though, the path forward feels a lot clearer to my mind.
Personally I would be very happy with all three :laughing:
What would people like as a next step?
Shall we make a decision on one of these three, estimate, liberate the funds and deliver? :pray:

In particular ping @Rachel and @Kirsten as the two people that have suggested that they can contribute funding to API work via the Funded Features pipe.

3 Likes