VC LABКейсыКейс: селлер автозапчастей

Селлер автозапчастей: каталог, склад, ERP и чаты в одном контуре

Заказчика не раскрываем по условиям договора: селлер автозапчастей на крупном маркетплейсе с каталогом в десятки тысяч позиций, новых и б/у. Каталог обновляется ежедневно, остатки лежат по нескольким складам в ERP, покупатели постоянно спрашивают о наличии и совместимости, а устаревшая позиция оборачивается отменой заказа. Здесь автоматизированы складская логистика и отгрузки, синхронизация маркетплейса с ERP, товарные фиды, клиентские чаты, банковская сверка и управленческий учёт.

Что автоматизировано

  • Складская логистика и отгрузки: заказы с маркетплейса, остатки по складам из ERP, отправки через API службы доставки.
  • Синхронизация маркетплейса с ERP: каталог, сделки, кассовые ордера и остатки из ERP сопоставляются с объявлениями и заказами на площадке.
  • Товарные фиды: генерация и ведение XML-фидов для автозагрузки.
  • Клиентские чаты: роботизированная обработка через API сообщений площадки и LLM-ассистента.
  • Банковская сверка и управленческий учёт: выписки и операции через Open API банка.
  • Аналитика рекламных расходов по статистике площадки и распределение затрат по товарным партиям.

Результат

  • 65% обращений обрабатываются автоматически, без участия менеджера.
  • Ошибок по неактуальным остаткам стало на 80% меньше.
  • Первый ответ покупателю приходит за одну минуту.
  • Автотесты основной панели защищают от регрессий при каждом изменении.

Стек

  • Java: Java 21, Spring Boot 3.4.5 (Spring MVC, Security, Data JPA, Scheduling), Hibernate, PostgreSQL, Flyway, Thymeleaf с Layout Dialect, htmx, Apache POI, Apache PDFBox, Jackson, java.net.http HttpClient, Maven; тесты — JUnit 5, Mockito, AssertJ.
  • Node.js: TypeScript, Vite, Drizzle ORM, MySQL 8, Vitest, Docker Compose, REST-интеграции, LLM-ассистент для клиентских чатов.
  • Python: Python 3.12, FastAPI, Uvicorn, SQLite, APScheduler, Playwright, openpyxl, pandas, requests.
  • Инфраструктура: Ubuntu Server, systemd, nginx (reverse proxy, TLS, SNI, многопортовые слушатели), Let's Encrypt и Certbot, Docker и Docker Compose, journald, SSH-автоматизация, резервное копирование конфигураций.

Интеграции

  • API маркетплейса: заказы, статистика, сообщения, автозагрузка, XML-фиды.
  • API облачной ERP: каталог, сделки, кассовые ордера, остатки по складам.
  • Open API банка: выписки и операции.
  • Google Sheets API, Google Drive API, Google Apps Script, Telegram Bot API, API службы доставки.
  • Авторизация: OAuth 2.0, Bearer-токены, сервисные аккаунты.

Инженерные практики

Магазин живёт на внешних API, у каждого из которых свои лимиты и сбои, поэтому основная часть инженерной работы — устойчивость и целостность данных.

  • Повтор запросов с экспоненциальной задержкой при лимитах внешних API — ответах HTTP 429 и 509.
  • Идемпотентные операции и защита от двойного исполнения: повтор не создаёт дублей заказов и записей.
  • Транзакционная целостность и версионные миграции базы через Flyway.
  • Атомарный деплой с проверкой контрольных сумм и резервные копии конфигураций.
  • Регрессионное тестирование, юнит- и интеграционные тесты, диагностика по логам journald, многоагентный аудит кода.

Частые вопросы

Как синхронизируется маркетплейс с ERP?
Через API обеих сторон: из ERP приходят каталог, сделки, кассовые ордера и остатки по складам, с маркетплейса — заказы, статистика, сообщения и автозагрузка. Товарные фиды генерируются и обновляются автоматически.
Что происходит, когда внешний API упирается в лимит?
Запросы повторяются с экспоненциальной задержкой при ответах 429 и 509. Операции идемпотентны, а защита от двойного исполнения не даёт повтору создать дубль.
Как выкатываются изменения без поломок?
Атомарный деплой с проверкой контрольных сумм, версионные миграции базы через Flyway, резервные копии конфигураций; регрессию держат автотесты основной панели.
Можно ли повторить это для магазина на другой площадке?
Да: подход переносится на любую площадку с API или регулярными выгрузками — Ozon, Wildberries, Avito, Kaspi, Uzum. Интеграции и правила собираются под ваш каталог, ERP и банк.

Расскажите о задаче

Ответим в течение одного рабочего дня, оценку пришлём за 1–2 дня. Бесплатно.

Обновлено: 2026-10-02