Adset.ProAdset.ProKnowledge base
Home/Публічне HTTP API/CPA-шаблони

CPA-шаблони

CPA-шаблон — запис глобального каталогу популярних партнерських мереж з уже заповненими маппінгом статусів, макросами постбека, шаблоном параметрів посилання та адресою реєстрації. У кабінеті шаблон вибирається при створенні партнерської мережі, щоб не налаштовувати постбеки вручну. Через API шаблони доступні тільки для читання: отримайте потрібний шаблон і використовуйте його поля в POST /api/cpa.

Отримання токена, загальний формат відповідей, параметри списків і помилки — в головній статті розділу.

Скоупи

Скоуп Доступ В дефолті PAT
api:cpa читання шаблонів (той же скоуп, що для читання CPA-мереж) так

Окремого write-скоупа немає: створення і редагування шаблонів — адміністративна операція, в публічний API не входить.

Ендпойнти

Метод Шлях Скоуп RBAC-право
GET /api/cpa-templates api:cpa cpaTemplate:list
GET /api/cpa-templates/{id} api:cpa cpaTemplate:read

Права є у всіх ролей. Каталог загальний для всієї платформи — у шаблонів немає власника і команди.

Параметри списку GET /api/cpa-templates

Поля
Фільтри filter[...] name, isActive, created, updated
Сортування sort name, isActive, created, updated
Populate немає (у шаблона немає посилань)
# знайти шаблон за частиною назви
curl -G 'https://adset.pro/api/cpa-templates' \
  -H 'Authorization: Bearer pat_…' \
  --data-urlencode 'filter[name][contains]=1win' \
  --data-urlencode 'filter[isActive]=true'

Об'єкт шаблона

Поле Тип Опис
id string ObjectId
name string назва партнерської мережі, до 200 символів
description string опис, до 2000 символів
registrationUrl string посилання на реєстрацію в партнерці
paramTemplate string шаблон GET-параметрів для посилань потоків
statuses об'єкт маппінг статусів партнерки на події трекера: hold, accept, redep, decline, trash
postbackMacros об'єкт імена параметрів постбека: clickId, status, revenue, currency, externalId
isActive boolean чи активний шаблон у каталозі
acceptDuplicates boolean рекомендоване значення для мережі
acceptDuplicatesFor string[] рекомендований список подій, для яких приймаються дублі
created, updated date тільки читання

Суть полів statuses і postbackMacros детально розібрана в статті Партнерські мережі (CPA).

Приклад відповіді GET /api/cpa-templates/{id}:

{
  "data": {
    "id": "66f1a2b3c4d5e6f7a8b9c0d1",
    "name": "1win Partners",
    "description": "Гемблінг / ставки, виплати за FTD і редепозити",
    "registrationUrl": "https://1winpartners.example/signup",
    "paramTemplate": "sub1={click_id}&sub2={campaign_id}&sub3={source_id}",
    "statuses": { "accept": "first_deposit", "redep": "deposit", "hold": "registration", "decline": "decline", "trash": "trash" },
    "postbackMacros": { "clickId": "sub1", "status": "status", "revenue": "amount", "currency": "USD", "externalId": "player_id" },
    "isActive": true,
    "acceptDuplicates": true,
    "acceptDuplicatesFor": ["CPA_REDEP"],
    "created": "2026-01-15T09:00:00.000Z",
    "updated": "2026-09-01T12:30:00.000Z"
  },
  "traceId": "01HX…"
}

Рецепт: створити CPA-мережу з шаблона

  1. Знайдіть шаблон: GET /api/cpa-templates?filter[name][contains]=….
  2. Створіть мережу, перенісши поля шаблона (потрібен скоуп api:cpa:write):
curl -X POST 'https://adset.pro/api/cpa' \
  -H 'Authorization: Bearer pat_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "1win Partners",
    "shortName": "1win",
    "currency": "USD",
    "paramTemplate": "sub1={click_id}&sub2={campaign_id}&sub3={source_id}",
    "statuses": { "accept": "first_deposit", "redep": "deposit", "hold": "registration", "decline": "decline", "trash": "trash" },
    "postbackMacros": { "clickId": "sub1", "status": "status", "revenue": "amount", "currency": "USD", "externalId": "player_id" },
    "acceptDuplicates": true,
    "acceptDuplicatesFor": ["CPA_REDEP"]
  }'

Поля name, currency і shortName задайте свої — шаблон їх не визначає (валюту виплат уточнюйте в кабінеті партнерки).

Помилки

HTTP Коли
403 forbidden + Insufficient OAuth scope. Required: api:cpa у токена немає скоупа api:cpa
404 notFound шаблона з таким id немає

Пов'язані статті