Skip to content

Консольное приложение для управления рекламными кампаниями в сервисе Яндекс.Директ.

License

Notifications You must be signed in to change notification settings

sander-raven/yandex-direct-campaign-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yandex Direct Campaign Manager

Консольное приложение для управления рекламными кампаниями в сервисе Яндекс.Директ. Работает с API Директа. Доступен следующий функционал:

  • Получение списка кампаний пользователя с сохранением в файл
  • Остановка всех кампаний
  • Запуск всех кампаний

Используемые технологии

  • Язык программирования: Python
  • Сторонние библиотеки: python-dotenv, requests

Предварительные действия

Создайте и активируйте виртуальное окружение в главной директории проекта yandex-direct-campaign-manager:

$ python3.10 -m venv .venv
$ source .venv/bin/activate
(.venv) $

Установите зависимости из requirements.txt:

(.venv) $ pip install -r requirements.txt

Создайте файл .env (либо переименуйте .env_sample). Заполните значения переменных окружения (замените <client_id> на реальное значение):

OAUTH_TOKEN_URL=https://oauth.yandex.ru/authorize?response_type=token&client_id=<cliend_id>
API_SANDBOX_MODE=0
API_CAMPAIGNS_URL=https://api.direct.yandex.com/json/v5/campaigns
API_SANDBOX_CAMPAIGNS_URL=https://api-sandbox.direct.yandex.com/json/v5/campaigns

Использование

Токен авторизации пользователя

Для успешной работы с API необходим токен авторизации для каждого конкретного пользователя. Если при запуске не будет найдена переменная окружения ACCESS_TOKEN_<ИМЯ_ПОЛЬЗОВАТЕЛЯ>, то будет выведена ссылка, по которой нужно будет перейти для получения токена. Полученный токен нужно будет сохранить в переменной окружения ACCESS_TOKEN_<ИМЯ_ПОЛЬЗОВАТЕЛЯ> (или добавить данную переменную в файл env). <ИМЯ_ПОЛЬЗОВАТЕЛЯ> не обязательно должно соответствовать имени пользователя Яндекс.Директ -- на работу с API оно не влияет, это исключительно вопрос удобства понимания для пользователя программы.

Получение списка кампаний

(.venv) $ python3.10 -m yadicm <имя_пользователя> -g

Список ID кампаний сохраняется в файл с именем <имя_пользователя>_campaigns_list.txt в поддиректории files.

Остановка всех кампаний

(.venv) $ python3.10 -m yadicm <имя_пользователя> -s

Список ID кампаний для остановки берётся из файла с именем <имя_пользователя>_campaigns_list.txt в поддиректории files.

Запуск всех кампаний

(.venv) $ python3.10 -m yadicm <имя_пользователя> -r

Список ID кампаний для запуска берётся из файла с именем <имя_пользователя>_campaigns_list.txt в поддиректории files.

Логирование

Все запуски программы логируются. Файлы логов сохраняются в поддиректорию logs и имеют вид yadicm_<ГГГГ>_<ММ>.log.

Автор

Александр Аравин - sander-raven. Email: sander-raven@yandex.ru.

Лицензия

Проект находится под лицензией MIT. Подробнее: смотри файл LICENSE.

About

Консольное приложение для управления рекламными кампаниями в сервисе Яндекс.Директ.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages