Хранение депозитов
Владелец вкладывает деньги, вынимает их, когда хочет, и сумма гарантирована — возврат не обещан, и никто не должен.
Счет все равно может что-то заплатить. 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_id | uuid | ✅ | Держатель |
region | string | ✅ | Регион счетов |
currency | string | ✅ | ISO 4217 |
custody_type | enum | ✅ | safekeeping_only | guaranteed |
initial_amount | string | ✅ | Небольшие подразделения. Нулевая допускается (^\d+$) |
minimum_balance | string | — | Небольшие подразделения. Ноль разрешен. |
account_id | uuid | — | Связанный оперативный счет |
opened_by | string | — | Бесплатный текст |
metadata | object | — | Возвращение нетронутых |
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
| Параметр запроса | ценности |
|---|---|
status | pending | active | blocked | closed |
region | региональный счет |
customer_id | uuid |
type | safekeeping_only | guaranteed |
min_balance | Небольшие единицы, ^\d+$ - счета на или выше этого баланса |
env | test | 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.
Ничто в бонусе, выплаченном в прошлом году, не обязывает кого-либо к бонусу в следующем году, и число, отображаемое рядом с знаком процента, будет читаться как обещание, независимо от того, какая этикетка находится рядом с ним.