User Avatar

Founder and CTO of Macopedia - a 100% bootstrapped web agency. Writing about e-commerce, challenges of digital transformation, and software development.

Battle-tested framework for analyzing and designing e-commerce integrations:

(avoid mistakes I made over the last 10 years as a software architect and speed up the system analysis phase)

Successful integration of B2B e-commerce with external systems requires good analysis and specification:

• brief, but complete
• top-down, easy to follow

• growing as you gather more data

• building common understanding from day one

Listing API endpoint fields is the last step, not the first one.


Step 1: Draw the ecosystem diagram

• e-commerce in the middle and all connected systems around

• lines connecting systems exchanging data

This will surface many high-level misunderstandings among stakeholders and corporate IT.

And serve as a landscape map for you.

Step 2: Data types and flow direction

For each connection with e-commerce define:

• what kind of data (briefly, e.g. stock, price, order) is exchanged
• in which direction does it flow (from e-commerce; to e-commerce or both directions)

Which system is a "source of truth"?

Step 3: Pushed to e-commerce or pulled in?

Independently from the direction of flow, data can be:


• pushed to e-commerce through its API
• pulled from external API to e-commerce

In other words: Which system is active (connects to API) and which is passive (provides API)?

Step 3: How is data exchange initiated?

• by schedule

• asynchronous on some event, e.g using webhooks

• through events queue

• manually on demand


Step 4: Does data exchange influence end-user flow?

• data can be exchanged in the background (e.g. product information), or

• integration influences end-user flow (e.g. product reservation in the checkout)

The latter must perform well not to become a performance bottleneck.

Step 5: Incremental vs full update & data integrity

• Is data exchanged incrementally,

• or full import is performed every time?

Often forgotten question (especially with incremental updates):


How to assure records removed in source systems are also removed in e-commerce?

Step 6: Interface / endpoint specification

Once you understand the architecture, now it's time to define the details of every API endpoint/interface including:


• data structures

• validations and constraints

• interface type (REST / SOAP/ XML-RPC/ GraphQL...)

TL;DR - 6 Steps for better e-commerce integration

• Draw an ecosystem diagram
• Name data types and flow direction

• Is data pushed to e-commerce or pulled in?

• Exchange incrementally or full updates & Integrity

• Define Low-level interface/endpoint specification

If you found this thread valuable:

1. Toss me a follow for more threads on B2B e-commerce and software development → @tmotyl


2. Here’s a post from a similar topic - how to validate API readiness with no code: https://twitter.com/tmotyl/status/1560046337084768258?s=20&t=1ddqKM0QNMdcEVw9BBJKfw