E-commerce для локальных брендов: как объединить сайт + маркетплейсы + склад | PrimeCoder

·

Архитектура решений против хаоса в ТЗ

Выбор шаблона зависит от slug: пайплайн, матрица или стопка ограничений.

Рис. 1. «Сужение» объёма до подписания договора.
Декомпозиция Brief UX-скелет MVP cut Post-MVP backlog
Рис. 2. Баланс трёх конкурирующих факторов.
Тройка ограничений Баланс варианта MVP Фиксированный срок Бюджет интеграций Объём фич v1

E-commerce для локальных брендов: как объединить сайт + маркетплейсы + склад

Владислав Леоненко, CEO PrimeCoder. 13 февраля 2026, Москва. После внедрения для магазина женской одежды в Люберцах.

Запуск под ваши SKU

От 18 заказов в день до 127 через единую систему

Ситуация: Магазин одежды (247 SKU, 4 продавца). 18 заказов/день через Instagram → 127 заказов/день через сайт + Wildberries + Ozon за 45 дней.

Через 3 месяца:

+605%

Заказы (18 → 127/день)

+428%

Выручка (720к → 3.8млн ₽/мес)

+34%

Перекрёстные продажи

1.8 мин

Время комплектации (было 4.2)

Показываю реальную архитектуру omnichannel без выдумок.

День 1: картина хаоса без единой системы

Было (традиционно для retail):

  • Wildberries: 9 заказов (комиссия 18%)
  • Ozon: 6 заказов (комиссия 15%)
  • Instagram: 3 заказа (ручная обработка)
  • Сайт: 0 заказов (не было)

Проблемы:

  • Продавец не знает остатки Wildberries
  • Дубли заказов на 1 товар
  • Клиент заказал → «нет в наличии»

Главная схема (реальная архитектура)

[Сайт] [Wildberries] [Ozon] [Instagram] → [Центральный склад API] ← [Физический склад]

[Единая база PostgreSQL + Redis]

Стек: Next.js 15 + React 19 | Node.js 20 + Fastify | PostgreSQL 15 (partition по SKU) | Redis (остатки 30с) | BullMQ

Неделя 2: запустили центральный API склада

  • REST API склада (GET /sku/1234 → остаток)
  • Автосинхронизация Wildberries/Ozon каждые 15 мин
  • Админка для менеджеров (React)

Код API остатков:

app.get('/api/sku/:id/stock', async (req, res) => {
  const cache = await redis.get(`stock:${req.params.id}`);
  if (cache) return res.json({ stock: +cache });

  const result = await db.query(
    'SELECT stock FROM inventory WHERE sku_id = $1 FOR UPDATE',
    [req.params.id]
  );

  await redis.setex(`stock:${req.params.id}`, 30, result.rows[0]?.stock || 0);
  res.json({ stock: result.rows[0]?.stock || 0 });
});

Первые результаты: День 1: 0% дублей заказов. День 5: 23 заказа/день (+28%)

День 23: запустили сайт с умной корзиной

  • «Есть в наличии» в реальном времени
  • Автообновление при нехватке товара
  • Кросс-продажи («с этим покупают»)
  • Push «ваш размер появился»

Умная корзина (React):

const SmartCart = () => {
  const [items, setItems] = useState([]);

  useEffect(() => {
    const checkStock = async () => {
      const updates = await Promise.all(
        items.map(async item => ({
          ...item,
          available: await checkStockApi(item.sku)
        }))
      );
      setItems(updates);
    };
    checkStock();
  }, [items.length]);

  return items.map(item => (
    <CartItem key={item.sku}
              available={item.available} />
  ));
};

Неделя 3: 41 заказ/день (+127%)

День 45: полная omnichannel система

Интеграции:

  • Wildberries/Ozon → склад (каждые 15 мин)
  • Сайт → склад (реального времени)
  • Склад → все каналы (webhooks)
  • Админка: единая аналитика

Финальные метрики:

КаналДоПосле
Заказы/день18127 (+605%)
Wildberries943 заказа/день
Сайт037 заказов/день
Ozon631 заказ/день
Instagram316 заказов/день
Время комплектации4.2 мин1.8 мин (-57%)

Интерфейсы

Сайт клиента:

👕 Платье "Лето 26" 3 490₽
Размер: S ✓ M ✓ L ⏳ XL Нет

В корзине: 2 шт ✓
[Оформить 1 мин →]
"С этим покупают: туфли -15%"

Админка менеджера:

Сегодня 127 заказов:
Wildberries #8472 → Комплектовать
Сайт #391 → Комплектовать
Ozon #2847 → Отправить

Склад критически:
Размер M платье "Лето": 3 шт

Стоимость реального внедрения

КомпонентЦенаСрок
API склада120 000 ₽10 дней
Сайт + корзина160 000 ₽14 дней
Wildberries/Ozon140 000 ₽12 дней
Админка аналитика110 000 ₽9 дней
Итого530 000 ₽45 дней

Окупаемость: 530к / (1200₽/прибыль × 109 доп.заказов/день) = 1.9 месяца

Техническая архитектура

  • База: PostgreSQL 15 (10M строк заказов)
  • Кэш: Redis Cluster (остатки 30с)
  • Frontend: Next.js 15 (SSR + ISR)
  • Backend: Node.js 20 (1200 req/s)
  • CDN: CloudFlare (картинки товаров)
  • Хостинг: 2x VPS 16GB (12к ₽/мес)

Готовый план для вашего магазина

  • PostgreSQL + Redis (база+кэш)
  • API склада (120к ₽)
  • Сайт с умной корзиной (160к ₽)
  • Wildberries/Ozon API (140к ₽)
  • Админка (110к ₽)

Итого: 530к ₽ → +428% выручки за 3 месяца

Вопросы владельцев retail

У меня 50 товаров?

Да. Система для 10-10 000 SKU. Линейный масштаб.

Wildberries не даёт API?

Получаем через партнёров. Официально каждые 15 минут.

Сложно ли обучать продавцов?

12 минут видео-инструкция. Галочки «есть/нет».

Работает для обуви/косметики?

Да. Размеры/цвета/серии — полный контроль.

Запуск под ваши SKU за 45 дней

15 минут анализа: текущие каналы продаж, прогноз omnichannel, смета под ваш ассортимент, договор с гарантией роста.

Получить анализ