Skip to content

Основные методы API для работы с паевыми контрактами

Данный документ описывает основные методы API для работы с паевыми контрактами (кошельками клиента) в системе Brainysoft. В документе приведены назначение методов, технические параметры, примеры запросов и ответов, а также описание полей.

Общие принципы:

  • Все примеры приведены в формате JSON.
  • Для вызова методов используется авторизация bsauth <access_token>.
  • Для всех описанных методов используется Content-Type: application/json.
  • Порядок методов в документе соответствует исходному перечню.

1. Инициализация нового паевого контракта

  • Метод: GET /bs-core/main/share-contracts/init
  • Назначение: получение шаблона параметров для создания и дальнейшей работы с паевым контрактом в системе
ПараметрЗначение
МетодGET
Path/bs-core/main/share-contracts/init
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: не передается.

Успешный ответ 200:

json
{
  "id": null,
  "name": "П-1/16",
  "creationDate": "2015-09-05",
  "branchId": null,
  "subdivisionId": null,
  "clientId": null,
  "shareAmount": 0,
  "additional": false,
  "joinFee": 0,
  "fixedJoinFee": 0,
  "insuranceFee": 0,
  "fixedInsuranceFee": 0,
  "estimateFee": 0,
  "fixedEstimateFee": 0,
  "comments": []
}
ПолеОбяз.ТипОписаниеОграничения / Пример
idintegerИдентификатор контрактаУникальный в системе
namestringНомер/наименование паяМакс. 50 символов
creationDatedateДата созданияФормат YYYY-MM-DD
branchIdintegerID филиалаДолжен существовать в справочнике
subdivisionIdintegerID подразделенияПривязан к branchId
clientIdintegerID клиентаАктивный статус
shareAmountfloatСумма пая> 0, 2 знака после запятой
additionalbooleanПризнак дополнительного паяfalse — основной, true — дополнительный
joinFeefloatВступительный взнос (ставка, %)0.00 – 100.00
fixedJoinFeefloatФиксированный вступительный взнос≥ 0
insuranceFeefloatСтраховой взнос (ставка, %)0.00 – 100.00
fixedInsuranceFeefloatФиксированный страховой взнос≥ 0
estimateFeefloatСметный взнос (ставка, %)0.00 – 100.00
fixedEstimateFeefloatФиксированный сметный взнос≥ 0
commentsarray[string]Свободные комментарииМакс. 10 элементов, до 255 символов

2. Создание паевого контракта

  • Метод: POST /bs-core/main/share-contracts
  • Назначение: создаёт новый паевой контракт (кошелек) для существующего клиента; используется при открытии нового пая или подключении дополнительного паевого счета
ПараметрЗначение
МетодPOST
Path/bs-core/main/share-contracts
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: передавать заполненные поля, кроме идентификаторов - поле ID.

json
{
  "name": "П-1/16",
  "creationDate": "2025-09-05",
  "branchId": 101301,
  "subdivisionId": 101791,
  "clientId": 101321906,
  "currencyId": 643,
  "shareAmount": 200000.0,
  "additional": false,
  "joinFee": 0.0,
  "fixedJoinFee": 0.0,
  "insuranceFee": 0.0,
  "fixedInsuranceFee": 0.0,
  "estimateFee": 0.0,
  "fixedEstimateFee": 0.0,
  "comments": []
}
ПолеОбяз.ТипОписаниеОграничения / Пример
idintegerИдентификатор контрактаУникальный в системе
namestringНомер/наименование паяМакс. 50 символов
creationDatedateДата созданияФормат YYYY-MM-DD
branchIdintegerID филиалаДолжен существовать в справочнике
subdivisionIdintegerID подразделенияПривязан к branchId
clientIdintegerID клиентаАктивный статус
currencyIdintegerКод валюты643 = RUB
shareAmountfloatСумма пая> 0, 2 знака после запятой
additionalbooleanПризнак дополнительного паяfalse — основной, true — дополнительный
joinFeefloatВступительный взнос (ставка, %)0.00 – 100.00
fixedJoinFeefloatФиксированный вступительный взнос≥ 0
insuranceFeefloatСтраховой взнос (ставка, %)0.00 – 100.00
fixedInsuranceFeefloatФиксированный страховой взнос≥ 0
estimateFeefloatСметный взнос (ставка, %)0.00 – 100.00
fixedEstimateFeefloatФиксированный сметный взнос≥ 0
commentsarray[string]Свободные комментарииМакс. 10 элементов, до 255 символов

Успешный ответ 200:

