Скип на основной контент

Хранение депозитов

Владелец вкладывает деньги, вынимает их, когда хочет, и сумма гарантирована — возврат не обещан, и никто не должен.

Счет все равно может что-то заплатить. POST /bonus регистрирует платеж держателю, и это именно то, что называется: Бонус, а не возвратЭто право бухгалтера, а не право владельца. Его размер определяется, когда он выплачивается; он не объявляется заранее, не начисляется и не причитается. Сумма, обещанная заранее, будет представлять интерес с более дружелюбным названием, и продукт станет другим продуктом.

Два последствия для вашей интеграции: на этом счете нет поля ставок, и нет стадии одобрения - счет спроса открывается без заключения третьей стороны в любом чтении.

Базовый путь: /api/v1/pfp/safekeeping-deposits · Религиозное чтение: Вадиа


Две формы опеки​

custody_typeВладелец может использовать средстваГлавный
safekeeping_onlyНет, чистая опекаНетронутый, нетронутый
guaranteedДа.Гарантируется по номиналу

guaranteed Это обычная схема текущего счета: средства используются, и держатель гарантированно получит обратно именно то, что было вложено. safekeeping_only Это опека в строгом смысле слова.

Реакция несет производную булеву guaranteed рядом custody_typeТаким образом, вам не нужно знать, какая сумма подразумевает гарантию.


Статус​

pending ──activate──> active ──block──> blocked
│ <──unblock──┘
│
└──close──> closed
статусЗначение
pendingСозданный, но еще не открытый
activeОткрыто; депозиты, снятие средств и бонусы принимаются
blockedЗамороженный. reason
closedТерминал

Нет никакого under_review, no review_passed и нет rejected. Этот продукт не имеет стадии утверждения ни в одном из чтений. — переход, требующий одного, будет означать, что счет был перепутан с финансовым контрактом.


Откройте счет​

POST /api/v1/pfp/safekeeping-deposits
{
"customer_id": "8f2a1c44-0b6e-4d51-9a3f-1c8e5b7d2a90",
"region": "RU",
"currency": "RUB",
"custody_type": "guaranteed",
"initial_amount": "0",
"minimum_balance": "100000",
"account_id": "d4b7e211-8c05-4f39-a6be-7213c9e0f584",
"opened_by": "branch-kzn-04"
}
Полное полеТипТребуемыйЗаметки
customer_iduuid✅Держатель
regionstring✅Регион счетов
currencystring✅ISO 4217
custody_typeenum✅safekeeping_only | guaranteed
initial_amountstring✅Небольшие подразделения. Нулевая допускается (^\d+$)
minimum_balancestring—Небольшие подразделения. Ноль разрешен.
account_iduuid—Связанный оперативный счет
opened_bystring—Бесплатный текст
metadataobject—Возвращение нетронутых

initial_amount и minimum_balance два поля количества в этом семействе продуктов, которые принимают "0"Счет часто открывается пустым и финансируется после этого, и порог нуля является реальной установкой.

Обратите внимание на разницу между двумя нулями в ответе: "minimum_balance": null Это значит, что нет минимума, "minimum_balance": "0" Это означает, что минимум равен нулю. current_balance никогда не является нулевым — недавно открытый счет имеет баланс "0"Ни одного отсутствующего.


Деньги на вход и выход​

Все три требуют, чтобы счет был active. On a pending, blocked or closed В учете им отказано.

депозит​

POST /api/v1/pfp/safekeeping-deposits/{id}/deposit
{ "amount": "50000000" }

Добавить в current_balance и total_depositsприращения transactions_count.

отозвать​

POST /api/v1/pfp/safekeeping-deposits/{id}/withdraw
{ "amount": "12000000" }

Добавить в total_withdrawalsОтказался, если он возьмет баланс ниже minimum_balance.

Бонус​

POST /api/v1/pfp/safekeeping-deposits/{id}/bonus
{ "amount": "180000", "reason": "Year-end appreciation" }

amount Требуется, reason необязательно, накапливается в total_bonus_received и прибавляется к bonus_history.

Это платеж, произведенный по усмотрению хранителя. Ничто на счете не объявляет об этом заранее, и держатель, который получает его в этом году, не имеет претензий к нему в следующем году.


Замораживание и закрытие​

POST /api/v1/pfp/safekeeping-deposits/{id}/activate    # no body, pending → active
POST /api/v1/pfp/safekeeping-deposits/{id}/block # reason required
POST /api/v1/pfp/safekeeping-deposits/{id}/unblock # no body
POST /api/v1/pfp/safekeeping-deposits/{id}/close # closed_by optional

Перечислить и прочитать​

GET /api/v1/pfp/safekeeping-deposits
Параметр запросаценности
statuspending | active | blocked | closed
regionрегиональный счет
customer_iduuid
typesafekeeping_only | guaranteed
min_balanceНебольшие единицы, ^\d+$ - счета на или выше этого баланса
envtest | prod

Отправка пустой строки для одной — это то, что производит незаполненное поле формы — обрабатывается таким же образом, поэтому частично заполненная форма поиска не разрушает результат, установленный на ничто.

GET /api/v1/pfp/safekeeping-deposits/{id}
{
"data": {
"id": "7c0b8a1e-0a5e-4a3f-9b6d-2f1f3a4b5c6d",
"deposit_number": "SFK-G-RU-20260823-1B4E07",
"status": "active",
"custody_type": "guaranteed",
"guaranteed": true,
"currency": "RUB",
"current_balance": "38180000",
"initial_amount": "0",
"minimum_balance": "100000",
"total_deposits": "50000000",
"total_withdrawals": "12000000",
"total_bonus_received": "180000",
"bonus_history": [
{ "date": "2026-12-31", "amount": "180000", "reason": "Year-end appreciation" }
],
"bonus_rate_annualized": 0,
"transactions_count": 3
}
}

bonus_rate_annualized является зеркалом заднего вида​

Ответ включает в себя годовой показатель фактически выплаченных бонусов, рассчитанных с возраста счета. Это отчет о прошлом, а не ставка. Он появляется только после того, как учетная запись имеет дату открытия; до этого он 0.

Ничто в бонусе, выплаченном в прошлом году, не обязывает кого-либо к бонусу в следующем году, и число, отображаемое рядом с знаком процента, будет читаться как обещание, независимо от того, какая этикетка находится рядом с ним.