Разделы документации

Admin API: партнёрские сети

Методы Admin API для партнёрских сетей: каталог шаблонов, список, создание, изменение и удаление сети.

Методы этой страницы работают с тем же списком, что раздел Сети в панели: отдают каталог шаблонов, создают, меняют и удаляют партнёрские сети. Всем методам нужен токен с доступом Полный доступ (full). Авторизация описана на странице Admin API: обзор и авторизация, формат запросов и общие коды ошибок — на странице Формат запросов, ответов и ошибок.

Объект сети

Список, создание и изменение возвращают сеть в одном виде.

ПолеТипОписание
idстрока, UUIDИдентификатор сети. Его же указывают в оффере в поле network_id
nameстрокаНазвание. Подставляется в макрос {affiliate_network_name}
postback_templateстрока или nullПараметры постбека. Начинаются с ? или &. Если null или пустая строка, адрес постбека сети совпадает с общим
template_idстрокаИдентификатор шаблона из каталога. У сети, созданной без шаблона, — пустая строка
template_versionцелое числоВерсия шаблона, с которой создана сеть. У сети, созданной без шаблона, — 0
offer_paramстрокаПараметры для ссылки оффера, например sub1={subid}. Если не заданы — пустая строка

От первого знака postback_template зависит адрес постбека сети: строка с ? заменяет стандартные параметры, строка с & дописывается к ним. Правила и примеры — в разделе Как собирается URL постбека. Готовый адрес методы не возвращают: он показан в разделе Сети, в колонке URL постбэка.

В теле ответа знак & внутри строк записан как &. Это допустимая запись JSON: после разбора получится &. В запросах пишите & как есть.

Каталог шаблонов

Получить каталог шаблонов сетей

http
GET /api/v1/affiliate-network-templates

Возвращает каталог шаблонов партнёрских сетей — 333 записи. Параметров нет.

Ответ — код 200 и объект:

ПолеТипОписание
versionцелое числоВерсия каталога
itemsмассивШаблоны
items[].idстрокаИдентификатор шаблона. Передаётся в template_id при создании сети
items[].nameстрокаНазвание сети
items[].versionцелое числоВерсия шаблона. Передаётся в template_version
items[].postback_templateстрокаПараметры постбека
items[].offer_paramстрокаПараметры для ссылки оффера
items[].noteстрокаПримечание, например Замените REPLACE перед подключением. Может быть пустым

Состав каталога и примечания разобраны на странице Каталог шаблонов источников и сетей.

Список сетей

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

http
GET /api/v1/affiliate-networks

Возвращает все сети команды. Параметров нет, постраничной выдачи нет. Порядок — по дате создания, новые первыми.

Ответ — код 200 и массив объектов сети. Если сетей нет — [].

Метода для чтения одной сети нет: найдите её в списке по id.

Создание сети

Создать сеть

http
POST /api/v1/affiliate-networks

Создаёт сеть из шаблона каталога или со своими параметрами постбека.

ПолеТипОбязательностьОписание
nameстрокадаНазвание, до 200 байт: это 200 латинских символов или 100 кириллических. Строка из одних пробелов не принимается
template_idстроканетИдентификатор шаблона из каталога. Если задан, postback_template и offer_param берутся из шаблона, значения из запроса не учитываются
template_versionцелое числос template_idВерсия шаблона из каталога. Должна совпадать с текущей
postback_templateстрока или nullнетПараметры постбека для сети без шаблона. Первый знак — ? или &, длина до 16 000 байт, без переводов строк. Пустая строка допустима
offer_paramстроканетПараметры для ссылки оффера для сети без шаблона, до 4096 байт

Название из шаблона не подставляется: передавайте name и для сети из каталога.

Ответ — код 201 и объект сети.

Пример: сеть из шаблона. Идентификатор и версию возьмите из каталога.

bash
curl -X POST https://panel.example.com/api/v1/affiliate-networks \
  -H "Api-Key: <токен>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example Network","template_id":"kt-50e6398b4494","template_version":1}'