json
{
  "id": 10134375,
  "name": "П-1/16",
  "creationDate": "2025-09-05",
  "branchId": 101301,
  "subdivisionId": 101791,
  "clientId": 101321906,
  "currencyId": 643,
  "shareAmount": 200000.0,
  "additional": false,
  "joinFee": 0.0,
  "fixedJoinFee": 0.0,
  "insuranceFee": 0.0,
  "fixedInsuranceFee": 0.0,
  "estimateFee": 0.0,
  "fixedEstimateFee": 0.0,
  "contractTypeId": 1,
  "takeShareDate": 1473033600000,
  "closeDate": null,
  "createUserId": 4512,
  "createSubdivisionId": 101791,
  "contractLine": {
    "id": 8892,
    "lineLimit": 1000
  },
  "comments": []
}
ПолеТипОписание
idintegerИдентификатор контракта
namestringНомер/наименование пая
creationDatedateДата создания
branchIdintegerID филиала
subdivisionIdintegerID подразделения
clientIdintegerID клиента
currencyIdintegerКод валюты
shareAmountfloatСумма пая
additionalbooleanПризнак дополнительного пая
joinFeefloatВступительный взнос (ставка, %)
fixedJoinFeefloatФиксированный вступительный взнос
insuranceFeefloatСтраховой взнос (ставка, %)
fixedInsuranceFeefloatФиксированный страховой взнос
estimateFeefloatСметный взнос (ставка, %)
fixedEstimateFeefloatФиксированный сметный взнос
contractLine.idintegerИдентификатор границы последовательности
contractLine.lineLimitintegerГраница последовательности
contractLineintegerЛиния нарушения последовательности

3. Получение/редактирование паевого контракта по его идентификатору

  • Метод: GET/PUT /bs-core/main/share-contracts/{id}
  • Назначение: получение всех заполненных параметров паевого контракта по указанному идентификатору / редактирование, изменение параметров и их сохранение методом PUT
ПараметрЗначение
МетодGET/PUT
Path/bs-core/main/share-contracts/{id}
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: не передается.

Успешный ответ 200:

json
{
  "id": 10134375,
  "name": "П-1/16",
  "creationDate": "2025-09-05",
  "branchId": 101301,
  "subdivisionId": 101791,
  "clientId": 101321906,
  "currencyId": 643,
  "shareAmount": 200000.0,
  "additional": false,
  "joinFee": 0.0,
  "fixedJoinFee": 0.0,
  "insuranceFee": 0.0,
  "fixedInsuranceFee": 0.0,
  "estimateFee": 0.0,
  "fixedEstimateFee": 0.0,
  "contractTypeId": 1,
  "takeShareDate": 1473033600000,
  "closeDate": null,
  "createUserId": 4512,
  "createSubdivisionId": 101791,
  "contractLine": {
    "id": 8892,
    "lineLimit": 1000
  },
  "comments": []
}
ПолеТипОписание
idintegerИдентификатор контракта
namestringНомер/наименование пая
creationDatedateДата создания
branchIdintegerID филиала
subdivisionIdintegerID подразделения
clientIdintegerID клиента
currencyIdintegerКод валюты
shareAmountfloatСумма пая
additionalbooleanПризнак дополнительного пая
joinFeefloatВступительный взнос (ставка, %)
fixedJoinFeefloatФиксированный вступительный взнос
insuranceFeefloatСтраховой взнос (ставка, %)
fixedInsuranceFeefloatФиксированный страховой взнос
estimateFeefloatСметный взнос (ставка, %)
fixedEstimateFeefloatФиксированный сметный взнос
contractLine.idintegerИдентификатор границы последовательности
contractLine.lineLimitintegerГраница последовательности
contractLineintegerЛиния нарушения последовательности

4. Получение общего количества паевых контрактов

  • Метод: GET /bs-core/main/share-contracts/qty
  • Назначение: получение общего количества паевых контрактов, созданных в системе
ПараметрЗначение
МетодGET
Path/bs-core/main/share-contracts/qty
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: не передается.

Успешный ответ 200:

json
{
  "status": "ok",
  "timestamp": 1473068978054,
  "data": 2
}

Примечание: Параметр data генерирует и возвращает количество паевых контрактов, созданных в системе.


5. Удаление паевых контрактов

  • Метод: DELETE /bs-core/main/share-contracts/{id}
  • Назначение: удаление паевого контракта
ПараметрЗначение
МетодDELETE
Path/bs-core/main/share-contracts/{id}
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: не передается.

Успешный ответ 200:

json
{
  "status": "ok",
  "timestamp": 1473068884050,
  "data": ""
}

6. Поиск паевых контрактов по списку идентификаторов

  • Метод: GET /bs-core/main/share-contracts/find/{ids}
  • Назначение: осуществление поиска паевых контрактов по списку идентификаторов
ПараметрЗначение
МетодGET
Path/bs-core/main/share-contracts/find/{ids}
Content-Typeapplication/json
Авторизацияbsauth <access_token>

Тело запроса: не передается.

Пример запроса:

text
/bs-core/main/share-contracts/find/101341667,101341656

или

text
/bs-core/main/share-contracts/find/101341667,101341656?preserveOrder=true

Успешный ответ 200: в ответ возвращаются все паевые контракты в соответствии с перечисленными идентификаторами.

Примечание: Поиск паевых контрактов по списку идентификаторов, разделённых запятыми. При передаче методу параметра preserveOrder со значением true метод возвратит групповые соглашения в JSON-файле именно в том порядке, который был передан методу. Если этот параметр не передается, то паевые контракты возвращаются по возрастающим идентификаторам.