Yandex Direct

Общее

Этот engine предоставляет доступ к справочникам Яндект Директа (ЯД). Для отчетов существует отдельный engine apiproxy так как и у ЯД это отдельная служба.

Дока Директа

payload

  • access_token - токен ЯД
  • version - версия апи ЯД. Новое пишется с v5
  • account_name - название аккаунта клиента ЯД. В некоторых методах, это необязательное поле. Например Clients.get
  • service - серсис апи. Например Clients
  • method - метод апи. Например get
  • method_params - параметры метода апи

Примеры

Пример 1

Получить список клиентов

import requests
import json
access_token = "YOUR_TOKEN"

ret = requests.post("${HOST}/native_call", json.dumps({
    "engine": "yandex_direct",
    "payload": {
        "access_token": access_token,
        "version": "v5",
        "account_name": None,
        "service": "Clients",
        "method": "get",
        "method_params": {
            "FieldNames": [
                "AccountQuality", "Archived", "ClientId", "ClientInfo", "CountryId", "CreatedAt", "Currency",
                "Grants", "Login", "Notification", "OverdraftSumAvailable", "Phone", "Representatives", "Restrictions", "Settings", "Type", "VatRate"
            ]
        }
    }
}))
print(u"ret = %s" % str(ret.text))

Пример 2

Получить рекламные кампании клиента

import requests
import json
access_token = "YOUR_TOKEN"

ret = requests.post("${HOST}/native_call", json.dumps({
    "engine": "yandex_direct",
    "payload": {
        "access_token": access_token,
        "version": "v5",
        "account_name": "MY_CLIENT",
        "service": "Campaigns",
        "method": "get",
        "method_params": {
            "SelectionCriteria": {
                "Types": ["TEXT_CAMPAIGN", "MOBILE_APP_CAMPAIGN", "DYNAMIC_TEXT_CAMPAIGN"]
            },
            "FieldNames": [
                "BlockedIps", "ExcludedSites", "Currency", "DailyBudget", "Notification", "EndDate", "Funds", "ClientInfo", "Id", "Name", "NegativeKeywords", "RepresentedBy",
                "StartDate", "Statistics", "State", "Status", "StatusPayment", "StatusClarification", "SourceId", "TimeTargeting", "TimeZone", "Type"
            ]
        }
    }
}))
print(u"ret = %s" % str(ret.text))