API-1.4.х

From Справочник сервиса Kadam.net
Jump to: navigation, search

Contents

Авторизация в API с помощью Bearer Token

Для авторизации в системе через API с использованием Bearer Token необходимо добавить в ваш запрос заголовок «Authorization» со значением «Bearer X», где «X» — ваш персональный токен. Токен доступен в личном кабинете рекламодателя в разделе «Профиль и настройки». Срок действия токена не ограничен. Токен можно сбросить через метод POST /api/users/token-reset.

Базовый URL:
https://partners.kadam.net/api/v1

Swagger-документация: https://partners.kadam.net/api-doc/#/ru
Общий формат ответа:

{
    "success": true,
    "code": 0,
    "msg": {},
    "data": { ... }
}

При ошибке success = false, поле msg содержит описание ошибки.
Пагинация и сортировка (общие параметры для списков):

  • page — номер страницы, int (от 1)
  • perPage — количество элементов на странице, int (по умолчанию 20 или 50)
  • sort — объект вида {"поле": "asc"|"desc"}, доступные поля указаны для каждого метода

Кампании

Список кампаний

Для получения списка кампаний используется метод POST /campaigns

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный параметр
perPage Количество элементов на странице int; опциональный параметр
sort Сортировка. Допустимые поля: campaign, dateCreation, CPC, conversions, views, clicks, moneyOut, CPA, moneyIn, trafficback, dayMoneyLimit, dayClickLimit, ROI, CPM, CTR, CR, CPL, EPC, profit, rejects, holds объект; опциональный параметр
filters.dateFrom Начало периода статистики, формат YYYY-MM-DD строка; обязательный параметр
filters.dateTo Конец периода статистики, формат YYYY-MM-DD строка; обязательный параметр
filters.timezone Часовой пояс, смещение в часах от UTC int; опциональный параметр
filters.searchQuery Поиск по названию кампании строка; опциональный параметр
filters.folderId ID папки кампаний int; опциональный параметр
filters.campaignId ID кампании int; опциональный параметр
filters.types Массив типов кампаний: 10 — Native, 20 — Banner, 30 — Push, 40 — Popunder, 100 — In-Page Push массив int; опциональный параметр
filters.statuses Массив статусов: 0 — Paused, 10 — Active, 20 — Awaiting payment, 30 — Clicks limit, 40 — Day money limit, 45 — Group limit day money, 50 — Balance exceeded, 55 — Group limit total money, 60 — Conversions limit, 70 — Day money limit (user), 80 — Bid below minimum, 120 — Insufficient funds, 140 — Blocked, 200 — Moderation массив int; опциональный параметр
filters.paymentModels Массив моделей оплаты: 0 — CPC, 2 — CPM, 4 — CPA Target массив int; опциональный параметр
filters.countries Массив ID стран массив int; опциональный параметр
filters.archive Фильтр по архиву: 0 — активные, 1 — архив int; опциональный параметр

Пример запроса:

POST https://partners.kadam.net/api/v1/campaigns
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 50,
    "sort": {"dateCreation": "desc"},
    "filters": {
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "timezone": 0,
        "types": [10, 30],
        "statuses": [10],
        "archive": 0
    }
}

Результат:

{
    "success": true,
    "data": {
        "total": 124,
        "items": [
            {
                "id": 789484,
                "name": "Campaign name",
                "type": 10,
                "status": 10,
                "paymentModel": 0,
                "dateCreation": "2026-03-15 12:00:00",
                "views": 12345,
                "clicks": 678,
                "conversions": 42,
                "moneyOut": 120.50,
                "moneyIn": 0,
                "CPC": 0.18,
                "CPM": 9.76,
                "CTR": 5.49,
                "CPA": 2.87,
                "ROI": 0
            }
        ]
    }
}

Получение кампании по ID

Для получения полных данных кампании используется метод GET /campaigns/{id}
Параметр в пути:

  • id — ID кампании, int; обязательный параметр

Пример запроса:

GET https://partners.kadam.net/api/v1/campaigns/789484
Authorization: Bearer YOUR_TOKEN

Результат возвращает все поля кампании в том же формате, который принимает PUT /campaigns/{id}/update. Удобно для редактирования: считать → изменить нужное поле → отправить обратно.

