Files
ksv741 97069d6f6d
Docs security / security (pull_request) Successful in 6s
Docs verify / verify (pull_request) Successful in 11s
Conventional commits / commits (pull_request) Successful in 16s
Docs security / security (push) Successful in 9s
Docs verify / verify (push) Successful in 10s
docs: make documentation checks self-contained
2026-09-15 20:45:40 +03:00

46 lines
4.4 KiB
Markdown

# Интеграция с реестром НКР
НКР предоставляет кредитный рейтинг конкретного выпуска облигаций.
Backend загружает общий публичный [реестр выпусков](https://ratings.ru/ratings/issues/)
по HTTPS и ищет запись локально по точному ISIN. Ни token T-Bank,
ни сведения о пользователе или его счёте в запрос реестра не передаются.
## Значение и выбор записи
Рейтинг загружается для показателей открытой [страницы облигации](../domains/instruments/bonds.md#содержание),
а не для каждого результата поиска инструментов. Выбирается последнее
рейтинговое действие для ISIN. Отозванный рейтинг сохраняется как отдельное
состояние без действующего значения; противоречивые записи с одной датой
не разрешаются произвольным выбором.
Результат содержит агентство, значение или отзыв, дату рейтингового действия,
время получения реестра и ссылку на выпуск. Дата действия и время загрузки
имеют разный смысл: обращение к кэшу не делает сам рейтинг новее.
Отсутствие записи в успешно прочитанном реестре означает, что этот источник
не дал рейтинга выпуска. Оно не доказывает отсутствия рейтингов других
агентств. Рейтинг эмитента и уровень риска T-Bank не подставляются вместо
рейтинга выпуска. Причины выбора, альтернативы и ограничения распространения
данных сохранены в [ADR 013](../adr/013-nkr-bond-credit-ratings.md).
## Загрузка, кэш и отказ источника
Интеграция читает публичную HTML-таблицу. Штатный открытый API для этой таблицы
не подтверждён; текущий механизм зависит от её структуры, формата рейтинга,
ISIN, даты и ссылки на выпуск. Изменение таблицы, противоречивые записи,
пустой распознанный реестр или ошибка загрузки означают `NCR_UNAVAILABLE`,
а не успешный ответ «рейтинга нет».
Общий реестр сохраняется в памяти экземпляра backend на шесть часов.
Одновременные обращения к разным выпускам используют одну незавершённую загрузку.
После ошибки новая загрузка ограничена минутным интервалом; внутри одного
HTTP-запроса повторных попыток нет. Обновление запускается следующим обращением
после истечения кэша, без фонового задания. Точный механизм и сроки принадлежат
[клиенту НКР](https://git.personal.ksv741.ru/WealthLedger/backend/src/commit/016782657acfd35ff3fd755462007938fac35156/src/integrations/ncr/ncr-ratings.client.ts).
При отказе реестра показатели облигации отмечают недоступность рейтинга,
сохраняя остальные доступные показатели. Готовый ответ метрик имеет
[собственный кэш](../domains/instruments/bonds.md#получение-данных-и-восстановление),
отдельный от общего публичного реестра. Такая обработка не обещает непрерывной
доступности источника или наличия рейтинга у каждого выпуска.