Перейти к содержимому

Партнёрка

Партнёрское API Radist.Online: профиль и промокоды партнёра, создание клиентов, подписки, реквизиты, счета, баланс, вознаграждения и выплаты.

Общее

Swagger: https://api.radist.online/v2/docs#/Partners

Необходимые доступы (scopes) для работы с API: partners

Доступ к этому API есть только у партнёрских компаний. Подробнее о партнёрке здесь.

Партнёр может

  1. Просматривать профиль партнёра (промокоды, вознаграждения, число активных клиентов)
  2. Просматривать список клиентов и информацию по ним, создавать новые компании-клиенты
  3. Отслеживать сроки действия подписок своих клиентов и изменять их размер/план
  4. Управлять своими реквизитами и реквизитами клиентов, использовать их для оплаты
  5. Выставлять счета на оплату своим клиентам и отслеживать их статусы
  6. Отслеживать баланс, вознаграждения и запрашивать выплаты
  7. Подписаться на уведомления о событиях своих клиентов, связанных с оплатой

Профиль

https://api.radist.online/v2/docs#/Partners/PartnersGetPartnerProfile (GET /profile/)

Пример получения профиля
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
GET /companies/{company_id}/profile/

Response
{
  "name": "Demo Partner",
  "promo_code": "DEMOPARTNER",
  "referral_promo_code": "DEMOREF",
  "commissions": {
    "partner_commission_percent": 20,
    "referral_commission_percent": 10,
    "waba_dialogs_commission_percent": 15
  },
  "active_clients_count": 12,
  "active_referrals_count": 3
}

Клиент, воспользовавшийся promo_code при регистрации, будет привязан к партнёру как обычный клиент (partner_company_type=partner); воспользовавшийся referral_promo_code — как реферал (partner_company_type=referral). Вознаграждение (commissions) считается по-разному для этих двух типов.

Клиенты

Список клиентов

https://api.radist.online/v2/docs#/Partners/PartnersListPartnerCompanies (GET /partner_companies/)

Поддерживает поиск по имени/id (query), фильтры partner_company_type (partner/referral), subscription_type, subscription_status (PAID/TEST/NOT_PAID/FREE) и сортировку order_by (например, name:asc).

Пример получения списка клиентов
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
GET /companies/{company_id}/partner_companies/?partner_company_type=partner

Response
[
  {
    "id": 510,
    "name": "ООО Клиент",
    "partner_company_type": "partner",
    "waba_dialogs_balance": 120,
    "waba_360dialog_partner_id": null,
    "note": "Подключили в марте",
    "paid_until": "2026-08-01T00:00:00Z",
    "test_until": "2026-07-01T00:00:00Z"
  }
]

Информация о клиенте

https://api.radist.online/v2/docs#/Partners/PartnersGetPartnerCompanyInfo (GET /partner_companies/{partner_company_id})

Заметка о клиенте

https://api.radist.online/v2/docs#/Partners/PartnersUpdatePartnerCompanyNote (PUT /partner_companies/{partner_company_id}/note/)

Пример обновления заметки
1
2
3
4
5
6
PUT /companies/{company_id}/partner_companies/510/note/
{
  "note": "Подключили в марте"
}

Response: 204 No Content

Создание клиента

https://api.radist.online/v2/docs#/Partners/PartnersCreateClient (POST /clients/)

Требует право PARTNERS_CREATE_CLIENTS. Создаёт нового пользователя (по email) и компанию для него, привязанную к промокоду партнёра, и отправляет клиенту письмо с временным паролем. Число создаваемых в сутки клиентов ограничено.

Пример создания клиента
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
POST /companies/{company_id}/clients/
{
  "name": "Иван Иванов",
  "email": "ivan@example.org",
  "company_name": "ООО Ромашка",
  "phone": "+79000000000"
}

Response
{
  "id": 511,
  "name": "ООО Ромашка",
  "owner_id": 9001,
  "payments_locked": false,
  "timezone": "Europe/Moscow",
  "payment_currency": "RUB",
  "waba_360dialog_partner_id": null,
  "had_connections": false,
  "is_partner": false
}

Подписки клиентов

Список подписок клиента

https://api.radist.online/v2/docs#/Partners/PartnersListPartnerCompanySubscriptions (GET /partner_companies/{partner_company_id}/subscriptions/)

Пример получения списка подписок клиента
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
GET /companies/{company_id}/partner_companies/510/subscriptions/

