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

Сертификационные вопросы

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

Различие проявляется в трех местах: API Принудительный:

  • Этот вопрос должен быть подкреплён. underlying_asset_value не может быть меньше, чем total_valueВы не можете выпустить больше бумаги, чем есть за этим актив.
  • Распределение – это доход, а не купоны. POST /profit Срок, который ничего не заработал, ничего не распределяет, и никаких начисленных обязательств не остается.
  • У неудачи есть имя. Пропущенное распределение не является бесшумно неотличимым от сделанного: POST /default Существует, и проблема по умолчанию говорит об этом.

Базовый путь: /api/v1/pfp/certificate-issues · Религиозное чтение: Сукук


Типы резервных копий​

backing_type Наименование договора, доходы которого разделяют сертификаты:

ценностьСертификаты подкреплены
leaseДоход от аренды арендованного актива
managed_investmentПрибыль управляемого предприятия
partnershipДоля в совместном предприятии
installment_saleПортфель дебиторской задолженности в рассрочку
manufacturingАктив, находящийся в стадии строительства, оплачивается поэтапно
forward_purchaseТовары, оплаченные сейчас и доставленные позже

Статус​

draft ──submit──> under_review ──review──> review_passed
│ │ │
│ └──reject──> rejected │
│ │
└──────────── offering ───────────────────────┘
│
v
offering ──subscribe──> (holders record subscriptions)
│
close_subscription (optional)
v
subscribed
│ activate ← also reachable directly from offering
v
active ──mature──> matured ──redeem──> redeemed
│ │
│ └──default──> defaulted
├──redeem_early──> redeemed
└──default──> defaulted
статусЗначение
draftЗаписанные термины
under_reviewПредставлен на утверждение
review_passedЗаключение прилагается
rejectedТерминал. Требуется а reason
offeringОкно подписки открыто
subscribedОкно закрыто, еще не размещено
activeРазмещаются; сертификаты являются выдающимися и зарабатывают
maturedДата зрелости уже наступила
redeemedВыкуплено обратно; все позиции закрыты
defaultedОбязательства не выполняются. reason

В светском чтении offering досягаемости от draft а также как и review_passed.


Создать проблему​

POST /api/v1/pfp/certificate-issues
{
"name": "Kazan Logistics Park — Series A",
"region": "RU",
"currency": "RUB",
"backing_type": "lease",
"underlying_asset": "Logistics complex, 12 400 m², Kazan, lease to Magnit until 2032",
"underlying_asset_type": "real_estate",
"underlying_asset_value": "1800000000",
"total_value": "1500000000",
"certificate_value": "1000000",
"expected_yield": 9,
"maturity_months": 60,
"min_subscription": 5,
"max_subscription": 300,
"profit_distribution_frequency": "quarterly",
"redemption_mode": "bullet",
"early_redemption_allowed": true,
"early_redemption_penalty": "20000"
}
Полное полеТипТребуемыйЗаметки
namestring✅Название номера
regionstring✅Регион проблем
backing_typeenum✅Смотрите таблицу выше
underlying_assetstring✅Описание, более длительный, чем 10 персонажи
underlying_asset_valuestring✅Небольшие подразделения. Должно быть, по крайней мере total_value
total_valuestring✅Небольшие подразделения. Должен делить на certificate_value точно
certificate_valuestring✅Незначительные единицы — номинальная стоимость одного сертификата
expected_yieldinteger✅Целый процент, 1–50
maturity_monthsinteger✅1–360
min_subscriptioninteger—Минимальные сертификаты на одну заявку
max_subscriptioninteger—Потолок на одного держателяво всех своих приложениях
profit_distribution_frequencyenum—monthly | quarterly | semi_annually | annually
redemption_modeenum—bullet | amortizing | callable
early_redemption_allowedboolean—Ворота redeem_early
early_redemption_penaltystring—Небольшие подразделения
subscription_start, subscription_enddate—Также может быть установлен на offering
originator_id, spv_id, product_iduuid—
underlying_asset_type, metadata——

certificates_total Производится как total_value / certificate_valueРазделение должно быть точным.

Код выпуска​

Каждый вопрос получает isin Поле. Это не реально ISIN. Подлинный ISIN Выдается национальным нумерационным агентством; платформа не может изобрести и не претендует.Код здесь шестнадцать символов, где ISO 6166 Указывает ровно двенадцать, чтобы его нельзя было принять за идентификатор, выданный обменом:

