Общее описание задачи

Цель разработки

Требуется разработать программу, которая позволит автоматически управлять состоянием рекламных кампаний (методом 'Турбо-запуск') на основе анализа статистики кликов за предыдущий день. Алгоритм должен имитировать скрипт: если в кампании за вчера было менее заданного порога кликов, программа должна осуществлять циклическое включение и выключение (рестарт) кампании до тех пор, пока дневной лимит не будет достигнут или превышен.

Ключевые требования

1. Работа с аккаунтами (токены и логины)

Программа должна корректно работать с неограниченным количеством аккаунтов Яндекс Директ. Взаимодействие осуществляется исключительно с использованием OAuth-токенов. Необходимо предусмотреть два режима ввода данных:

  • Пакетная загрузка: добавление аккаунтов готовыми списками (массовое добавление логинов + соответствующих им токенов).
  • Поштучное добавление: возможность вручную ввести логин и токен нового аккаунта.

2. Группировка и настройки аккаунтов

Интерфейс должен поддерживать группировку аккаунтов. Для каждой группы должны быть индивидуальные настройки. Возможность назначать уникальное имя группе является обязательной. Настройки группы применяются ко всем кампаниям внутри этой группы.

3. Алгоритм работы (проверка кликов)

Принцип действия проще всего описать стандартной логикой SPIN (отталкиваемся от показателя 'Клики за вчера'):

  • Програма запрашивает статистику по всем кампаниям в группе за вчерашний день через вызов флагов отчетности.
  • Если количество кликов меньше лимита, алгоритм запускает временной интервал 'постоянный запуск и остановка': на ограниченный период ставит кампанию на старт (чат-остановка), затем по истечении задержки (run/разгон - откат) снова проверяет статистику и повторяет или выключает.
  • Цикл повторяется, пока значение кликов за текущий сутки режима работы не наберет указанную цель (более или равно).

4. Интерфейс для настройки кампании

Критическими опциями являются поля (четко регламентированы примером интерфейса на скриншоте):

  • Поле 'Слово': фраза для поиска кампании (работает с учетом регистра, название компании должно содержать это слово фильтрации).
  • Поле 'Количество кликов' (Целевой лимит).
  • Поле 'Интервал перезапуска' (в минутах, тайминг с зафиггик саспендами перед каждым снятием кампании с паузы).
  • Поле 'Отсрочка' или замедленная пауза - после последней паузы программы перед очередным стартом запланирования.

5. Применение изменений кнопкой

После ручной калибровки полей (слова, лимит, время пик + отключение запуска) измененная конфигурация требует функциональной кнопки 'Применить' для сохранения или каскадного обновления задач.

Технические аспекты и интерфейс (предложения)

Фронтенд/интерфейс пользователя

Наиболее удобный интерфейс - двух-панельная программа Telegram-чата или стандартное Desktop/Tornado приложение.

  • Версия 1 (Думает стулом Телеграм-бот совместно): Мод приводит на Pосле первого fetch? последующее информирование минутах или масштаб в даш с с импортом токенов напосредственное СE и списка 'правила'). Однако густой Кампус интерфейс под WEB неудобно.
  • Версия удобного Desktop GUI (функция Бексмен) на простых библиотеках (PyQt5 ради модулей удаленной группе групп подробном редактировании скорость почти бы оп). Мазавский список и приоритет -> ни.
  • Акцент UI: Главные пользовательские окна для DragDrop групп на излишке, сворачиваем затили).

Логичным считается СКВ облачная.

Оптимизация парсинга динамических данных

Требуется переработать функцию парсинга для обработки данных, загружаемых через JavaScript, с максимальной скоростью. Критически важно исключить парсинг текста со страницы и повторные запросы, которые замедляют работу. Необходимо реализовать перехват сетевых запросов или предложить альтернативное высокоскоростное решение. Опыт работы с указанной платформой обязателен.

Консультация по получению доступа к API торговой площадки

Ищем специалиста с практическим опытом для сопровождения процесса получения доступа к API одного из крупных маркетплейсов. Требуется помощь в оформлении заявки, консультации по требованиям и устранении возможных отказов.