Response
[
  {
    "id": 1926,
    "connections": [
      {
        "id": 29228,
        "type": "telegram_bot",
        "name": "Бот продаж",
        "phone": null
      }
    ],
    "subscription_type": "CONNECTION_TELEGRAM_BOT",
    "subscription_plan": "STANDARD",
    "current_size": 2,
    "max_size": 4,
    "test_until": "2022-11-27T07:17:28.784647Z",
    "paid_until": "2220-05-25T13:38:57.518834Z"
  }
]

Изменение размера подписки

https://api.radist.online/v2/docs#/Partners/PartnersChangePartnerCompanySubscriptionSize (POST /partner_companies/{partner_company_id}/subscriptions/{subscription_id}/actions/change_size)

Как и в обычных подписках, preview=true по умолчанию — считает результат без применения. new_max_size=0 требует target_subscription_id — все подключения будут перенесены в указанную подписку.

Пример изменения размера
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
POST /companies/{company_id}/partner_companies/510/subscriptions/1926/actions/change_size
{
  "new_max_size": 4,
  "preview": false
}

Response
{
  "source": {
    "id": 1926,
    "subscription_type": "CONNECTION_TELEGRAM_BOT",
    "old_max_size": 2,
    "new_max_size": 4,
    "old_subscription_plan": "STANDARD",
    "new_subscription_plan": "STANDARD",
    "old_paid_until": "2026-08-01T00:00:00Z",
    "new_paid_until": "2026-08-01T00:00:00Z"
  },
  "target": null,
  "preview": false
}

Изменение плана подписки

https://api.radist.online/v2/docs#/Partners/PartnersChangePartnerCompanySubscriptionPlan (POST /partner_companies/{partner_company_id}/subscriptions/{subscription_id}/actions/change_plan)

Пример изменения плана
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
POST /companies/{company_id}/partner_companies/510/subscriptions/1926/actions/change_plan
{
  "new_subscription_plan": "STANDARD",
  "preview": false
}

Response
{
  "source": {
    "id": 1926,
    "subscription_type": "CONNECTION_TELEGRAM_BOT",
    "old_max_size": 4,
    "new_max_size": 4,
    "old_subscription_plan": "START",
    "new_subscription_plan": "STANDARD",
    "old_paid_until": "2026-08-01T00:00:00Z",
    "new_paid_until": "2026-08-01T00:00:00Z"
  },
  "target": null,
  "preview": false
}

Реквизиты

Партнёр может использовать как реквизиты клиента, так и свои собственные (например, чтобы платить за клиентов со своего юрлица).

Реквизиты партнёра

Если реквизит создаётся как основной (default: true), обязательны bic и current_accountkpp, если tin из 10 цифр).

Пример создания реквизита партнёра
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
POST /companies/{company_id}/payments/requisites/
{
  "type": "company",
  "tin": "1699982918",
  "kpp": "770101001",
  "name": "ООО \"Партнёр\"",
  "default": true,
  "bic": "044525225",
  "current_account": "40702810900000000001"
}

Response
{
  "id": 3001,
  "tin": "1699982918",
  "kpp": "770101001",
  "name": "ООО \"Партнёр\"",
  "approval_status": "APPROVED",
  "default": true,
  "bic": "044525225",
  "current_account": "40702810900000000001"
}

Реквизиты клиента

https://api.radist.online/v2/docs#/Partners/PartnersListPartnerCompanyRequisites (GET /partner_companies/{partner_company_id}/payments/requisites/)

Счета

Выставление счёта клиенту

https://api.radist.online/v2/docs#/Partners/PartnersCreatePartnerCompanyInvoice (POST /partner_companies/{partner_company_id}/payments/invoices/)

Тело запроса совпадает с обычным выставлением счёта, плюс:

  • partner_email — email партнёра, будет указан в чеке
  • partner_requisite_id — оплатить своими (партнёрскими) реквизитами вместо реквизитов клиента (payment_method=BANK_TRANSFER); ограничений на состав счёта нет
  • use_partner_balance — списать часть суммы с баланса партнёра

company_requisite_id (см. обычное выставление счёта) при выставлении счёта клиенту от партнёра можно использовать только если счёт только за WABA-диалоги — иначе будет ошибка SUBSCRIPTION_PAYMENTS_LOCKED. Для оплаты подписок реквизитами клиента используйте обычный эндпоинт счетов от имени самого клиента.

