Автоматизация повышения ставок через Hotline API (Auctions)1) Цель Настроить сервис/скрипт, который автоматически повышает ставки по выбранным предложениям Hotline через API Auctions, чтобы: удерживать/улучшать позицию в выдаче, контролировать CPC/расход, не выходить за лимиты и бюджет. Ссылка на API: https://hotline.ua/ua/about/api_auctions/2) Объекты управления Offer ID / id пропозиції: список ID, которыми управляем (будет предоставлен). Возможность режимов: Один товар (MVP) Список товаров Все товары в магазине (опционально)3) Алгоритм (правила изменения ставок) Исполнитель должен реализовать настраиваемые правила (через конфиг/админку): Входные параметры на товар: min_bid (минимальная ставка) max_bid (максимальная ставка) step (шаг повышения/понижения) target_position (целевая позиция/диапазон, если API такое отдает) max_daily_budget (дневной лимит по товару или общий) working_hours (часы работы, например 08:00–23:00) pause_conditions (условия остановки) Логика (пример MVP): Если позиция хуже целевой / ставки недостаточно → увеличить на step, но не выше max_bid. Если позиция лучше целевой и можно экономить → уменьшить на step, но не ниже min_bid. Если дневной бюджет достигнут → заморозить изменения до следующего дня. Если ошибка API/лимиты → ретраи + безопасный стоп. Важно: если API не дает позицию/конкурентные ставки — тогда управление только по доступным метрикам (что именно дает API — исполнитель фиксирует в документе и предлагает рабочую схему).4) Частота работы Запуск по расписанию: каждые 5 / 10 / 15 минут (настраиваемо). Возможность ручного запуска. Время по Киеву.5) Безопасность и ограничения Хранение ключа API безопасно (env variables/secret storage). Логи без вывода ключей/токенов. Защита от “зацикленного роста”: max X изменений ставки в час на товар (например 6) max суммарное увеличение ставки за день (например +30%)6) Логи и отчётность Нужно сохранять в лог/БД: timestamp offer_id старая ставка → новая ставка причина изменения (позиция/лимит/сценарий) ответ API (код/статус) ошибки/ретраи Вывод пользователю: простая таблица (CSV/Google Sheet) или веб-страница “История изменений” текущий статус по каждому offer_id: ставка, лимиты, последний апдейт7) Уведомления (минимум) Уведомлять в Telegram/Email при: API недоступно > N минут ставка уперлась в max_bid, а цель не достигнута превышен бюджет критическая ошибка (не удалось применить ставку)8) Техническая реализация Варианты: Скрипт Python/Node.js + cron на сервере/VPS Docker контейнер Serverless (если удобно) Минимум: инструкция по установке и запуску конфиг файл (yaml/json) или простая админка README с примерами9) MVP (то, что нужно в первую очередь) MVP = один товар (один offer_id): получать текущие данные через API менять ставку по правилам min/max/step логирование запуск по расписанию обработка ошибок/ретраи10) Приёмка (критерии “сделано”) На тестовом offer_id сервис: корректно читает данные из API повышает/понижает ставку по заданным правилам не выходит за max_bid/min_bid пишет логи переживает ошибки API (ретраи, стоп) Документация: как запустить где менять параметры где смотреть логи Демо: 1 день работы в тестовом режиме с логами.11) Что я предоставляю исполнителю API key offer_id(ы) желаемые min/max/step и расписание текущие ставки/бюджеты (если есть) доступ к серверу (или требование: сделать Docker)