json
{
  "template_id": "kt-50e6398b4494",
  "template_version": 1,
  "offer_param": "sub1={subid}",
  "id": "7b0d2c3e-5a41-4f8e-9c1d-2e6f8a9b0c1d",
  "name": "Example Network",
  "postback_template": "?payout={money}&status={action}&lead_status=0&sale_status=subscribe,rebill&ignore_status=unsubscribe&subid={sub1}"
}

Пример: сеть со своими параметрами.

bash
curl -X POST https://panel.example.com/api/v1/affiliate-networks \
  -H "Api-Key: <токен>" \
  -H "Content-Type: application/json" \
  -d '{"name":"My Network","postback_template":"?subid={sub1}&status={status}&payout={amount}","offer_param":"sub1={subid}"}'

Ошибки — код 422, code = validation:

СообщениеПричина
name is requiredНет поля name, оно пустое, либо тело не разобрано: это не JSON-объект, оно больше 1 МиБ или у поля не тот тип, например template_version передан строкой
Шаблон сети не найден или устарелВ каталоге нет шаблона с таким template_id и такой template_version, либо template_version не передан. Запросите каталог заново
Некорректное название или параметры сетиname длиннее 200 байт или из одних пробелов, либо offer_param длиннее 4096 байт
Постбек должен содержать параметры после ? или &postback_template начинается с другого знака, длиннее 16 000 байт или содержит перевод строки
Некорректные параметры постбекаВ postback_template есть знак ; или знак %, за которым нет двух шестнадцатеричных цифр

Изменение сети

Изменить сеть

http
PUT /api/v1/affiliate-networks/{id}

Меняет название и параметры постбека сети. В панели сеть не редактируется: изменить её можно только этим методом.

Параметр пути id — идентификатор сети, UUID.

ПолеТипОбязательностьОписание
nameстрокадаНовое название. Пределы те же, что при создании
postback_templateстрока или nullнетНовые параметры постбека. Правила те же, что при создании

Метод записывает оба поля при каждом запросе. Чтобы изменить только название, возьмите текущий postback_template из списка сетей и передайте его вместе с новым name.

Внимание.

Запрос без postback_template стирает сохранённые параметры постбека: поле становится null, адрес постбека сети — общим.

Поля template_id, template_version и offer_param этим методом не меняются: в ответе вернутся значения, заданные при создании. Шаблон из каталога к готовой сети не применяется. Так у сети из каталога можно вписать свои значения вместо REPLACE в параметрах постбека, и параметры для ссылки оффера сохранятся.

Ответ — код 200 и объект сети. Новое название подставляется в макрос {affiliate_network_name} у офферов этой сети.

bash
curl -X PUT https://panel.example.com/api/v1/affiliate-networks/7b0d2c3e-5a41-4f8e-9c1d-2e6f8a9b0c1d \
  -H "Api-Key: <токен>" \
  -H "Content-Type: application/json" \
  -d '{"name":"Example Network CPA","postback_template":"?payout={money}&status={action}&lead_status=0&sale_status=subscribe,rebill&subid={sub1}"}'

После смены postback_template меняется адрес постбека сети в разделе Сети. В кабинете партнёрской сети адрес остаётся прежним, пока вы не замените его сами — см. Вставка адреса в кабинет сети.

Ошибки:

КодcodeКогда
400bad_requestid — не UUID
404not_foundСети с таким id нет
422validationТе же сообщения, что при создании, кроме сообщения о шаблоне

Удаление сети

Удалить сеть

http
DELETE /api/v1/affiliate-networks/{id}

Удаляет сеть. Параметр пути id — идентификатор сети, UUID. Тела запроса нет. Сеть удаляется сразу и в корзину не попадает.

Ответ — код 204 без тела. Офферы, в которых сеть была выбрана, остаются и продолжают принимать трафик: поле network_id у них становится null, макрос {affiliate_network_name} — пустым. Постбеки по адресу, уже вписанному в кабинет сети, трекер принимает как раньше.

Ошибки:

КодcodeКогда
400bad_requestid — не UUID
404not_foundСети с таким id нет

Сеть выбирают в оффере полем network_id — см. Admin API: офферы.

Обновлено Нужна помощь? ↗