Методы для партнёров-агрегаторов (SUBPARTNER)#
Обзор#
Партнёр-агрегатор — партнёр, через которого к «Подели» подключаются другие продавцы — субпартнёры. Методы SUBPARTNER позволяют агрегатору зарегистрировать субпартнёра, узнать его статус и обновить его данные. Остальным партнёрам эти методы недоступны.
Жизненный цикл субпартнёра:
Регистрация. Партнёр-агрегатор подаёт заявку методом SUBPARTNER/REGISTRATION.
Рассмотрение. «Подели» рассматривает заявку — активирует субпартнёра или отказывает. Срок рассмотрения — до 5 рабочих дней.
Активация или отказ. О результате «Подели» сообщает HTTP-нотификацией; текущий статус в любой момент можно запросить методом SUBPARTNER/INFO.
Обновление данных. При изменении реквизитов субпартнёра агрегатор передаёт новые данные методом SUBPARTNER/UPDATE.
Метод |
Эндпоинт |
Назначение |
|---|---|---|
POST |
Подать заявку на регистрацию субпартнёра |
|
GET |
Запросить статус субпартнёра |
|
POST |
Обновить данные субпартнёра |
Запросы выполняются в формате 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
Как работает
Партнёр-агрегатор направляет данные субпартнёра для автоматической регистрации в сервисе.
«Подели» регистрирует заявку и возвращает подтверждение в поле
feedback.После рассмотрения заявки (активация или отказ) на URL из
notificationUrlReg(или на дефолтный адрес нотификаций партнёра) придёт HTTP-нотификация со статусом субпартнёра.
Заголовки запроса
Все заголовки обязательны.
Заголовок |
Тип |
Описание |
|---|---|---|
|
string |
Тип контента: |
|
base64 |
Basic Auth: логин и пароль партнёра-агрегатора в формате |
|
string(36) |
Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение |
|
string |
Название и версия ПО, выполняющего запрос, например |
|
string |
Доменное имя контура, к которому выполняется запрос (для тестового —
|
Параметры запроса
Тело запроса — объект subPartnerInfo:
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string |
✓ |
Логин субпартнёра. Не менее 4 символов |
|
string |
✓ |
Наименование субпартнёра |
|
string |
✓ |
Наименование юридического лица. Формат важен, например:
|
|
string |
✓ |
ИНН субпартнёра |
|
string |
— |
КПП субпартнёра |
|
string |
— |
ОГРН субпартнёра |
|
string |
✓ |
MCC-код. Ровно 4 цифры |
|
string |
✓ |
Email (для реестров) |
|
string |
✓ |
URL сайта субпартнёра |
|
string |
— |
URL для получения нотификаций о смене статуса субпартнёра |
|
string date |
✓ |
Дата подписания договора в формате YYYY-MM-DD |
|
number |
✓ |
Размер вознаграждения — установленный процент с мерчанта по тарифу |
|
number |
— |
Средний чек по всем операциям за последние 30 дней |
|
object |
✓ |
Банковские реквизиты |
├─ |
string |
✓ |
Наименование банка |
├─ |
string |
✓ |
БИК |
├─ |
string |
✓ |
Корреспондентский счёт |
└─ |
string |
✓ |
Расчётный счёт, установленный в магазине |
|
object |
✓ |
Юридический адрес мерчанта |
├─ |
string |
✓ |
Индекс |
├─ |
string |
✓ |
Город |
├─ |
string |
— |
Улица |
├─ |
string |
— |
Дом |
└─ |
string |
— |
Офис/квартира |
Тело ответа
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string |
— |
Сообщение об успешной регистрации заявки |
|
object |
— |
Описание ошибки (поля |
Примеры
Все значения в примерах условные.
{
"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 |
|
Ошибка валидации тела/параметров запроса (в т.ч. некорректные |
401 |
|
Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора |
422 |
|
Субпартнёр с таким логином уже существует |
500 |
|
Неизвестная ошибка |
Связанные нотификации
Результат рассмотрения заявки приходит нотификацией о статусе субпартнёра.
SUBPARTNER/INFO — статус субпартнёра#
Возвращает текущий статус субпартнёра.
GET https://api-sand.podeli.ru/partners/v1/subpartner/info/{subpartner_login}
Как работает
Партнёр-агрегатор передаёт логин субпартнёра в параметре пути
subpartner_login. Тело запроса пустое.«Подели» возвращает логин и текущий статус субпартнёра.
Заголовки запроса
Все заголовки обязательны.
Заголовок |
Тип |
Описание |
|---|---|---|
|
string |
Тип контента: |
|
base64 |
Basic Auth: логин и пароль партнёра-агрегатора в формате |
|
string(36) |
Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение |
|
string |
Название и версия ПО, выполняющего запрос, например |
|
string |
Доменное имя контура, к которому выполняется запрос (для тестового —
|
Параметры запроса
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string, параметр пути |
✓ |
Логин субпартнёра |
Тело ответа
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
object |
✓ |
Субпартнёр |
├─ |
string |
✓ |
Логин субпартнёра |
└─ |
string |
✓ |
Статус субпартнёра в верхнем регистре — см. справочник статусов |
|
object |
— |
Описание ошибки (поля |
Примеры
{
"subPartnerInfo": {
"login": "submerchant_01",
"status": "ACTIVATED"
}
}
Статус-коды и ошибки метода
Код |
Код ошибки |
Значение |
|---|---|---|
200 |
— |
Запрос успешно обработан |
400 |
|
Ошибка валидации параметров запроса |
401 |
|
Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора |
404 |
|
Запись субпартнёра с указанным |
500 |
|
Неизвестная ошибка |
Связанные нотификации
О смене статуса субпартнёра «Подели» дополнительно уведомляет HTTP-нотификацией — метод INFO позволяет проверить статус в любой момент по запросу.
SUBPARTNER/UPDATE — обновление данных субпартнёра#
Обновляет данные ранее зарегистрированного субпартнёра.
POST https://api-sand.podeli.ru/partners/v1/subpartner/update
Как работает
При изменении реквизитов субпартнёра Партнёр-агрегатор направляет метод UPDATE с объектом
subPartnerInfo.«Подели» обновляет данные и возвращает подтверждение в поле
feedback.
Внимание
Поля login, name, inn, kpp, ogrn и mcc изменению
не подлежат — они передаются для идентификации субпартнёра. Если переданные значения
отличаются от сохранённых, метод вернёт статус-код 409
(sub_partner_data_conflict).
Заголовки запроса
Все заголовки обязательны.
Заголовок |
Тип |
Описание |
|---|---|---|
|
string |
Тип контента: |
|
base64 |
Basic Auth: логин и пароль партнёра-агрегатора в формате |
|
string(36) |
Идентификатор запроса в формате UUID v4. Для каждого нового HTTP-запроса передавайте новое значение |
|
string |
Название и версия ПО, выполняющего запрос, например |
|
string |
Доменное имя контура, к которому выполняется запрос (для тестового —
|
Параметры запроса
Тело запроса — объект subPartnerInfo:
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string |
✓ |
Логин субпартнёра (не изменяется) |
|
string |
✓ |
Наименование субпартнёра (не изменяется) |
|
string |
✓ |
ИНН субпартнёра (не изменяется) |
|
string |
— |
КПП субпартнёра (не изменяется) |
|
string |
— |
ОГРН субпартнёра (не изменяется) |
|
string |
✓ |
MCC-код (не изменяется) |
|
string |
✓ |
Email (для реестров) |
|
string |
✓ |
URL сайта субпартнёра |
|
string |
— |
URL для получения нотификаций о смене статуса субпартнёра |
|
string date |
✓ |
Дата подписания договора в формате YYYY-MM-DD |
|
number |
— |
Размер вознаграждения — установленный процент с мерчанта по тарифу |
|
number |
— |
Средний чек по всем операциям за последние 30 дней |
|
object |
✓ |
Банковские реквизиты: |
|
object |
✓ |
Юридический адрес мерчанта: |
Тело ответа
Поле |
Тип |
Обяз. |
Описание |
|---|---|---|---|
|
string |
— |
Сообщение об успешном изменении данных |
|
object |
— |
Описание ошибки (поля |
Примеры
Все значения в примерах условные.
{
"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 |
|
Ошибка валидации тела/параметров запроса |
401 |
|
Аутентификация не пройдена: неверные логин/пароль, партнёр отключён или истёк срок договора |
404 |
|
Запись субпартнёра с указанным |
409 |
|
Переданы изменения в полях, недоступных для редактирования: «Изменение информации недоступно для поля {поле}» |
429 |
|
Превышен лимит запросов; в заголовке |
500 |
|
Неизвестная ошибка |
Связанные нотификации
При смене статуса субпартнёра (активация, отказ, отключение) «Подели» отправляет нотификацию о статусе субпартнёра.