Привет. В этой статье мы разберем способы получения остатка бюджета на рекламном аккаунте «Яндекс.Директа». Во время проведения рекламных кампаний важно, чтобы аккаунт не простаивал, поэтому для рекламных агентств контроль остатков — одна из важнейших задач.
Для чего это нужно?
Обычно рекламные агентства выстраивают систему контроля остатка средств на аккаунтах клиентов таким образом, чтобы видеть статистику по всем клиентам в рамках одного отчета в 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 запрашиваемые данными:
Метод построения запросов к 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 дней.
Документация по OAuth-авторизации. Необходима для получения токена, который используется в запросе к API.
Если у вас остались вопросы — пишите в комментарии. Мы с удовольствием на них ответим!