Получаем баланс кабинета через Яндекс.Директ API
В этом гайде мы напишем функцию которая будет возвращать текущий баланс личного кабинета Яндекс.Директ. Надеюсь, что вы уже зарегистрировали своё первое приложение и активировали API-токен, если нет, то посмотрите наш гайд по подаче заявки на доступ к API.
По-началу достаточно сложно понять какую версию API нужно использовать, чтобы получить текущий баланс аккаунта. На момент написания статьи:
- API v.5 — актуальная версия
- API v.4 (Live) — устарела, но часть методов всё еще работает, тут полный список рабочих методов 4 версии.
- API v.1-3 — отключены
Метод AccountManagement (Live)
Данный метод живёт в 4 версии API Яндекс.Директ и позволяет получить/управлять общим счетом рекламодателя/агентства. Данный метод содержит 5 основных операций:
- Deposit — загонит вас в кредит
- Invoice — сгенерирует счет в html
- TransferMoney — переводит средства между общими счетами
- Get — то что нам нужно, отдаст всю связанную с общим счетом информацию.
- Update — изменяем параметры общего счета, например, дневной бюджет.
Операция Get: Получаем баланс общего счета Яндекс.Директ
Как всегда, получать данные мы будем запросом в скрипте Python, который я приведу ниже. Чтобы получить текущий баланс общего счета, нам необходимо:
- Отправить POST-запрос с JSON-объектом, содержащим необходимые данные, на https://api.direct.yandex.ru/live/v4/json/
Python скрипт для получения текущего баланса кабинета:
def get_balance(login, token): # адрес для отправки json-запросов url = 'https://api.direct.yandex.ru/live/v4/json/' # структура входных данных (словарь) data = { "method": "AccountManagement", "param": { "Action": "Get", "Logins": [login], }, "token": token } # выполнить запрос response = requests.post(url, json=data) response_json = response.json()['data']['Accounts'][0] # вывести результат print(f'Логин: {response_json["Login"]}', f'Баланс: {response_json["Amount"]} руб.', sep="\n") # вызываем функцию get_balance и передаем в неё наши данные get_balance('ЛОГИН', 'ТОКЕН')
В результате, в консоли вашего скрипта вы увидите:
Если вы испытываете трудности с получением баланса или скрипт выше не работает, напишите мне в личку, контакты в шапке.
Источники:
Документация по AccountManagement версии Live 4: https://yandex.ru/dev/direct/doc/dg-v4/live/AccountManagement.html
Документация по операции Get, для получения баланса общего счета: https://yandex.ru/dev/direct/doc/dg-v4/live/AccountManagement_Get.html