Запрос остатка на балансе API Яндекс.Директа
Привет. В этой статье мы разберем способы получения остатка бюджета на рекламном аккаунте «Яндекс.Директа». Во время проведения рекламных кампаний важно, чтобы аккаунт не простаивал, поэтому для рекламных агентств контроль остатков — одна из важнейших задач.
Для чего это нужно?
Обычно рекламные агентства выстраивают систему контроля остатка средств на аккаунтах клиентов таким образом, чтобы видеть статистику по всем клиентам в рамках одного отчета в Power BI или другой системе визуализации данных. Это удобно, так как помогает контролировать сразу все текущие рекламные активности по всем проектам. Рассмотрим два способа получения данных об остатках средств:
- Коннектор к данным «Яндекс.Директа» от сервиса Renta
- Метод построения запросов напрямую к API «Яндекс.Директа»
Простой коннектор к API «Яндекс.Директа»
Сервис по сбору маркетинговых данных Renta поддерживает автоматическое получение значение остатка в рекламном аккаунте, в том числе и агентском. Остатки можно проверять с интервалом от одной минуты и выгружать результаты в хранилище данных, например в Google BigQuery. Для этого создайте интеграцию со следующими настройками:
- Тип интеграции: Yandex.Direct
- Report Type: Account Balance Report
- После чего укажите необходимые параметры.
Например: login, accountId, amount и currency: Где:
- login — логин рекламного кабинета,
- accountId — идентификатор рекламного кабинета,
- amount — остаток на балансе,
- Currency — валюта аккаунта
В результате в Google BigQuery создается таблица c запрашиваемые данными: Данные из Google BigQuery подтягиваются в Power BI, Tableau или любую другую BI-систему. Вместо Google BigQuery можно использовать и другие хранилища данных: ClickHouse, SQL Server и Amazon Redshift. Стоимость коннектора к API «Яндекс.Директа» от сервиса по сбору маркетинговых данных Renta — 39$/mo.
Метод построения запросов к API
Разберем пример запроса, который необходимо отправить к API «Яндекс.Директа» для получения остатка на рекламном счету.
- Метод API: AccountManagement
- Формат запроса: json
https://api.direct.yandex.ru/live/v4/json/ { "method": "AccountManagement", "token": "your_token", "param": { "Action": "Get", "SelectionCriteria": { "Logins": [], "AccountIDS": [17112490] } } }
Пример запроса выше используется для обычных аккаунтов. Если у вас агентский аккаунт, тогда:
- Logins — должен содержать логин агентского аккаунта
- AccountIDs — может оставаться пустым.
В этом случае, вы получите данные по всем рекламодателям в вашем агентском аккаунте. Если задать определенные идентификаторы, тогда данные вы получите только по ним. То есть, AccountIds выполняет задачу фильтрации. Если выполнить запрос выше, то в результате API Директа вернет ответ:
{ "data": { "Accounts": [ { "AmountAvailableForTransfer": "869.47", "SmsNotification": { "SmsTimeTo": "23:00", "SmsTimeFrom": "08:00", "PausedByDayBudgetSms": "Yes", "MoneyInSms": "Yes", "MoneyOutSms": "Yes" }, "Amount": "1085.7", "EmailNotification": { "Email": "yadirect@renta.im", "MoneyWarningValue": 20, "PausedByDayBudget": "Yes", "SendWarn": null }, "Currency": "EUR", "Login": "renta", "Discount": 0, "AgencyName": null, "AccountID": 17112490 } ], "ActionsResult": [] } }
В итоге остается только распарсить ответ и положить результаты в нужное хранилище данных. Несколько полезных ссылок:
- Регистрация в Ренте для создание интеграции, процесс настройки займет не более 5 минут. Действует триальный период 7 дней.
- R-библиотека для работы с API Директа от Алексея Селезнева, в ней также реализован способ получения остатка на рекламном аккаунте.
- Документация по OAuth-авторизации. Необходима для получения токена, который используется в запросе к API.
Если у вас остались вопросы — пишите в комментарии. Мы с удовольствием на них ответим!
Ask your question