Support & Downloads

Quisque actraqum nunc no dolor sit ametaugue dolor. Lorem ipsum dolor sit amet, consyect etur adipiscing elit.

s f

Contact Info
Follow Us

The Recipe Without a Recipe

Have you ever tried cooking a dish you’d never tasted, without a recipe to follow?

Not a vague idea of one. Not “I think it has garlic in it.” Nothing. Just a description of what the final plate is supposed to feel like, and a kitchen full of ingredients you’ve never combined before.

That’s roughly what it felt like the week Stocky decided to stop supporting transactions.

For the people who don’t live inside Shopify’s ecosystem: Stocky was the inventory management app a lot of merchants relied on, and transactions, specifically, were how our client’s stock movements talked to the rest of their operation. When Shopify folded that functionality into its own native inventory system and Stocky quietly stopped supporting it, we weren’t just losing a feature. We were losing the shape of a conversation that had been running for years between Shopify and SAP.

SAP didn’t care that Shopify had a new, better way of doing things. SAP was expecting a very specific dish, plated a very specific way. Same ingredients, same structure, every time. Changing the recipe on SAP’s end wasn’t on the table, not on our timeline, not without touching systems far outside the scope of the problem.

So the plan came together fast, the way plans do when there’s no other option: build a middleware that could take Shopify’s new native inventory data and reshape it into something that looked, from SAP’s side of the table, exactly like what Stocky used to serve. Same structure. Same expectations met. SAP wouldn’t need to know anything had changed in the kitchen.

Simple enough, on a whiteboard.

First course: checking the pantry

We went to Shopify’s documentation looking for the equivalent ingredient: the REST endpoint that would hand us the native inventory data the same way Stocky’s API used to. It wasn’t there. Shopify had moved this functionality behind GraphQL, and not a small, contained corner of it, either. A sprawling schema, deeply nested, with more ways to ask for the same information than we expected, and no single obvious path that matched the shape we needed to reproduce.

This is the part that felt like cooking without a recipe. Not because we didn’t know how to cook. We’d built plenty of middlewares before, plenty of integrations between systems that were never meant to talk to each other directly. What we didn’t have was the specific combination for this specific dish. So we did what you do in a kitchen with no recipe: we read everything we could find, we tasted as we went, we adjusted.

Second course: tasting and adjusting

We built GraphQL queries, checked the shape of the response against what SAP expected, found the gaps, rebuilt the query. Some ingredients turned out to need a different order than we assumed. Some combinations we tried didn’t hold together the way we thought they would. GraphQL rewarded patience in a way REST hadn’t demanded of us before, you don’t just grab an endpoint, you construct exactly what you want from a much larger set of possibilities, which means the first few attempts are less about being right and more about understanding what’s actually available on the shelf.

Third course: plating

Eventually the pieces settled into place. The middleware took Shopify’s new inventory structure, ran it through the transformation we’d built, and handed SAP a response indistinguishable from what Stocky used to send. SAP kept working exactly as it always had. Nobody on that side of the integration had to know the kitchen behind it had been completely rebuilt.

That’s usually how the best integration work looks from the outside: invisible. No one downstream sees the trial and error, the queries that didn’t return what we expected, the hours spent understanding a schema instead of writing code against it. They just see that the dish arrived, and that it tasted like it was supposed to.

Not every technical problem comes with a recipe attached. Sometimes you’re handed a description of the final result and a set of tools you’ve never combined in exactly that way before. The job isn’t knowing the recipe by heart. It’s knowing how to taste, adjust, and taste again until it’s right.

If you’re dealing with a system that just changed the rules on you, we’ve probably cooked something similar. Find us at inflexionsoftware.com.