Анкета участника M2M: сформировать → проверить → отправить в НРД (обычный канал)
Требование НРД при подключении к сервису M2M (МОСТ): зарегистрировать организацию в справочнике участников анкетой M2MTransferParticipantForm, иначе сервис отбивает запросы кодом M2M14. Регистрация идёт ОБЫЧНЫМ каналом (письмом на M2MOST@nsd.ru с вложением), не через M2M-шлюз. - Новая страница /admin/setup/participant-form (participant_form.go): предзаполнение из автоопределения DEPO (ИНН, наименования, код депозитария), правка оператором, валидация (формат ИНН/кодов + m2m.HandbookParticipant.Validate), предпросмотр анкеты, «Скачать» (windows-1251) и «Отправить в НРД» письмом с вложением-анкетой. - Генерация XML строкой-шаблоном по образцу НРД (namespace participant/form, CreationTimestamp по МСК, блоки Eng/BrokerPlace — опциональны), кодировка windows-1251 через nsdxml.EncodeWindows1251; экранирование текста только & < >. - Почта: выделен транспорт smtpDeliver из sendSMTP; добавлены buildMIMEAttach (multipart/mixed + base64-вложение) и sendSMTPAttach. - Тесты: валидация, генерация XML (Eng/BrokerPlace), cp1251 round-trip, MIME-вложение. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XG3zNMMf2LMoDpXo22mwMX
This commit is contained in:
@@ -233,6 +233,7 @@ func NewServer(cfg ServerConfig) (*Server, error) {
|
||||
registerSeedListing(mux, store)
|
||||
registerHandbookRequest(mux, igwClient, igwChannel)
|
||||
registerChainTest(mux, rc, igwClient != nil) // «Проверить всю цепочку» (мастер, глава «Запуск»)
|
||||
registerParticipantForm(mux, rc) // анкета участника M2M (регистрация в НРД, participant_form.go)
|
||||
|
||||
return &Server{
|
||||
cfg: cfg,
|
||||
|
||||
Reference in New Issue
Block a user