Data-платформа для продавцов Wildberries: подключение кабинетов, регулярный сбор данных через API и web-scraping, фоновые очереди, единое хранилище и личные кабинеты с изоляцией данных пользователей.
Заказчику требовалась собственная многопользовательская система для регулярного сбора и хранения данных из личных кабинетов продавцов Wildberries. Часть информации доступна через API, а отдельные разделы приходится получать непосредственно со страниц кабинета с авторизацией.
Основная задача — создать устойчивый backend-контур, который автоматически собирает данные по каждому подключённому кабинету, приводит их к единой структуре, хранит в собственной базе и строго разделяет информацию разных пользователей.
Показываем не только результат, но и задачи, которые пришлось решить по ходу проекта
Ключевые показатели и эффект от реализованного решения.
Ключевые модули и возможности, которые вошли в итоговое решение
Пользователь регистрируется в сервисе, добавляет свой кабинет Wildberries и передаёт необходимые данные авторизации или API-ключи.
Система сохраняет ExternalAccount и выполняет тестовый запрос, фиксируя статус подключения.
Celery Beat формирует ежедневные и еженедельные задачи отдельно для каждого пользователя, кабинета и включённого раздела.
Worker обращается к нужному API либо запускает headless web-scraping сценарий с авторизацией в кабинете.
Полученный payload сохраняется и преобразуется в доменные сущности PostgreSQL с привязкой к пользователю и кабинету.
В личном кабинете отображаются подключённые аккаунты, статус и время последнего обновления, а в админке — задачи, логи и ошибки.
Инструменты, которые использовали для реализации этого решения
Расскажите о проекте — предложим решение за 24 часа