Мониторинг цен на megamarket.ru
Ранее я уже делился первой версией расширения для megamarket.
На тот момент оно было сделано буквально на коленке как proof of concept.
Сейчас готов представить немного отрефакторенную и чуть доработанную по дизайну версию.
![](https://cs15.pikabu.ru/post_img/2024/06/03/8/1717421729168569264.jpg)
![](https://cs15.pikabu.ru/post_img/2024/06/03/8/1717421729193792228.jpg)
![](https://cs13.pikabu.ru/post_img/2024/06/03/8/1717421730129821347.jpg)
![](https://cs15.pikabu.ru/post_img/2024/06/03/8/1717421730195454257.jpg)
Выглядит это примерно так
Из изменений:
Преобразился список товаров, по которым мониторятся цены
Для каждого товара отображаются наиболее выгодные предложения с учетом выбранного адреса
В каждом предложении теперь указывается продавец, применяемая скидка и кол-во бонусов "спасибо", которые вернутся после покупки.
Из предложения можно открыть карточку товара с выбранным продавцом.
Добавился раздел с промокодами
Промокоды теперь берутся из личного кабинета пользователя
Условия промокода парсятся и применяются к цене на товар (на данный момент, правда, поддерживается всего один шаблон: "Скидка зависит от суммы товаров в корзине: -1 000₽ на заказ от 6 000₽, -5 000₽ на заказ от 30 000₽, -10 000₽ на заказ от 55 000₽, -20 000₽ на заказ от 110 000₽". Он разбирается на отдельные условия с минимальной суммой и скидкой)
Добавился раздел с выбором адреса. Он учитывается при запросе предложений. Сам список адресов берется из личного кабинета.
Ну и, наконец, добавились настройки. Возможно, не каждому нужны системные уведомления или же не каждый готов вычитать бонусы "спасибо" из итоговой цены на товар. Теперь это можно отключить.
В целом же, для тех, кто не в курсе, расширение позволяет мониторить цены на выбранные товары, сортируя их по наличию самых выгодных предложений.
Кроме того, отсеиваются мусорные предложения от мошенников с рейтингом < 4.4 и низким (<90) процентом успешно выполненных заказов. А предложений таких на мегамаркете, оказывается, достаточно много. Можете посмотреть предыдущие мои посты.
Что еще хочется сделать:
Автоматическое применение промокода при добавлении товара в корзину. На текущий момент у меня просто нет доступного промокода, чтоб можно было отладить процесс.
Добавить настройки для ранжирования предложений (надежные/ненадежные). Сейчас они прибиты гвоздями.
Добавить свои списки продавцов. Это позволит принудительно исключить предложения выбранного продавца из списка. Либо, наоборот, подсветить, что у избранного продавца появилось предложение на товар из списка.
Добавить уведомление на мобилу (telegram, viber...), но пока нет понимания как это лучше реализовать. Скорее всего, для этого потребуется свой бэк, дополнительная авторизация и т.д. Т.е. появится взаимодействие расширения со сторонним сервисом. А это уже может поставить под сомнение чистоплотность расширения в плане доступа к данным пользователя.
Добавить настройки интервала опроса предложений. На текущий момент выбран интервал в 30 сек между запросами. Т.е. 10 товаров по кругу будут опрашиваться за 300 сек (5 минут). Это довольно много, но сделано нарочно с большим запасом, чтоб не словить бан от мегамаркета по IP из-за частых запросов. Сейчас я исследую rate лимиты при которых происходит бан. От этого уже буду ориентироваться дальше.
Отображать варианты получения товара (самомывоз, доставка курьером продавца/мегамаркета, постамат и т.д.) в строке предложения в виде иконок. Для этого нужно для начала собрать все возможные варианты, которые возвращаются в ответе от API.
Расширение не собирает абсолютно никаких данных пользователя. Исходный код доступен в репозитории. Можно как собрать его самостоятельно так и установить из магазина расширений Chrome. Также оставляю ссылку на телеграм канал, где можно задать любые вопросы по работе расширения, накинуть своих предложений, либо просто поделиться фидбеком.