The shop’s bridge onto
and 
·
- Operations
- ~50 tools
- reconciliation, cutover, live E2E
Task: keep orders, prices and stock in sync between the shop and the marketplaces without manual exports.
Results
- 2M+
- items refreshed every day
- 3
- bridges onto two marketplaces
- $3M
- of turnover without errors
Price and stock match reality
Fewer cancellations and fewer sales of what is not in the warehouse
Tested on the real contour
Live E2E runs the full path of an order rather than separate functions in isolation
How it works
The shop’s webhooks, X-MJ-Signature checked on every request
The bridge’s endpoint is reachable from outside, so anything that can find it can claim to be the shop. Every request carries an X-MJ-Signature, and a body that does not match it — forged, or replayed from a request that already went through — creates nothing. A webhook rather than a poll, because a change should reach the bridge when it happens rather than on the next sweep.
PostgreSQL: order and status history as the source of truth
The shop holds one version of an order and the marketplace another, and neither can settle a disagreement between them. The bridge keeps the third that both are compared against: orders, statuses, prices and stock in PostgreSQL — and the history of the statuses, not only the current one, so the question is not just where an order stands but what happened to it and when. Everything reconciliation does later rests on that.
Yandex Market FBS / DBS: prices and stock in sync on both schemes
FBS and DBS are not one integration with a switch in it: under FBS the marketplace ships and under DBS the seller does, and that changes whose stock counts as real and which statuses an order passes through. So each is a bridge of its own, and Wildberries is a third beside them — three bridges onto two marketplaces. More than two million items are refreshed across them every day.
Bulk upload: cards and media go as a package, not one by one
A catalogue this size cannot go up a card at a time — at millions of items that is not a slow way of doing it but an impossible one. Cards are uploaded as a package, and their media travels with them rather than in a second pass, so a product and its pictures appear on the marketplace together instead of a card standing empty while the images catch up.
~50 tools: reconciliation, cutover and live E2E runs
Around fifty small tools, because a bridge is judged on the days something goes wrong:
- Reconciliation — keeps comparing what the database holds against what is actually visible on the marketplace, finds the row that drifted and puts it right.
- Cutover — moves orders onto the new contour while trade carries on, without stopping sales or losing statuses.
- Live E2E — runs the whole path of an order on the real contour rather than testing functions in isolation, because the gaps show up between them.
- The knowledge base — every irregular situation is written up as a recovery scenario, so the second time it happens it is a procedure rather than an investigation.
Stack
React · FastAPI · PostgreSQL · Wildberries Content API · Яндекс Маркет API · Coolify