Ключевое здесь — стабильный периодический сбор и последующее сравнение, а не разовое извлечение данных. Нужен модуль, который несколько раз в сутки опрашивает список адресов товаров, привязанных к нашим внутренним артикулам, снимает актуальную цену и статус наличия и складывает всё это в историческую таблицу, чтобы по каждому товару и каждому магазину постепенно набиралась динамика. На основе накопленных значений должна работать логика оповещений: если конкурент меняет цену сильнее заданного порога либо товар уходит в отсутствие или возвращается в продажу, исполнитель формирует уведомление на электронную почту и в мессенджер. Отдельно просим предусмотреть корректную работу с реальными сайтами — обработку сбоев и таймаутов, повторные попытки, разумные паузы между запросами и устойчивость к переработке вёрстки страниц.
Итогом должен стать веб-дашборд с авторизацией, где менеджеры видят по каждому товару свою цену рядом с ценами всех отслеживаемых магазинов, смотрят графики изменения цен за выбранный период, фильтруют данные по категориям и площадкам и просматривают ленту последних срабатываний. Привязку чужих карточек к нашим артикулам желательно редактировать прямо в интерфейсе, а всю историю выгружать в CSV или Excel для дальнейшей аналитики.
— Периодический опрос заданных карточек конкурентов со снятием цены и наличия
— Историческая таблица значений с отметками времени по товарам и магазинам
— Оповещения по порогам на почту и в мессенджер при изменениях и смене наличия
— Дашборд с авторизацией: сравнение цен, графики динамики, фильтры и лента событий
— Обработка сбоев, повторы, паузы между запросами и выгрузка истории в CSV/Excel