Пример выставления счёта клиенту
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
POST /companies/{company_id}/partner_companies/510/payments/invoices/
{
  "preview": false,
  "items": [
    {
      "type": "SUBSCRIPTION",
      "id": 1926,
      "new_subscription_plan": "STANDARD",
      "new_size": 4
    }
  ],
  "consents": {
    "offer_accepted": true
  },
  "payment_method": "CARD_RU",
  "period_months": 3,
  "partner_email": "partner@example.org"
}

Response
{
  "id": 41213,
  "company_id": 510,
  "company_name": "ООО Клиент",
  "preview": false,
  "status": "new",
  "client_amount": 4374,
  "amount": 4374,
  "currency": "RUB",
  "payment_url": "https://pay.example.org/..."
  // остальные поля summary/receipt/... — как в /ru/api/v2/podpiski/#primery
}

company_id/company_name — клиент, для которого выставлен счёт. client_amount — сумма, которую увидит и оплатит клиент (может отличаться от amount, если применяется use_partner_balance).

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

https://api.radist.online/v2/docs#/Partners/PartnersListPartnerCompaniesPayments (GET /partner_companies/payments/)

Поддерживает фильтры partner_company_id, partner_company_type и пагинацию (limit/offset).

Финансы

Баланс

https://api.radist.online/v2/docs#/Partners/PartnersGetPartnerCurrentBalance (GET /finance/balance/)

Пример получения баланса
1
2
3
4
5
6
GET /companies/{company_id}/finance/balance/

Response
{
  "balance": 15420.50
}

Вознаграждения

https://api.radist.online/v2/docs#/Partners/PartnersGetPartnerRewards (GET /finance/rewards/)

Вознаграждения начисляются за подписки клиентов (SUBSCRIPTIONS_REWARD) и за WABA-диалоги (WABA_DIALOGS_REWARD).

Пример получения списка вознаграждений
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
GET /companies/{company_id}/finance/rewards/

Response
{
  "rewards": [
    {
      "id": 9001,
      "period": "2026-06",
      "company_id": 510,
      "company_name": "ООО Клиент",
      "reward_type": "SUBSCRIPTIONS_REWARD",
      "period_topups_value": 4860,
      "period_spendings_value": 0,
      "reward_value": 972,
      "partner_percent": 20,
      "subscription_type": "CONNECTION_TELEGRAM_BOT",
      "period_months": 3,
      "created_at": "2026-07-01T00:00:00Z"
    }
  ]
}

Выплаты

https://api.radist.online/v2/docs#/Partners/PartnersGetPartnerPayouts (GET /finance/payouts/) — https://api.radist.online/v2/docs#/Partners/PartnersRequestPayout (POST /finance/payouts/)

Выплата запрашивается на один из реквизитов партнёра (см. выше) и переводит весь текущий баланс. Пока не набран минимальный баланс для выплаты, запрос вернёт ошибку PARTNER_PAYOUT_INSUFFICIENT_BALANCE; повторный запрос при уже активной выплате — PARTNER_PAYOUT_LOCKED.

Пример запроса выплаты
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
POST /companies/{company_id}/finance/payouts/
{
  "requisite_id": 3001
}

Response
{
  "id": 771,
  "status": "CREATED",
  "payout_type": "PAYOUT",
  "value": 15420.50,
  "created_at": "2026-07-06T12:00:00Z",
  "comment": null
}

Уведомления

Партнёр может подписаться на уведомления о событиях оплаты своих клиентов (сейчас единственный тип события — payment_status) через WhatsApp, Telegram, MAX или email.

Для type=telegram и type=max в ответ на создание приходит не сам канал, а urlqr_code) для подписки бота — канал появится в списке только после того, как клиент запустит бота по этой ссылке.

Пример подписки на уведомления (WhatsApp)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
POST /companies/{company_id}/notifications/channels/
{
  "type": "whatsapp",
  "whatsapp": {
    "phone": "+79000000000"
  },
  "params": {
    "events": ["payment_status"],
    "partner_companies": [510]
  }
}

Response
{
  "id": 601,
  "name": "+79000000000",
  "type": "whatsapp",
  "whatsapp": {
    "phone": "+79000000000"
  },
  "email": null,
  "params": {
    "events": ["payment_status"],
    "partner_companies": [510]
  }
}

params.partner_companies — список id клиентов, о которых нужны уведомления. Пустой список означает, что уведомления не будут приходить ни по одному клиенту — чтобы получать уведомления, нужно явно перечислить нужные id.

Последнее обновление