Tymoteusz Motylewski
4y ago
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