feat: живой цикл M2M с НРД + мастер установки ключа на флешку
Инфраструктура M2M (живой обмен с НРД через ИШ): - обработка M2MTransferResponse: ERROR(M2Mxx) → заявка Отклонена, сохранение ответа; INFO → ждём Decision; идемпотентность поллера - fallback-корреляция ответов с нулевым GUID (M2M14/M2M17) по FIFO - сырой XML ответа НРД в карточке заявки (для пересылки в ТП) - тестовый пакет роботу приведён к эталону m2m_robot_samples (CostInfo=Yes, 4 бумаги, IsolationStatus, DocumentSeries=сценарий); override паспорта - редирект из теста сразу в карточку заявки Мастер установки ключа Валидаты на флешку (admin/setup/keywizard): - пошаговый: загрузка .7z+пароль → выбор флешки → запись → справочник сертификатов (CRL) → перезапуск+проверка ИШ → готово - привилегированный воркер (bj-keymedia) в host-namespace через файл-обмен, bj-server остаётся в песочнице - сохранение структуры профиля архива (spr<N>), перечисление съёмных USB Прочее: - пакет-доказательство для ТП НРД + форма регистрации участника M2M - эталонные образцы робота (DOC/m2m_robot_samples) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="windows-1251"?>
|
||||
<M2MTransferRequest xmlns="http://nsd.ru/schemas/m2m/request">
|
||||
<Header xmlns="http://nsd.ru/schemas/m2m/request">
|
||||
<GUID xmlns="http://nsd.ru/schemas/m2m/types">b26440be-8a1e-4403-a35e-bc9df0da4a33</GUID>
|
||||
<CreationTimestamp xmlns="http://nsd.ru/schemas/m2m/types">2026-06-18T13:13:50(МСК)</CreationTimestamp>
|
||||
<SenderCode xmlns="http://nsd.ru/schemas/m2m/types">MC0413600000</SenderCode>
|
||||
<ReceiverCode xmlns="http://nsd.ru/schemas/m2m/types">MC0012500000</ReceiverCode>
|
||||
<CostInfo xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Yes xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Code xmlns="http://nsd.ru/schemas/m2m/types">MC0413600000</Code>
|
||||
</Yes>
|
||||
</CostInfo>
|
||||
</Header>
|
||||
<Data xmlns="http://nsd.ru/schemas/m2m/request">
|
||||
<IsM2M xmlns="http://nsd.ru/schemas/m2m/types">true</IsM2M>
|
||||
<InvestorInformation xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<LastName xmlns="http://nsd.ru/schemas/m2m/types">Петров</LastName>
|
||||
<FirstName xmlns="http://nsd.ru/schemas/m2m/types">Пётр</FirstName>
|
||||
<MiddleName xmlns="http://nsd.ru/schemas/m2m/types">Петрович</MiddleName>
|
||||
<IdentityDocument xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<DocumentType xmlns="http://nsd.ru/schemas/m2m/types">21</DocumentType>
|
||||
<DocumentSeries xmlns="http://nsd.ru/schemas/m2m/types">2001</DocumentSeries>
|
||||
<DocumentNumber xmlns="http://nsd.ru/schemas/m2m/types">111111</DocumentNumber>
|
||||
</IdentityDocument>
|
||||
</InvestorInformation>
|
||||
<TransferringDepository xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7702165310</INN>
|
||||
</TransferringDepository>
|
||||
<ReceivingDepository xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7722061076</INN>
|
||||
</ReceivingDepository>
|
||||
<TransferredSecurities xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Security xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ReferenceId xmlns="http://nsd.ru/schemas/m2m/types">M2M20260618RGVNK</ReferenceId>
|
||||
<SecurityCode xmlns="http://nsd.ru/schemas/m2m/types">RU0007661625</SecurityCode>
|
||||
<SecurityDetails xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ISIN xmlns="http://nsd.ru/schemas/m2m/types">RU0007661625</ISIN>
|
||||
</SecurityDetails>
|
||||
<Quantity xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Whole xmlns="http://nsd.ru/schemas/m2m/types">1</Whole>
|
||||
</Quantity>
|
||||
<SettlementAccount xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<SettlementRequisites xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7702070139</INN>
|
||||
</SettlementRequisites>
|
||||
<SettlementLocation xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<DeponentCode xmlns="http://nsd.ru/schemas/m2m/types">DP100200</DeponentCode>
|
||||
<AccountId xmlns="http://nsd.ru/schemas/m2m/types">31MC0010000000A01</AccountId>
|
||||
<SectionId xmlns="http://nsd.ru/schemas/m2m/types">A001</SectionId>
|
||||
</SettlementLocation>
|
||||
</SettlementAccount>
|
||||
<IsolationStatus xmlns="http://nsd.ru/schemas/m2m/types">SGDN</IsolationStatus>
|
||||
</Security>
|
||||
<Security xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ReferenceId xmlns="http://nsd.ru/schemas/m2m/types">M2M20260618G5DW6</ReferenceId>
|
||||
<SecurityCode xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JP5V6</SecurityCode>
|
||||
<SecurityDetails xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ISIN xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JP5V6</ISIN>
|
||||
</SecurityDetails>
|
||||
<Quantity xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Whole xmlns="http://nsd.ru/schemas/m2m/types">1</Whole>
|
||||
</Quantity>
|
||||
<SettlementAccount xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<SettlementRequisites xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7702070139</INN>
|
||||
</SettlementRequisites>
|
||||
<SettlementLocation xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<DeponentCode xmlns="http://nsd.ru/schemas/m2m/types">DP100200</DeponentCode>
|
||||
<AccountId xmlns="http://nsd.ru/schemas/m2m/types">31MC0010000000A01</AccountId>
|
||||
<SectionId xmlns="http://nsd.ru/schemas/m2m/types">A001</SectionId>
|
||||
</SettlementLocation>
|
||||
</SettlementAccount>
|
||||
<IsolationStatus xmlns="http://nsd.ru/schemas/m2m/types">SGDN</IsolationStatus>
|
||||
</Security>
|
||||
<Security xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ReferenceId xmlns="http://nsd.ru/schemas/m2m/types">M2M20260618CTDHY</ReferenceId>
|
||||
<SecurityCode xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JPKH7</SecurityCode>
|
||||
<SecurityDetails xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ISIN xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JPKH7</ISIN>
|
||||
</SecurityDetails>
|
||||
<Quantity xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Whole xmlns="http://nsd.ru/schemas/m2m/types">1</Whole>
|
||||
</Quantity>
|
||||
<SettlementAccount xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<SettlementRequisites xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7702070139</INN>
|
||||
</SettlementRequisites>
|
||||
<SettlementLocation xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<DeponentCode xmlns="http://nsd.ru/schemas/m2m/types">DP100200</DeponentCode>
|
||||
<AccountId xmlns="http://nsd.ru/schemas/m2m/types">31MC0010000000A01</AccountId>
|
||||
<SectionId xmlns="http://nsd.ru/schemas/m2m/types">A001</SectionId>
|
||||
</SettlementLocation>
|
||||
</SettlementAccount>
|
||||
<IsolationStatus xmlns="http://nsd.ru/schemas/m2m/types">SGDN</IsolationStatus>
|
||||
</Security>
|
||||
<Security xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ReferenceId xmlns="http://nsd.ru/schemas/m2m/types">M2M20260618HQZ1Q</ReferenceId>
|
||||
<SecurityCode xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JPGP8</SecurityCode>
|
||||
<SecurityDetails xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<ISIN xmlns="http://nsd.ru/schemas/m2m/types">RU000A0JPGP8</ISIN>
|
||||
</SecurityDetails>
|
||||
<Quantity xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<Whole xmlns="http://nsd.ru/schemas/m2m/types">1</Whole>
|
||||
</Quantity>
|
||||
<SettlementAccount xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<SettlementRequisites xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<INN xmlns="http://nsd.ru/schemas/m2m/types">7702070139</INN>
|
||||
</SettlementRequisites>
|
||||
<SettlementLocation xmlns="http://nsd.ru/schemas/m2m/types">
|
||||
<DeponentCode xmlns="http://nsd.ru/schemas/m2m/types">DP100200</DeponentCode>
|
||||
<AccountId xmlns="http://nsd.ru/schemas/m2m/types">31MC0010000000A01</AccountId>
|
||||
<SectionId xmlns="http://nsd.ru/schemas/m2m/types">A001</SectionId>
|
||||
</SettlementLocation>
|
||||
</SettlementAccount>
|
||||
<IsolationStatus xmlns="http://nsd.ru/schemas/m2m/types">SGDN</IsolationStatus>
|
||||
</Security>
|
||||
</TransferredSecurities>
|
||||
</Data>
|
||||
</M2MTransferRequest>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="windows-1251" standalone="yes"?>
|
||||
<M2MTransferResponse xmlns:ns2="http://nsd.ru/schemas/m2m/types" xmlns:ns3="http://nsd.ru/schemas/m2m/response">
|
||||
<ns3:GUID>00000000-0000-0000-0000-000000000000</ns3:GUID>
|
||||
<ns3:StatusCode>ERROR</ns3:StatusCode>
|
||||
<ns3:Response>
|
||||
<ns2:Code>M2M14</ns2:Code>
|
||||
<ns2:Text>Код ЭДО НРД отправителя сообщения отсутствует в справочнике участников M2M</ns2:Text>
|
||||
</ns3:Response>
|
||||
</M2MTransferResponse>
|
||||
@@ -0,0 +1,55 @@
|
||||
ПАКЕТ ДЛЯ ТЕХПОДДЕРЖКИ НРД (сервис MOEX МОСТ / M2M)
|
||||
====================================================
|
||||
|
||||
Цель: показать НРД, ЧТО мы отправляем роботу и КАКОЙ ответ получаем, чтобы
|
||||
поддержка однозначно поняла суть обращения и подтвердила/выполнила регистрацию
|
||||
нашего кода в справочнике участников M2M тестового контура.
|
||||
|
||||
НАШИ РЕКВИЗИТЫ
|
||||
-------------
|
||||
Депозитарный код (= Код ЭДО НРД отправителя): MC0413600000
|
||||
Тестовый контур: TEST3 (ГОСТ-криптография)
|
||||
Канал ИШ: TEST3MC0413600000
|
||||
Период тестирования: 21.05.2026 — 01.09.2026
|
||||
|
||||
ЧТО МЫ ОТПРАВЛЯЕМ → файл 01_outgoing_M2MTransferRequest.xml
|
||||
--------------------------------------------------------------
|
||||
Тип документа: M2MTransferRequest (#M2MTR)
|
||||
GUID запроса: b26440be-8a1e-4403-a35e-bc9df0da4a33
|
||||
CreationTimestamp: 2026-06-18T13:13:50(МСК)
|
||||
SenderCode: MC0413600000 (наш код ЭДО НРД)
|
||||
ReceiverCode: MC0012500000 (тестовый робот НРД)
|
||||
Сценарий робота: 2001 (DocumentSeries), «принять все бумаги»
|
||||
Бумаг в пакете: 4
|
||||
Пакет подписан Интеграционным шлюзом (ИШ) сертификатом УЦ МБ.
|
||||
|
||||
ЧТО ОТВЕЧАЕТ НРД → файл 02_incoming_M2MTransferResponse.xml
|
||||
--------------------------------------------------------------
|
||||
Тип документа: M2MTransferResponse (#M2MER), подпись НРД — VALID
|
||||
GUID: 00000000-0000-0000-0000-000000000000 (нулевой)
|
||||
StatusCode: ERROR
|
||||
Код: M2M14
|
||||
Текст: «Код ЭДО НРД отправителя сообщения отсутствует в
|
||||
справочнике участников M2M»
|
||||
|
||||
СУТЬ ОБРАЩЕНИЯ И ВОПРОС К НРД
|
||||
----------------------------
|
||||
Технически обмен работает: запрос доходит до сервиса МОСТ, НРД его принимает,
|
||||
проверяет нашу подпись и отвечает. Отказ — на уровне справочника участников:
|
||||
наш код ЭДО MC0413600000 в справочнике участников M2M (тестовый контур) пока
|
||||
отсутствует.
|
||||
|
||||
Просим:
|
||||
1) подтвердить, что отправителем M2M для нашего контура должен выступать
|
||||
именно депозитарный код MC0413600000 (либо сообщить корректный код);
|
||||
2) зарегистрировать наш код в справочнике участников M2M тестового контура,
|
||||
чтобы робот (MC0012500000) распознавал отправителя и возвращал
|
||||
M2MTransferDecision вместо ошибки M2M14.
|
||||
|
||||
Для поиска нашего запроса на стороне НРД: GUID b26440be-8a1e-4403-a35e-bc9df0da4a33
|
||||
(ответ M2M14 приходит с нулевым GUID, поэтому указываем GUID исходного запроса).
|
||||
|
||||
ВЛОЖЕНИЯ
|
||||
--------
|
||||
01_outgoing_M2MTransferRequest.xml — наш запрос (то, что мы отправляем)
|
||||
02_incoming_M2MTransferResponse.xml — ответ НРД (M2M14)
|
||||
@@ -0,0 +1,44 @@
|
||||
Кому: M2MOST@nsd.ru
|
||||
Копия: soed@nsd.ru
|
||||
Тема: M2M Автотестирование (МОСТ): ошибка M2M14 — регистрация кода MC0413600000 в справочнике участников
|
||||
|
||||
Добрый день!
|
||||
|
||||
Проводим автотестирование сервиса MOEX МОСТ (перевод M2M) с роботом в тестовом
|
||||
контуре TEST3. Технически обмен настроен и работает: запрос доходит до сервиса,
|
||||
НРД проверяет подпись и отвечает. Однако робот возвращает отказ:
|
||||
|
||||
StatusCode: ERROR
|
||||
Код: M2M14
|
||||
Текст: «Код ЭДО НРД отправителя сообщения отсутствует в справочнике
|
||||
участников M2M»
|
||||
|
||||
Наши реквизиты:
|
||||
- Депозитарный код (Код ЭДО НРД отправителя): MC0413600000
|
||||
- Тестовый контур: TEST3, ГОСТ-криптография
|
||||
- Период тестирования: 21.05.2026 — 01.09.2026
|
||||
- GUID нашего запроса для поиска на вашей стороне:
|
||||
b26440be-8a1e-4403-a35e-bc9df0da4a33
|
||||
(ответ M2M14 приходит с нулевым GUID, поэтому указываем GUID запроса)
|
||||
|
||||
Во вложении — фактический обмен, чтобы предметно видеть, что мы отправляем и
|
||||
что получаем в ответ:
|
||||
1) 01_outgoing_M2MTransferRequest.xml — наш запрос роботу (MC0012500000),
|
||||
SenderCode=MC0413600000, сценарий 2001;
|
||||
2) 02_incoming_M2MTransferResponse.xml — ваш ответ с кодом M2M14.
|
||||
|
||||
Просим:
|
||||
1) подтвердить, что отправителем M2M для нашего контура должен выступать
|
||||
именно депозитарный код MC0413600000 (либо сообщить корректный код);
|
||||
2) зарегистрировать наш код в справочнике участников M2M тестового контура,
|
||||
чтобы робот распознавал отправителя и возвращал M2MTransferDecision
|
||||
вместо ошибки M2M14.
|
||||
|
||||
Если для этого требуется уточнить/дополнить онлайн-заявку на участие в
|
||||
тестировании систем НРД (система МОСТ, тип «M2M Автотестирование») — подскажите,
|
||||
пожалуйста, что именно поправить.
|
||||
|
||||
С уважением,
|
||||
ЗАПОЛНИТЬ_ФИО, ЗАПОЛНИТЬ_ДОЛЖНОСТЬ
|
||||
ЗАПОЛНИТЬ_ОРГАНИЗАЦИЯ
|
||||
ЗАПОЛНИТЬ_КОНТАКТ (телефон / e-mail)
|
||||
Reference in New Issue
Block a user