Создание кампании

Для создания кампании используется метод POST /campaigns/create
Content-Type: application/json Тело запроса зависит от типа кампании (поле type):

  • 10 — Native (тизер)
  • 20 — Banner
  • 30 — Push
  • 40 — Popunder
  • 100 — In-Page Push

Обязательные общие поля:

  • name — название кампании, строка
  • type — тип кампании, int
  • paymentModel — модель оплаты: 0=CPC, 2=CPM, 4=CPA Target
  • bids — объект ставок (структура зависит от типа и модели)
  • countries — массив ID стран
  • sites — настройки площадок (whitelist/blacklist)
  • limits — объект с лимитами (dayMoneyLimit, dayClickLimit и т. д.)
  • targeting — объект таргетингов (браузеры, ОС, устройства, города)

Для получения справочников (страны, категории, push-типы и т. д.), необходимых при создании, используется GET /campaigns/options?type={type}. Полные схемы по каждому формату см. в Swagger: https://partners.kadam.net/api-doc/#/Campaigns/post_campaigns_create

  • Banner — схема CampaignBannerRequest
  • Popunder — схема CampaignPopunderRequest
  • In-Page Push — схема CampaignInPagePushRequest
  • Push — схема CampaignPushRequest
  • Native / Teaser — схема CampaignTeaserRequest

Обновление кампании

Для обновления параметров кампании используется метод PUT /campaigns/{id}/update
⚠ Важно: частичное обновление не поддерживается. В запросе нужно передать все поля (как при создании), иначе будет ошибка валидации. Типовой сценарий: GET /campaigns/{id} → изменить нужное поле → PUT /campaigns/{id}/update с полным телом. Полные схемы по форматам см. в Swagger: https://partners.kadam.net/api-doc/#/Campaigns/put_campaigns__id__update

Обновление ставки кампании

Для изменения ставок у одной кампании используется метод PUT /campaigns/{id}/bid
Content-Type: application/json

Параметры Значение Дополнительные атрибуты
bids Объект ставок. Набор полей зависит от paymentModel и type кампании (CPC/CPM/CPA, гео-ставки и т. д.). Детали в Swagger, схема CampaignBids. объект; обязательный параметр

Пример запроса:

PUT https://partners.kadam.net/api/v1/campaigns/789484/bid
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "bids": {
        "default": 0.05
    }
}

Массовое обновление ставок

Для изменения ставок у нескольких кампаний одновременно используется метод PUT /campaigns/bids

Параметры Значение Дополнительные атрибуты
campaignIds Массив ID кампаний, для которых обновляются ставки массив int; обязательный параметр
bids Объект ставок (схема CampaignBids — см. Swagger) объект; обязательный параметр

Пример запроса:

PUT https://partners.kadam.net/api/v1/campaigns/bids
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "campaignIds": [789484, 789485, 789486],
    "bids": {"default": 0.05}
}

Массовые действия над кампаниями

Для массового изменения статуса используются методы:

  • POST /campaigns/activate — активировать кампании
  • POST /campaigns/pause — поставить на паузу
  • POST /campaigns/archive — перенести в архив
Параметры Значение Дополнительные атрибуты
campaignIds Массив ID кампаний массив int; обязательный параметр

Пример запроса:

POST https://partners.kadam.net/api/v1/campaigns/activate
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{"campaignIds": [789484, 789485]}

Справочники для создания кампаний

Для получения справочников (страны, категории, push-типы, модели оплаты и т. д.) используется метод GET /campaigns/options
Параметры (query):

  • type — тип кампании, int (10, 20, 30, 40, 100); обязательный параметр
  • pushType — подтип push-а (для type=30), int; опциональный параметр

Пример запроса:

GET https://partners.kadam.net/api/v1/campaigns/options?type=30
Authorization: Bearer YOUR_TOKEN

Папки кампаний

Список папок

Для получения списка папок кампаний используется метод POST /campaigns/folders. Тело запроса может быть пустым ({}) либо содержать стандартные поля пагинации/сортировки. Пример запроса:

POST https://partners.kadam.net/api/v1/campaigns/folders
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{}

Создание папки

Для создания папки используется метод POST /campaigns/folders/create

Параметры Значение Дополнительные атрибуты
name Название папки, до 50 символов строка; обязательный параметр

Пример запроса:

POST https://partners.kadam.net/api/v1/campaigns/folders/create
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{"name": "New folder"}

Настройки папки

Для управления лимитами и распределением бюджета папки используется метод PUT /campaigns/folders/{id}/settings
Параметр в пути: id — ID папки, int.

Параметры Значение Дополнительные атрибуты
limitsEnabled Включены ли лимиты в папке bool; обязательный параметр
groupDailyLimit Дневной лимит, минимум 5 число (float); опциональный
groupTotalLimit Общий лимит на группу число (float); опциональный
groupSpendingEvenly Равномерное распределение бюджета bool; опциональный

Пример запроса:

PUT https://partners.kadam.net/api/v1/campaigns/folders/42/settings
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "limitsEnabled": true,
    "groupDailyLimit": 5.05,
    "groupTotalLimit": 10.10,
    "groupSpendingEvenly": false
}

Материалы (объявления / креативы)

Список материалов

Для получения списка материалов используется метод POST /materials

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный
perPage Количество элементов на странице int; опциональный
sort Сортировка. Допустимые поля: stakes, views, clicks, CPC, moneyOut, conversions, CPA, moneyIn, profit, ROI, holds, rejects, CPL объект; опциональный
filters.searchQuery Поиск по материалу строка; опциональный
filters.dateFrom / filters.dateTo Период статистики, формат YYYY-MM-DD строка; обязательные
filters.timezone Часовой пояс, int опциональный
filters.campaignId ID кампании для фильтрации материалов int; опциональный
filters.types Массив типов материалов: 0 — Teaser (Native), 10 — Banner, 20 — Push, 30 — Clickunder (Popunder), 60 — Video, 90 — In-Page Push массив int; опциональный
filters.statuses Массив статусов: 0 — On Moderation, 5 — On Moderation 2, 10 — Active, 20 — Blocked, 30 — Not Paid, 40 — Low CTR, 50 — Blocked by day limit, 60 — Banner Block, 70 — Blocked by offer owner, 80 — Paused, 90 — Video is processing, 120 — Awaiting Payment массив int; опциональный
filters.archive 0 — активные, 1 — архив int; опциональный

Пример запроса:

POST https://partners.kadam.net/api/v1/materials
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 50,
    "sort": {"views": "desc"},
    "filters": {
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "timezone": 0,
        "campaignId": 789484,
        "statuses": [10]
    }
}

Получение материала по ID

Для получения данных материала используется метод GET /materials/{id}
Параметр в пути: id — ID материала, int. Пример запроса:

GET https://partners.kadam.net/api/v1/materials/123456
Authorization: Bearer YOUR_TOKEN

Создание материала

Для создания материала используется метод POST /campaigns/{id}/materials
Параметр в пути: id — ID кампании.
Content-Type: multipart/form-data (т. к. передаются файлы изображений). Тело зависит от типа материала. Общие поля:

  • image — основное изображение, file
  • rectangleImage — иконка/прямоугольная версия, file (для некоторых форматов)
  • title — заголовок, строка
  • text — описание, строка
  • url — ссылка перехода, строка

Полные схемы по форматам см. в Swagger: https://partners.kadam.net/api-doc/#/Materials/post_campaigns__id__materials

  • Banner — схема BannerCreateRequest
  • Push — схема PushCreateRequest
  • Native (Teaser) — схема NativeCreateRequest
  • In-Page Push — схема InPagePushCreateRequest
  • HTML Banner — схема HtmlBannerCreateRequest

Обновление материала

Для обновления материала используется метод PUT /campaigns/{id}/materials
Content-Type: application/json. Полные схемы по форматам см. в Swagger: https://partners.kadam.net/api-doc/#/Materials/put_campaigns__id__materials

  • Banner — BannerUpdateRequest
  • Push — PushUpdateRequest
  • Native — NativeUpdateRequest
  • In-Page Push — InPagePushUpdateRequest
  • HTML Banner — HtmlBannerUpdateRequest

Массовые действия над материалами

Для массового изменения статуса используются методы:

  • POST /materials/activate — активировать
  • POST /materials/pause — поставить на паузу
  • POST /materials/archive — перенести в архив
Параметры Значение Дополнительные атрибуты
adsIds Массив ID материалов массив int; обязательный параметр

Пример запроса:

POST https://partners.kadam.net/api/v1/materials/activate
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{"adsIds": [100, 200, 300]}

Справочник размеров баннеров

Для получения словаря размеров при создании баннеров используется метод GET /materials/options. Пример запроса:

GET https://partners.kadam.net/api/v1/materials/options
Authorization: Bearer YOUR_TOKEN

Аудитории

Список аудиторий

Для получения списка аудиторий используется метод POST /audiences

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный
perPage Количество элементов на странице (по умолчанию 20) int; опциональный
sort Сортировка. Допустимые поля: audienceId, audienceName, dateCreated, expireDays, usersCount объект; опциональный
filters.searchQuery Поиск по названию аудитории строка; опциональный
tableFilters Массив расширенных фильтров: [{"column": "audienceId", "include": [...], "exclude": [...], "childField": "listID"}] массив объектов; опциональный

Пример запроса:

POST https://partners.kadam.net/api/v1/audiences
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 20,
    "sort": {"usersCount": "desc"},
    "filters": {"searchQuery": "my audience"}
}

Справочник для создания аудиторий

Для получения списка кампаний и аудиторий для S2S-связки используется метод GET /audiences/create-options. Параметры (query):

  • searchQuery — строка поиска, опциональный

Получение аудитории по ID

Для получения данных аудитории используется метод GET /audiences/{audiencesId}
Параметр в пути: audiencesId — ID аудитории, int.
Формат ответа зависит от типа аудитории (stat / pixel / S2S).

Создание аудитории

Для создания аудитории используется метод POST /audiences/create
Content-Type: application/json Тип задаётся полем type:

  • audience — стандартная статистическая аудитория (требует campaignsIds)
  • audience_code — pixel-аудитория (возвращает код трекинга)
  • audience_s2s — S2S-аудитория (Postback-интеграция)

Пример (стандартная аудитория):

POST https://partners.kadam.net/api/v1/audiences/create
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "type": "audience",
    "name": "My audience",
    "expireDays": 1,
    "campaignsIds": [789484, 789485],
    "hasClicks": true,
    "hasConversions": false,
    "hasHolds": false,
    "hasRejects": false,
    "usersIds": null
}

Хотя бы одно из полей hasClicks / hasConversions / hasHolds / hasRejects должно быть true.
usersIds — массив ID пользователей для шаринга аудитории. Пример (pixel-аудитория):

POST https://partners.kadam.net/api/v1/audiences/create
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "type": "audience_code",
    "name": "My code audience",
    "expireDays": 1,
    "extAudienceId": 123,
    "usersIds": null
}

Полные схемы (AudienceStandardRequest, AudienceCodeRequest, AudienceS2SRequest) — в Swagger: https://partners.kadam.net/api-doc/#/Audiences/post_audiences_create

Обновление аудитории

Для обновления аудитории используется метод PUT /audiences/{id}
Параметр в пути: id — ID аудитории, int.
Тело запроса аналогично созданию (без поля type; тип меняется только пересозданием). Детали в Swagger.

Удаление аудитории

Для удаления аудитории используется метод DELETE /audiences/{id}
Параметр в пути: id — ID аудитории, int. Пример запроса:

DELETE https://partners.kadam.net/api/v1/audiences/123
Authorization: Bearer YOUR_TOKEN

Конструктор отчётов

Список сохранённых отчётов

Для получения списка сохранённых отчётов используется метод POST /custom-reports
Тело запроса может быть пустым ({}).

Получение данных отчёта

Для получения данных отчёта используется метод POST /custom-reports/data — основной метод для построения статистики.

Параметры Значение Дополнительные атрибуты
groups Массив группировок (см. ниже) массив строк; обязательный
metrics Массив метрик (см. ниже) массив строк; обязательный
filters.dateFrom / filters.dateTo Период, формат YYYY-MM-DD. Можно заменить на filters.period: today, yesterday, 7days, 14days, month, prevMonth строка; обязательный
filters.timezone Часовой пояс (смещение от UTC) int; опциональный
filters.filters Массив объектов: [{"id": "advertiser_campaign", "type": "list", "include": [id1, id2]}, ...]. Типы фильтров: list, range, value, value_like, value_combined массив объектов; опциональный
sort Сортировка: {"time_day": "desc"} объект; опциональный
compare Период сравнения (если используется) массив; опциональный
id / name Сохранить отчёт в список под указанным именем int / строка; опциональные

Группировки (groups):

  • Время: time_hour, time_day, time_week, time_month
  • Трафик: traffic_format, traffic_pushType, traffic_region, traffic_browser, traffic_platform, traffic_platformVersion, traffic_device, traffic_deviceType, traffic_subsAge, traffic_pageCategory, traffic_macros, traffic_isp, traffic_city, traffic_subdivision, traffic_blockSize, traffic_clickability, traffic_browserLanguage, traffic_connectionType
  • Рекламодатель: advertiser_paymentModel, advertiser_campaign, advertiser_campaignName, advertiser_ad, advertiser_campaignStatus, advertiser_adStatus, advertiser_campaignGroup, advertiser_dailyBudget, advertiser_totalBudget, advertiser_groupDailyBudget, advertiser_groupTotalBudget
  • Креативы: adv_image, adv_title, adv_text, adv_url

Метрики (metrics):

  • Трафик: traffic_visits, traffic_views, traffic_clicks, traffic_trafficback
  • Конверсии: conversion_conversions, conversion_rejects, conversion_holds, conversion_cr, conversion_pvConversions, conversion_pvConversionsCPA, conversion_pcConversions, conversion_pcConversionsCPA
  • Рекламодатель: advertiser_cpm, advertiser_cpc, advertiser_ctr, advertiser_cpa, advertiser_income, advertiser_ROI, advertiser_cpl, advertiser_epl, advertiser_epc
  • Финансы: finance_moneyOut (потрачено)

Пример запроса:

POST https://partners.kadam.net/api/v1/custom-reports/data
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "groups": ["time_day"],
    "metrics": ["finance_moneyOut", "conversion_conversions", "conversion_holds"],
    "filters": {
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "timezone": 0,
        "filters": [
            {"id": "advertiser_campaign", "type": "list", "include": [789484]},
            {"id": "conversion_conversions", "type": "range", "range": {"from": "100", "to": null}}
        ]
    },
    "sort": {"time_day": "desc"},
    "compare": null
}

Примечание: отчёт возвращает только агрегированные данные. Максимальная гранулярность — по часу (time_hour). Сырые посещения/просмотры по remoteUserId — только через POST /stats/conversions (для конверсий).

Справочник значений фильтра

Для получения допустимых значений для конкретного фильтра используется метод POST /custom-reports/filter-data

Параметры Значение Дополнительные атрибуты
id Идентификатор фильтра (из OPTIONS /api/v1/custom-reports) строка; обязательный параметр
searchQuery Строка поиска строка; опциональный

Список всех группировок, метрик и фильтров

Для получения полного списка доступных группировок, метрик и фильтров используется OPTIONS /custom-reports.

Статистика

Статистика по конверсиям (сырые события)

Для получения сырых данных по конверсиям (одна строка = одна конверсия) используется метод POST /stats/conversions.
Это единственный метод, возвращающий событийные данные с remoteUserId. ⚠ Эндпоинт называется /stats/conversions, НЕ /stats/postback — не путать.

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный
perPage Количество элементов на странице (до 1 000 000 для bulk-экспорта) int; опциональный
sort Сортировка. Допустимые поля: conversionType, campaign, campaignFolder, adId, conversionTime, auctionTime, conversionDelay, remoteUserId, audience, cpaCost, macrosId объект; опциональный
filters.dateFrom / dateTo Период (до 5 лет), формат YYYY-MM-DD строка; обязательные
filters.timezone Часовой пояс int; опциональный
filters.conversionTypes Массив типов конверсий: 1 — Approve (postback OK), 2 — Postback error, 3 — Test, 4 — Reject, 5 — Hold, 6 — PV (post-view), 7 — PC (post-click) массив int; опциональный
filters.campaignIds Массив ID кампаний массив int; опциональный
filters.adsIds Массив ID материалов массив int; опциональный
filters.folderIds Массив ID папок массив int; опциональный
filters.audIds Массив ID аудиторий массив int; опциональный

