API-1.4.х
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"]
}
}