API агрегированых медийных данных
Шаг 1. Авторизация
Для взаимодействия с API системы используется метод авторизации через токен типа Bearer. Чтобы авторизовать запрос, нужно включить в заголовок Authorization токен в следующем формате: Bearer <авторизационный токен>.
Чтобы получить авторизационный токен, выполните следующие шаги:
  1. Войдите в личный кабинет на сайте.
  2. Перейдите в раздел "Настройки".
  3. Найдите вкладку "API", где и сможете сгенерировать новый токен для авторизации.
Шаг 2. Запрос
Для получения данных о пути конверсии пожалуйста выполните следующие шаги:
  1. Отправьте POST запрос на следующий URL: http://api.targetads.io/v1/reports/agg_report?project_id=<ваш id проекта>
  2. Убедитесь, что вы заменили <ваш id проекта> на реальный идентификатор вашего проекта в системе.
  3. В теле запроса (BODY) передайте информацию в формате JSON, следуя указанной структуре данных.
{
    "ResponseType": String,
    "DateGrouping": String,
    "AttributionModel": String,
    "AttributionWindow": String,
    "Fields": [String],
    "MediaMetrics": [String],
    "TargetMetrics": [String],
    "TargetFilter": {
        "DateFrom": String,
        "DateTo": String,
        "EventType": [String],
        "EventName": [String],
        "EventCategory": [String]
    },
    "InteractionFilter": {
        "DateFrom": String,
        "DateTo": String,
        "MediaCampaignId": [Int],
        "MediaPlacementId": [Int]
    },
    "Limit": Int,
    "Offset": Int
}
Offset — при первом запросе данный параметр должен иметь значение 0. Для последующих запросов необходимо увеличивать значение Offset на количество строк, полученных в результате предыдущего запроса. Этот процесс повторяется до тех пор, пока в ответе сервера не будет возвращено 0 строк, что указывает на то, что вы загрузили все доступные данные.
Так как ответ может быть чрезвычайно большим из-за timeout или обрывов соединения, то кол-во строк в ответе может быть меньше чем лимит, поэтому offset необходимо инкрементировать на значение полученных строк.
Параметры поля Fields:
Параметры поля MediaMetrics и TargetMetrics:
Описание моделей атрибуции


Описание объекта Interaction Filter
Объект позволяет отфильтровать события взаимодействия, которые нужно получить в ответе

Параметры DateFrom и DateTo обязательны к передаче
Описание объекта TargetFilter
Объект позволяет отфильтровать целевые события

Фильтры применяются по условию "И"
Пример запроса
{
    "ResponseType": "JSON",
    "DateGrouping": "month",
    "AttributionModel": "mli",
    "AttributionWindow": "30",
    "Fields": ["EventDate", 
         "MediaCampaign"],
    "MediaMetrics": ["Impressions"],
    "TargetMetrics": [ "TargetEventCount"],
    "TargetFilter": {
        "DateFrom": "2024-12-01",
        "DateTo": "2024-12-31"
    },
    "InteractionFilter": {
        "DateFrom": "2024-12-01",
        "DateTo": "2024-12-31",
        "MediaCampaignId": [777],
        "MediaPlacementId": [888]
    },
    "Limit": 1000
}
Важно: ответ может быть большим и достигать сотен мегабайт в рамках установленного лимита. Используйте для запроса только те поля, которые вам действительно необходимы.
Ответы
В случае успешного ответа отправляется код ответа 200 и JSON следующего вида:


В случае возникновения ошибки в ответе могут быть представлены следующие коды:

  • 400 код означает, что была допущена ошибка в параметрах запроса.
  • 429 код указывает на превышение лимита числа запросов.
  • 500 код свидетельствует о наличии внутренней серверной ошибки.
У API установлены лимиты на ID проекта: 20 запросов за 60 секунд. Это ограничение связано с возможным большим объемом данных, передаваемым в ответе.

В ответе также передаются заголовки вязанные с лимитами: