Методы для партнёров-агрегаторов (SUBPARTNER)#

Обзор#

Партнёр-агрегатор — партнёр, через которого к «Подели» подключаются другие продавцы — субпартнёры. Методы SUBPARTNER позволяют агрегатору зарегистрировать субпартнёра, узнать его статус и обновить его данные. Остальным партнёрам эти методы недоступны.

Жизненный цикл субпартнёра:

  1. Регистрация. Партнёр-агрегатор подаёт заявку методом SUBPARTNER/REGISTRATION.

  2. Рассмотрение. «Подели» рассматривает заявку — активирует субпартнёра или отказывает. Срок рассмотрения — до 5 рабочих дней.

  3. Активация или отказ. О результате «Подели» сообщает HTTP-нотификацией; текущий статус в любой момент можно запросить методом SUBPARTNER/INFO.

  4. Обновление данных. При изменении реквизитов субпартнёра агрегатор передаёт новые данные методом SUBPARTNER/UPDATE.

Метод

Эндпоинт

Назначение

REGISTRATION

POST /subpartner/registration

Подать заявку на регистрацию субпартнёра

INFO

GET /subpartner/info/{subpartner_login}

Запросить статус субпартнёра

UPDATE

POST /subpartner/update

Обновить данные субпартнёра

Запросы выполняются в формате JSON поверх HTTPS; соединение защищено по схеме Mutual TLS (mTLS) — см. Настройка защищённого соединения. Авторизация — Basic Auth (логин и пароль партнёра-агрегатора). Полный набор обязательных заголовков приведён в каждом методе ниже.

Адрес тестового контура — https://api-sand.podeli.ru/partners/v1; адрес боевого контура уточните у менеджера по интеграции.

О смене статуса субпартнёра «Подели» уведомляет HTTP-нотификацией — см. нотификацию о статусе субпартнёра и справочник статусов. Нотификация — основной канал: о смене статуса узнавайте из неё, а метод INFO используйте для сверки и восстановления после сбоев.

SUBPARTNER/REGISTRATION — регистрация субпартнёра#

Регистрирует заявку на подключение субпартнёра к сервису.

POST https://api-sand.podeli.ru/partners/v1/subpartner/registration

Как работает

  1. Партнёр-агрегатор направляет данные субпартнёра для автоматической регистрации в сервисе.

  2. «Подели» регистрирует заявку и возвращает подтверждение в поле feedback.

  3. После рассмотрения заявки (активация или отказ) на URL из notificationUrlReg (или на дефолтный адрес нотификаций партнёра) придёт HTTP-нотификация со статусом субпартнёра.

Заголовки запроса

Все заголовки обязательны.

Заголовок

Тип

Описание

Content-Type

string

Тип контента: application/json

Authorization

base64

Basic Auth: логин и пароль партнёра-агрегатора в формате логин:пароль, закодированные в base64

X-Correlation-ID

string(36)

Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение

User-Agent

string

Название и версия ПО, выполняющего запрос, например curl/7.81.0. Обязательный заголовок

Host

string

Доменное имя контура, к которому выполняется запрос (для тестового — api-sand.podeli.ru). Обязательный заголовок

Параметры запроса

Тело запроса — объект subPartnerInfo:

Объект subPartnerInfo#

Поле

Тип

Обяз.

Описание

login

string

✓

Логин субпартнёра. Не менее 4 символов

name

string

✓

Наименование субпартнёра

legalEntity

string

✓

Наименование юридического лица. Формат важен, например: ИП ИВАНОВ ИВАН ИВАНОВИЧ, ООО "РОМАШКА"

inn

string

✓

ИНН субпартнёра

kpp

string

—

КПП субпартнёра

ogrn

string

—

ОГРН субпартнёра

mcc

string

✓

MCC-код. Ровно 4 цифры

email

string

✓

Email (для реестров)

siteUrl

string

✓

URL сайта субпартнёра

notificationUrlReg

string

—

URL для получения нотификаций о смене статуса субпартнёра

agreementSignDate

string date

✓

Дата подписания договора в формате YYYY-MM-DD

commission

number

✓

Размер вознаграждения — установленный процент с мерчанта по тарифу

averageCheck

number

—

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

requisite

object

✓

Банковские реквизиты

├─ bankName

string

✓

Наименование банка

├─ bankIdentifierCode

string

✓

БИК

├─ correspondingAccount

string

✓

Корреспондентский счёт

└─ paymentAccount

string

✓

Расчётный счёт, установленный в магазине

address

object

✓

Юридический адрес мерчанта

├─ index

string

✓

Индекс

├─ city

string

✓

Город

├─ street

string

—

Улица

├─ house

string

—

Дом

└─ office

string

—

Офис/квартира

Тело ответа

Поле

Тип

Обяз.

Описание

feedback

string

—

Сообщение об успешной регистрации заявки

error

object

—

Описание ошибки (поля code, text)

Примеры

Все значения в примерах условные.

{
  "subPartnerInfo": {
    "login": "submerchant_01",
    "name": "Ромашка",
    "legalEntity": "ООО \"РОМАШКА\"",
    "inn": "7712345678",
    "kpp": "771201001",
    "ogrn": "1207700123456",
    "mcc": "5651",
    "email": "finance@romashka.ru",
    "siteUrl": "https://romashka.ru",
    "notificationUrlReg": "https://partner.site/subpartnerStatus",
    "agreementSignDate": "2026-06-01",
    "commission": 1.0,
    "averageCheck": 1000.00,
    "requisite": {
      "bankName": "Банк Пример",
      "bankIdentifierCode": "044525999",
      "correspondingAccount": "30101810400000000999",
      "paymentAccount": "40702810900000012345"
    },
    "address": {
      "index": "125009",
      "city": "Москва",
      "street": "Тверская",
      "house": "1",
      "office": "10"
    }
  }
}
{
  "feedback": "Заявка на регистрацию субпартнера успешно заведена."
}

Статус-коды и ошибки метода

Код

Код ошибки

Значение

200

—

Заявка создана

400

invalid_request

Ошибка валидации тела/параметров запроса (в т.ч. некорректные login, mcc или X-Correlation-ID)

401

not_authorized_partner_login, not_authorized_partner_expired

Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора

422

duplicated_request

Субпартнёр с таким логином уже существует

500

unknown_error

Неизвестная ошибка

Связанные нотификации

Результат рассмотрения заявки приходит нотификацией о статусе субпартнёра.

SUBPARTNER/INFO — статус субпартнёра#

Возвращает текущий статус субпартнёра.

GET https://api-sand.podeli.ru/partners/v1/subpartner/info/{subpartner_login}

Как работает

  1. Партнёр-агрегатор передаёт логин субпартнёра в параметре пути subpartner_login. Тело запроса пустое.

  2. «Подели» возвращает логин и текущий статус субпартнёра.

Заголовки запроса

Все заголовки обязательны.

Заголовок

Тип

Описание

Content-Type

string

Тип контента: application/json

Authorization

base64

Basic Auth: логин и пароль партнёра-агрегатора в формате логин:пароль, закодированные в base64

X-Correlation-ID

string(36)

Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение

User-Agent

string

Название и версия ПО, выполняющего запрос, например curl/7.81.0. Обязательный заголовок

Host

string

Доменное имя контура, к которому выполняется запрос (для тестового — api-sand.podeli.ru). Обязательный заголовок

Параметры запроса

Поле

Тип

Обяз.

Описание

subpartner_login

string, параметр пути

✓

Логин субпартнёра

Тело ответа

Поле

Тип

Обяз.

Описание

subPartnerInfo

object

✓

Субпартнёр

├─ login

string

✓

Логин субпартнёра

└─ status

string

✓

Статус субпартнёра в верхнем регистре — см. справочник статусов

error

object

—

Описание ошибки (поля code, text)

Примеры

{
  "subPartnerInfo": {
    "login": "submerchant_01",
    "status": "ACTIVATED"
  }
}

Статус-коды и ошибки метода

Код

Код ошибки

Значение

200

—

Запрос успешно обработан

400

invalid_request

Ошибка валидации параметров запроса

401

not_authorized_partner_login, not_authorized_partner_expired

Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора

404

sub_partner_not_found

Запись субпартнёра с указанным login не найдена для партнёра, сделавшего запрос

500

unknown_error

Неизвестная ошибка

Связанные нотификации

О смене статуса субпартнёра «Подели» дополнительно уведомляет HTTP-нотификацией — метод INFO позволяет проверить статус в любой момент по запросу.

SUBPARTNER/UPDATE — обновление данных субпартнёра#

Обновляет данные ранее зарегистрированного субпартнёра.

POST https://api-sand.podeli.ru/partners/v1/subpartner/update

Как работает

  1. При изменении реквизитов субпартнёра Партнёр-агрегатор направляет метод UPDATE с объектом subPartnerInfo.

  2. «Подели» обновляет данные и возвращает подтверждение в поле feedback.

Внимание

Поля login, name, inn, kpp, ogrn и mcc изменению не подлежат — они передаются для идентификации субпартнёра. Если переданные значения отличаются от сохранённых, метод вернёт статус-код 409 (sub_partner_data_conflict).

Заголовки запроса

Все заголовки обязательны.

Заголовок

Тип

Описание

Content-Type

string

Тип контента: application/json

Authorization

base64

Basic Auth: логин и пароль партнёра-агрегатора в формате логин:пароль, закодированные в base64

X-Correlation-ID

string(36)

Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение

User-Agent

string

Название и версия ПО, выполняющего запрос, например curl/7.81.0. Обязательный заголовок

Host

string

Доменное имя контура, к которому выполняется запрос (для тестового — api-sand.podeli.ru). Обязательный заголовок

Параметры запроса

Тело запроса — объект subPartnerInfo:

Объект subPartnerInfo#

Поле

Тип

Обяз.

Описание

login

string

✓

Логин субпартнёра (не изменяется)

name

string

✓

Наименование субпартнёра (не изменяется)

inn

string

✓

ИНН субпартнёра (не изменяется)

kpp

string

—

КПП субпартнёра (не изменяется)

ogrn

string

—

ОГРН субпартнёра (не изменяется)

mcc

string

✓

MCC-код (не изменяется)

email

string

✓

Email (для реестров)

siteUrl

string

✓

URL сайта субпартнёра

notificationUrlReg

string

—

URL для получения нотификаций о смене статуса субпартнёра

agreementSignDate

string date

✓

Дата подписания договора в формате YYYY-MM-DD

commission

number

—

Размер вознаграждения — установленный процент с мерчанта по тарифу

averageCheck

number

—

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

requisite

object

✓

Банковские реквизиты: bankName ✓, bankIdentifierCode ✓, correspondingAccount ✓, paymentAccount ✓ — как в SUBPARTNER/REGISTRATION

address

object

✓

Юридический адрес мерчанта: index ✓, city ✓, street, house, office — как в SUBPARTNER/REGISTRATION

Тело ответа

Поле

Тип

Обяз.

Описание

feedback

string

—

Сообщение об успешном изменении данных

error

object

—

Описание ошибки (поля code, text)

Примеры

Все значения в примерах условные.

{
  "subPartnerInfo": {
    "login": "submerchant_01",
    "name": "Ромашка",
    "inn": "7712345678",
    "kpp": "771201001",
    "ogrn": "1207700123456",
    "mcc": "5651",
    "email": "billing@romashka.ru",
    "siteUrl": "https://romashka.ru",
    "notificationUrlReg": "https://partner.site/subpartnerStatus",
    "agreementSignDate": "2026-06-01",
    "requisite": {
      "bankName": "Банк Пример",
      "bankIdentifierCode": "044525999",
      "correspondingAccount": "30101810400000000999",
      "paymentAccount": "40702810900000067890"
    },
    "address": {
      "index": "125009",
      "city": "Москва",
      "street": "Тверская",
      "house": "1",
      "office": "10"
    }
  }
}

Статус-коды и ошибки метода

Код

Код ошибки

Значение

200

—

Данные обновлены

400

invalid_request

Ошибка валидации тела/параметров запроса

401

not_authorized_partner_login, not_authorized_partner_expired

Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора

404

sub_partner_not_found

Запись субпартнёра с указанным login не найдена для партнёра, сделавшего запрос

409

sub_partner_data_conflict

Переданы изменения в полях, недоступных для редактирования: «Изменение информации недоступно для поля {поле}»

429

req_number_exceeded

Превышен лимит запросов; в заголовке X-Retry-After придёт время в секундах до повторного запроса

500

unknown_error

Неизвестная ошибка

Связанные нотификации

При смене статуса субпартнёра (активация, отказ, отключение) «Подели» отправляет нотификацию о статусе субпартнёра.