Основные методы 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-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: не передается.
Успешный ответ 200:
{
"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": []
}| Поле | Обяз. | Тип | Описание | Ограничения / Пример |
|---|---|---|---|---|
id | ✅ | integer | Идентификатор контракта | Уникальный в системе |
name | ✅ | string | Номер/наименование пая | Макс. 50 символов |
creationDate | ✅ | date | Дата создания | Формат YYYY-MM-DD |
branchId | ✅ | integer | ID филиала | Должен существовать в справочнике |
subdivisionId | ✅ | integer | ID подразделения | Привязан к branchId |
clientId | ✅ | integer | ID клиента | Активный статус |
shareAmount | ✅ | float | Сумма пая | > 0, 2 знака после запятой |
additional | ✅ | boolean | Признак дополнительного пая | false — основной, true — дополнительный |
joinFee | ✅ | float | Вступительный взнос (ставка, %) | 0.00 – 100.00 |
fixedJoinFee | ✅ | float | Фиксированный вступительный взнос | ≥ 0 |
insuranceFee | ✅ | float | Страховой взнос (ставка, %) | 0.00 – 100.00 |
fixedInsuranceFee | ✅ | float | Фиксированный страховой взнос | ≥ 0 |
estimateFee | ✅ | float | Сметный взнос (ставка, %) | 0.00 – 100.00 |
fixedEstimateFee | ✅ | float | Фиксированный сметный взнос | ≥ 0 |
comments | ❌ | array[string] | Свободные комментарии | Макс. 10 элементов, до 255 символов |
2. Создание паевого контракта
- Метод:
POST /bs-core/main/share-contracts - Назначение: создаёт новый паевой контракт (кошелек) для существующего клиента; используется при открытии нового пая или подключении дополнительного паевого счета
| Параметр | Значение |
|---|---|
| Метод | POST |
| Path | /bs-core/main/share-contracts |
| Content-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: передавать заполненные поля, кроме идентификаторов - поле ID.
{
"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": []
}| Поле | Обяз. | Тип | Описание | Ограничения / Пример |
|---|---|---|---|---|
id | ✅ | integer | Идентификатор контракта | Уникальный в системе |
name | ✅ | string | Номер/наименование пая | Макс. 50 символов |
creationDate | ✅ | date | Дата создания | Формат YYYY-MM-DD |
branchId | ✅ | integer | ID филиала | Должен существовать в справочнике |
subdivisionId | ✅ | integer | ID подразделения | Привязан к branchId |
clientId | ✅ | integer | ID клиента | Активный статус |
currencyId | ✅ | integer | Код валюты | 643 = RUB |
shareAmount | ✅ | float | Сумма пая | > 0, 2 знака после запятой |
additional | ✅ | boolean | Признак дополнительного пая | false — основной, true — дополнительный |
joinFee | ✅ | float | Вступительный взнос (ставка, %) | 0.00 – 100.00 |
fixedJoinFee | ✅ | float | Фиксированный вступительный взнос | ≥ 0 |
insuranceFee | ✅ | float | Страховой взнос (ставка, %) | 0.00 – 100.00 |
fixedInsuranceFee | ✅ | float | Фиксированный страховой взнос | ≥ 0 |
estimateFee | ✅ | float | Сметный взнос (ставка, %) | 0.00 – 100.00 |
fixedEstimateFee | ✅ | float | Фиксированный сметный взнос | ≥ 0 |
comments | ❌ | array[string] | Свободные комментарии | Макс. 10 элементов, до 255 символов |
Успешный ответ 200:
{
"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": []
}| Поле | Тип | Описание |
|---|---|---|
id | integer | Идентификатор контракта |
name | string | Номер/наименование пая |
creationDate | date | Дата создания |
branchId | integer | ID филиала |
subdivisionId | integer | ID подразделения |
clientId | integer | ID клиента |
currencyId | integer | Код валюты |
shareAmount | float | Сумма пая |
additional | boolean | Признак дополнительного пая |
joinFee | float | Вступительный взнос (ставка, %) |
fixedJoinFee | float | Фиксированный вступительный взнос |
insuranceFee | float | Страховой взнос (ставка, %) |
fixedInsuranceFee | float | Фиксированный страховой взнос |
estimateFee | float | Сметный взнос (ставка, %) |
fixedEstimateFee | float | Фиксированный сметный взнос |
contractLine.id | integer | Идентификатор границы последовательности |
contractLine.lineLimit | integer | Граница последовательности |
contractLine | integer | Линия нарушения последовательности |
3. Получение/редактирование паевого контракта по его идентификатору
- Метод:
GET/PUT /bs-core/main/share-contracts/{id} - Назначение: получение всех заполненных параметров паевого контракта по указанному идентификатору / редактирование, изменение параметров и их сохранение методом
PUT
| Параметр | Значение |
|---|---|
| Метод | GET/PUT |
| Path | /bs-core/main/share-contracts/{id} |
| Content-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: не передается.
Успешный ответ 200:
{
"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": []
}| Поле | Тип | Описание |
|---|---|---|
id | integer | Идентификатор контракта |
name | string | Номер/наименование пая |
creationDate | date | Дата создания |
branchId | integer | ID филиала |
subdivisionId | integer | ID подразделения |
clientId | integer | ID клиента |
currencyId | integer | Код валюты |
shareAmount | float | Сумма пая |
additional | boolean | Признак дополнительного пая |
joinFee | float | Вступительный взнос (ставка, %) |
fixedJoinFee | float | Фиксированный вступительный взнос |
insuranceFee | float | Страховой взнос (ставка, %) |
fixedInsuranceFee | float | Фиксированный страховой взнос |
estimateFee | float | Сметный взнос (ставка, %) |
fixedEstimateFee | float | Фиксированный сметный взнос |
contractLine.id | integer | Идентификатор границы последовательности |
contractLine.lineLimit | integer | Граница последовательности |
contractLine | integer | Линия нарушения последовательности |
4. Получение общего количества паевых контрактов
- Метод:
GET /bs-core/main/share-contracts/qty - Назначение: получение общего количества паевых контрактов, созданных в системе
| Параметр | Значение |
|---|---|
| Метод | GET |
| Path | /bs-core/main/share-contracts/qty |
| Content-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: не передается.
Успешный ответ 200:
{
"status": "ok",
"timestamp": 1473068978054,
"data": 2
}Примечание: Параметр
dataгенерирует и возвращает количество паевых контрактов, созданных в системе.
5. Удаление паевых контрактов
- Метод:
DELETE /bs-core/main/share-contracts/{id} - Назначение: удаление паевого контракта
| Параметр | Значение |
|---|---|
| Метод | DELETE |
| Path | /bs-core/main/share-contracts/{id} |
| Content-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: не передается.
Успешный ответ 200:
{
"status": "ok",
"timestamp": 1473068884050,
"data": ""
}6. Поиск паевых контрактов по списку идентификаторов
- Метод:
GET /bs-core/main/share-contracts/find/{ids} - Назначение: осуществление поиска паевых контрактов по списку идентификаторов
| Параметр | Значение |
|---|---|
| Метод | GET |
| Path | /bs-core/main/share-contracts/find/{ids} |
| Content-Type | application/json |
| Авторизация | bsauth <access_token> |
Тело запроса: не передается.
Пример запроса:
/bs-core/main/share-contracts/find/101341667,101341656или
/bs-core/main/share-contracts/find/101341667,101341656?preserveOrder=trueУспешный ответ 200: в ответ возвращаются все паевые контракты в соответствии с перечисленными идентификаторами.
Примечание: Поиск паевых контрактов по списку идентификаторов, разделённых запятыми. При передаче методу параметра
preserveOrderсо значениемtrueметод возвратит групповые соглашения в JSON-файле именно в том порядке, который был передан методу. Если этот параметр не передается, то паевые контракты возвращаются по возрастающим идентификаторам.