Skip to main content
March 9, 20266 min read

Marketplace Integrations: Ozon, Wildberries, Yandex Market and 1C

A field guide to building marketplace integrations that survive contact with real catalogs, real orders and real partners.

marketplaceozonwildberries1c

Integrations are where marketplaces silently die. The product looks healthy from the outside, but inside the team is spending half its week firefighting a Wildberries webhook that fails on Tuesdays, an Ozon FBO stock sync that nobody trusts, and a 1C export that has quietly become load-bearing for the entire finance team.

After shipping enough of these — Ozon Seller API, Wildberries Supplier API, Yandex Market Partner API, and several flavours of 1C exchange — I have a few rules I will not break.

1. Treat each marketplace as its own service

Ozon, Wildberries and Yandex Market look similar in slides and behave nothing alike in production. Different idempotency models, different rate limits, different ideas about what an "order" or a "stock" is, different webhook reliability. The moment you try to abstract them into a single "marketplace adapter" you start losing money on edge cases.

My rule: one bounded service per partner, with a clean input contract (upsertProduct, pushStock, syncOrders, ackShipment) and a clean output contract. The core platform never sees Ozon-specific fields. The Ozon service never sees catalog logic that doesn't belong to it.

2. Idempotency is non-negotiable

Every write to Ozon, Wildberries or Yandex must be safe to retry. That means idempotency keys at the request level, deduplication at the persistence level, and a clear policy on what to do when a partner returns success the second time after returning a timeout the first time.

The 1C side is even less forgiving — exchanges are batch-oriented and a duplicated document can quietly corrupt accounting. I keep a partner_request_log table with the request hash, the external ID once we get it, and the final status. It has saved me more than once.

3. Make the workflow visible

The business does not care about your queue diagram. It cares whether yesterday's Wildberries payouts went out, whether last hour's Ozon shipments were dispatched, whether the Yandex Market catalog sync is behind. Every integration should expose a dashboard a non-engineer can read in ten seconds: green / yellow / red, with a link to the last failure and the last successful run.

That single dashboard pays for itself in the first incident, and it is what turns "the integration is broken" from a panic into a ticket.

4. Automate the workflow, not just the API call

The real win is not "we call the Ozon API." It is: a new order automatically reserves stock across warehouses, creates the shipment, posts the document to 1C, notifies the merchant, watches the partner status, escalates if stuck, and reconciles the payout when it lands. A human only intervenes when something is genuinely wrong.

Building toward that shape — one marketplace at a time, with proper contracts and proper observability — is what makes a multi-channel commerce business scalable without proportionally scaling headcount. It is also, quietly, where most of the engineering value lives.