Автоматизация магазина на маркетплейсе: цены по курсу и уведомления о заказах
- Python
- REST API площадки
- systemd timer
- Telegram Bot API
- позиции в каталоге
- 52
- обновления цен в день
- 2
- Курс ЦБ
- Расчёт цены
- API маркетплейса
- Заказ или сообщение
- Telegram-бот
Задача
Себестоимость товаров привязана к доллару, а продажа идёт в рублях через площадку с разной комиссией по разделам. Вручную держать цены в актуальном состоянии невозможно: курс меняется ежедневно, и легко продать в убыток или оказаться дороже конкурентов.
Подход
Написал скрипт, который берёт курс Центробанка, добавляет запас на конвертацию и пересчитывает цену каждой позиции с учётом наценки, комиссии раздела и налога. Результат отправляется через API площадки по расписанию. Отдельный бот следит за новыми продажами и сообщениями покупателей и сразу сообщает о них в Telegram.
Что сделано
- Цена считается по формуле «себестоимость × (1 + наценка) ÷ (1 − комиссия − налог)», а не простым сложением
- Комиссия хранится отдельно для каждого раздела площадки: она отличается более чем в пять раз
- Обновление цен по таймеру два раза в день; изменения уходят пачками по 40 позиций из-за лимита API
- Для отдельных позиций задаётся фиксированная цена, чтобы автомат не менял то, что настроено вручную
- Бот раз в минуту проверяет новые продажи и вопросы покупателей и присылает уведомление в Telegram
Стек
Python-скрипты, таймеры systemd на сервере, API маркетплейса, Telegram Bot API для уведомлений, JSON-каталог товаров с индивидуальными параметрами цены.
Результат
Все позиции каталога обновляются автоматически дважды в день, расчёт учитывает реальную комиссию и налог, а заказы и вопросы покупателей приходят владельцу в Telegram за минуту.