GGSEL AutoPricer
Держит цены на GGSEL и Digiseller актуальными — сверяется с PS Store, Xbox и Epic Games, учитывает курс ЦБ и наценку.
~6000товаров в каталоге продавца
3стора: PS Store, Xbox, Epic Games
2площадки: GGSEL и Digiseller
3 чдо конца скидки — возврат обычной цены
Задача
Продавец цифровых игр держит на GGSEL и Digiseller около 6000 товаров. Цены зависят от стора и курса, скидки приходят и уходят — вручную за этим не успеть. Ссылок на сторы в товарах нет, поэтому игры нужно было ещё и найти.
Что сделал
- импорт товаров с обеих площадок и разбор названий вида «Игра РЕГИОН (платформы)»
- автосопоставление с играми в PS Store, Xbox и Epic Games с оценкой уверенности; сомнительное — на проверку кнопками в Telegram или через Excel
- цена = цена в сторе × курс ЦБ + ступенчатая наценка, с учётом комиссии площадки, округления и минимальной цены
- распродажи подхватываются, обычная цена возвращается за 3 часа до конца скидки
- товары с вариантами, пауза товара, если игра пропала из стора
- режим проверки с Excel-отчётом: видно, что поменяется, до того как поменяется
Под капотом
- Сопоставление названий понимает римские цифры, штрафует за лишнее издание и чужую платформу. Для Xbox строится локальный индекс каталога примерно на 16 тысяч игр.
- Epic Games опрашивается пачками сразу по всем регионам одним запросом.
- Надёжность: повторы при перегрузке API с паузой по Retry-After, площадки изолированы друг от друга, частичная запись откатывается, при недоступности ЦБ берётся сохранённый курс.
- Защита от двойного запуска, чтобы цены не менялись дважды.
stack:Pythonaiogram 3curl_cffiSQLiteopenpyxlsystemd
Код остаётся у заказчиков, поэтому на страницах кейсов — только описание.