ETL и единое ядро данных маркетплейсов

Проект: Единое ядро данных маркетплейсов

Переиспользуемая Python-библиотека для read-only получения и нормализации данных WB/Ozon.

Что показывает кейс

Это пример переиспользуемого data-core для маркетплейсов: нормализация кабинетов, товаров, продаж и справочников, контроль загрузок и единые контракты данных для нескольких продуктовых сценариев.

Контекст

Клиенты WB и Ozon быстро начинают дублировать одну и ту же инфраструктурную логику: конфигурацию, пагинацию, rate-limit, обработку API-ошибок и правила сохранения. Это усложняет каждый следующий marketplace-продукт.

Что вошло в контур проекта

Библиотека отделяет общее ядро от marketplace-адаптеров, унифицирует конфигурацию, пагинацию, rate-limit и иерархию API-ошибок, предоставляет typed-клиенты и loader-слой, а хранение подключается через опциональные ClickHouse/Redis зависимости.

Решение

Выделена самостоятельная read-only Python-библиотека с общим core и отдельными адаптерами WB/Ozon, typed API-клиентами и loader-слоем.

  • Общая конфигурация marketplace-клиентов.
  • Единая иерархия auth/permission/validation/API ошибок.
  • Offset- и next-token пагинация.
  • Rate-limit и базовый HTTP-клиент на httpx.
  • WB/Ozon фасады и loader implementations по доменам данных.
  • Опциональные ClickHouse/Redis интеграции и pytest-набор клиентов.

Рабочий процесс

  • Product code
  • Unified core
  • WB / Ozon adapter
  • Pagination / limits
  • Loader
  • Storage

Технологический контур

  • Python
  • httpx
  • WB API
  • Ozon API
  • ClickHouse
  • Pytest

Бизнес-эффект

Новые сценарии работы с маркетплейсами строятся на одном тестируемом data-core вместо повторной реализации низкоуровневой интеграции.

Связанные направления

Похожие кейсы