RUCRT4A7F1C9E2B3
│ │ │ └── Luhn check digit
│ │ └── ten random hex characters
│ └── three characters naming the reading: CRT secular, SKK religious
└── two-character region code

Используйте его внутри. Если проблема указана, замените ее на реальную. ISIN от нумерационного агентства.


Запуск подписки​

Откройте окно​

POST /api/v1/pfp/certificate-issues/{id}/offering
{ "subscription_start": "2026-09-01", "subscription_end": "2026-10-15" }

Требуются обе даты. draft or review_passed → offering.

Запись подписки​

POST /api/v1/pfp/certificate-issues/{id}/subscribe
{ "investor_id": "b7d1e044-92a3-4c58-8f10-3ea6c9d27b45", "certificates": 50 }

Проверяется шесть условий, в таком порядке:

  1. certificates должно быть положительным целым числом.
  2. Проблема должна быть в offering — проект, просроченный или погашенный выпуск не принимает подписки.
  3. Сегодня он должен быть в окне подписки. Закрытое окно отклоняется.
  4. certificates должен быть по крайней мере min_subscription.
  5. max_subscription проверяется на общую позицию держателяДве заявки, каждая на потолке, отклоняются, потому что вместе они превышают его. Ошибка называет, сколько держатель уже держит.
  6. certificates Он не должен превышать того, что еще не подписано.

Закройте окно (необязательно)​

POST /api/v1/pfp/certificate-issues/{id}/close_subscription

Никакого тела. offering → subscribedОтказался, если никто не подписывался.

Этот шаг является факультативным — он существует, поэтому разрыв между сбором заявок и постановкой вопроса виден в отчетности. activate Принимает вопрос непосредственно от offering Тоже самое.

Поместите вопрос​

POST /api/v1/pfp/certificate-issues/{id}/activate
{ "issue_date": "2026-10-20" }

issue_date Отказано, если нет подписки - проблема без держателей не может быть размещена. certificates_outstanding из того, что было подписано, и вычисляет дату погашения.

offering or subscribed → active.


Распределять доходы​

POST /api/v1/pfp/certificate-issues/{id}/profit
{ "total_profit": "33750000", "period_end_date": "2026-12-31" }

Только от activeСумма делится на certificates_outstandingЗаписано и записано:

{
"profit_distributions": [
{
"date": "2026-12-31",
"total_profit": "33750000",
"per_certificate": "22500",
"certificates_outstanding": 1500
}
],
"total_profit_distributed": "33750000",
"actual_yield": 9,
"next_distribution_date": "2027-03-31"
}

actual_yield пересчитываются по каждому распределению: это то, что фактически оплатил выпуск, против expected_yield, на что надеялись при запуске. Оба целые проценты. Когда они расходятся, второе число - это то, что верно.

Отказываются нулевые и отрицательные суммы. period_end_date Это опционально и по умолчанию на сегодняшний день.


Прекращение проблемы​

зрелость​

POST /api/v1/pfp/certificate-issues/{id}/mature

Никакого тела. active → matured, **Но только в том случае, если срок действительно наступил.**Называть его рано - отказано.

искупление​

POST /api/v1/pfp/certificate-issues/{id}/redeem
{ "redemption_date": "2031-10-20" }

Только от maturedЗакрывает позицию каждого держателя и устанавливает certificates_outstanding до нуля.

Раннее искупление​

POST /api/v1/pfp/certificate-issues/{id}/redeem_early
{ "redemption_date": "2029-06-01" }

Только от activeи Только если early_redemption_allowed Он был создан для созданияИначе:

{
"error": "unprocessable_entity",
"details": {
"early_redemption_allowed": ["досрочный выкуп условиями не предусмотрен"]
}
}

по умолчанию​

POST /api/v1/pfp/certificate-issues/{id}/default
{ "reason": "Lessee insolvent; no rental income since 2028-04" }

Доступный из active и от matured - вопрос может выйти из строя до истечения срока его действия или не уплатить при выкупе. metadata.default_reason.


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

GET /api/v1/pfp/certificate-issues
Параметр запросаценности
statusлюбой статус выше
regionрегиональный регион
typeлюбой backing_type
investor_iduuid — вопросы, по которым у данного держателя есть подписка
envtest | prod
GET /api/v1/pfp/certificate-issues/{id}