Получаем баланс кабинета через Яндекс.Директ API

Получаем баланс общего счета Яндекс.Директ API

В этом гайде мы напишем функцию которая будет возвращать текущий баланс личного кабинета Яндекс.Директ. Надеюсь, что вы уже зарегистрировали своё первое приложение и активировали API-токен, если нет, то посмотрите наш гайд по подаче заявки на доступ к API.

По-началу достаточно сложно понять какую версию API нужно использовать, чтобы получить текущий баланс аккаунта. На момент написания статьи:

Метод AccountManagement (Live)

Данный метод живёт в 4 версии API Яндекс.Директ и позволяет получить/управлять общим счетом рекламодателя/агентства. Данный метод содержит 5 основных операций:

  • Deposit — загонит вас в кредит
  • Invoice — сгенерирует счет в html
  • TransferMoney — переводит средства между общими счетами
  • Get — то что нам нужно, отдаст всю связанную с общим счетом информацию.
  • Update — изменяем параметры общего счета, например, дневной бюджет.

Операция Get: Получаем баланс общего счета Яндекс.Директ

Как всегда, получать данные мы будем запросом в скрипте Python, который я приведу ниже. Чтобы получить текущий баланс общего счета, нам необходимо:

  1. Отправить 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('ЛОГИН', 'ТОКЕН')

В результате, в консоли вашего скрипта вы увидите:

баланс общего счета в яндекс директ через api

Если вы испытываете трудности с получением баланса или скрипт выше не работает, напишите мне в личку, контакты в шапке.

 


Источники:

Документация по 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

 

Leave a Comment