Why Two Russian Marketplace Integrations Broke a Shared Go Interface
A development team building a self-hosted store for sellers on Ozon and Wildberries, Russia's two largest marketplaces, attempted to unify their sync logic under a single Go interface covering stock, pricing, and orders. The effort failed at every method, as the two platforms differ fundamentally in how they identify products — Ozon uses a seller-assigned offer_id, while Wildberries uses a nested nmID and barcode system requiring separate database indexes. Their APIs also diverge on response formats: Ozon returns per-item results on stock pushes, whereas Wildberries responds with a silent 204 and only flags errors in a 409 conflict. Price updates follow different patterns too, with Wildberries returning a task ID for asynchronous processing rather than an immediate result. The team concluded that a shared interface added abstraction without reducing real complexity, and published their findings alongside the open-source codebase.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in