Пример запроса:

POST https://partners.kadam.net/api/v1/stats/conversions
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 100,
    "sort": {"conversionTime": "desc"},
    "filters": {
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "timezone": 0,
        "conversionTypes": [1, 6, 7],
        "campaignIds": [789484]
    }
}

Поля ответа по строке конверсии:
conversionType, campaign (name + ID), campaignFolder, adId, conversionTime, auctionTime, conversionDelay, remoteUserId, audience, cpaCost, macrosId, clickId, url, status, callbackUri.

Статистика по площадкам

Для получения агрегированной статистики по площадкам (macrosID, PID) используется метод POST /stats/sites.

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный
perPage Количество элементов на странице (максимум 500 за запрос) int; опциональный
filters.sort Сортировка. Допустимые поля: macrosId, isInBlackList, views, clicks, holds, conversions, rejects, CTR, CPM, CPC, spending, income, earnings, ROI, CPA, bid объект; опциональный
filters.searchQuery Поиск по ID площадки строка; опциональный
filters.dateFrom / dateTo Период, формат YYYY-MM-DD строка; обязательные
filters.timezone Часовой пояс int; опциональный
filters.campaignIds Массив ID кампаний массив int; опциональный
filters.adIds Массив ID материалов массив int; опциональный
filters.view Представление: null — все, "blacklist" — только ЧС, "bids" — только с индивидуальными ставками строка; опциональный

Пример запроса:

POST https://partners.kadam.net/api/v1/stats/sites
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 50,
    "filters": {
        "sort": {"views": "desc"},
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "timezone": 0,
        "campaignIds": [789484],
        "view": null
    }
}

Массовое обновление ставок по площадкам

Для массового изменения ставок по площадкам используется метод PUT /stats/sites/bids

Параметры Значение Дополнительные атрибуты
campaignIds Массив ID кампаний массив int; обязательный
bids Массив объектов со ставками по площадкам: [{"placementId": 123, "bid": 0.05}, ...] (детали схемы — в Swagger) массив; обязательный

Финансы

Список финансовых операций

Для получения списка финансовых операций используется метод POST /finances/operations

Параметры Значение Дополнительные атрибуты
page Номер страницы int; опциональный
perPage Количество элементов на странице int; опциональный
sort Сортировка. Допустимые поля: date, money объект; опциональный
filters.dateFrom / dateTo Период, формат YYYY-MM-DD строка; обязательные
filters.type Тип операции: 1 — Impression operations (списание за показы), 2 — Deposit (пополнение), 3 — Admin deposit, 4 — Withdrawal, 5 — Admin withdrawal int; опциональный

Пример запроса:

POST https://partners.kadam.net/api/v1/finances/operations
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
{
    "page": 1,
    "perPage": 20,
    "sort": {"date": "desc"},
    "filters": {
        "dateFrom": "2026-03-01",
        "dateTo": "2026-03-31",
        "type": 2
    }
}

Общие правила

Сортировка

Сортировка задаётся объектом {"поле": "asc"|"desc"}. Допустимые поля указаны в описании каждого метода. Пример:

"sort": {"views": "desc"}

По нескольким полям:

"sort": {"views": "desc", "clicks": "asc"}

Фильтрация (конструктор отчётов)

В POST /custom-reports/data фильтры описываются массивом объектов в filters.filters:

  • list — фильтр по списку: {"id": "advertiser_campaign", "type": "list", "include": [id1, id2], "exclude": []}
  • range — диапазон значений: {"id": "conversion_conversions", "type": "range", "range": {"from": "100", "to": null}}
  • value — точное значение
  • value_like — подстрока
  • value_combined — комбинированный

Ошибки

При ошибке ответ содержит "success": false и описание в msg:

{
    "success": false,
    "code": 400,
    "msg": {
        "field": ["Error description"]
    }
}