Интеграция с маркетплейсами - остатки, заказы и статусы в одном окне

Ссылка на работу
image image
Задача Продавец торговал на двух маркетплейсах и в своём Telegram-боте, склад при этом был один - коробки на одном стеллаже. Остатки правили руками, каждую площадку по отдельности, обычно вечером после отгрузок. За день одна и та же позиция успевала уйти в двух местах, и приходил оверсел - заказ на товар, которого физически уже нет. Дальше отмена, просадка рейтинга продавца и разбирательство с покупателем. Задача стояла свести площадки в одно окно и убрать ручную сверку остатков. Что сделал Один товар - одна карточка на своей стороне, к ней привязаны артикулы всех площадок, где он продаётся. Любое движение остатка ставит задачу в очередь, и она разъезжается по площадкам через их API. Заказы стягиваются по расписанию в общий список, остаток резервируется в момент появления заказа, до сборки. Упавшие запросы повторяются с нарастающей паузой, очередь держит ограничение по скорости, чтобы не упереться в лимит площадки. Площадки вынесены в адаптеры с общим интерфейсом, то-есть подключение третьей это один новый класс поверх готовой синхронизации. Результат Оверселлы почти прекратились - после продажи в своём боте остаток уходит на площадки сразу, после продажи на площадке в ближайший опрос заказов. Сборка идёт по одному списку, площадка у каждого заказа подписана, ходить по кабинетам больше не нужно. Вечерняя сверка остатков ушла целиком, это вернуло продавцу примерно час в день.