<xs:element name="msgMisuseFundsAck"> <xs:complexType> <xs:sequence> <xs:element ref="tns:constructionProject"/> <xs:element minOccurs="0" ref="ds:Signature"/> </xs:sequence> </xs:complexType> </xs:element> |
Таблица 15- Состав сообщения «Подтверждение передачи КО информации о нецелевом использовании средств с расчетного счета»
Атрибут | Описание | Тип | Обязательность |
msgMisuseFundsAckGuid | Гуид запроса msgMisuseFundsAck, в рамках которого осуществляется передача информации о нецелевом использовании в КО | Строка | Обязательный |
constructionProject | Проект строительства (4.1.3) | Объект constructionProject | Обязательный |
XSD-схема:
<xs:element name="msgToKoMisuseFundsAck"> <xs:complexType> <xs:sequence> <xs:element name="msgMisuseFundsAckGuid"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="36"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element ref="tns:constructionProject"/> <xs:element minOccurs="0" ref="ds:Signature"/> </xs:sequence> </xs:complexType> </xs:element> |
Таблица 16- Состав сообщения «Регистрация права собственности по проекту строительства»
Атрибут | Описание | Тип | Обязательность |
constructionProject | Проект строительства (4.1.3) | Объект constructionProject | Обязательный |
documentPackage | Пакет документов (4.1.4) | Объект documentPackage | Обязательный |
XSD-схема:
<xs:complexType name="msgConstructionObjCompleted"> <xs:sequence> <xs:element ref="tns:constructionProject"/> <xs:element ref="tns:documentPackage"/> <xs:element minOccurs="0" ref="ds:Signature"/> </xs:sequence> </xs:complexType> |
Таблица 17- Состав сообщения «Сообщение об ошибке»
Атрибут | Описание | Тип | Обязательность |
error | Ошибка (Застройщик с данными реквизитами не найден/ Проект строительства не идентифицирован/ Не найдено заключение КО по ПД/ Пакет документов с указанной версией не найден/Получен не xml/Не пройдена валидация xml/ Некорректная подпись/Системная ошибка) | Строка (46) | Обязательное |
errorCode | Код ошибки (0) | Объект ErrorCode | Обязательное |
XSD-схема:
<xs:complexType name="msgError"> <xs:sequence> <xs:element name="error"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="46"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="errorCode" type="tns:ErrorCode"/> <xs:element minOccurs="0" ref="ds:Signature"/> </xs:sequence> </xs:complexType> |
Таблица 18- Маппинг кода ошибки и сообщения об ошибке
Код ошибки | Сообщение ошибки |
DEVELOPER_NOT_FOUND | Застройщик с данными реквизитами не найден |
CONSTRUCTION_PROJECT _NOT_IDENTIFIED | Проект строительства не идентифицирован |
KO_CONCLUSION_ NOT_FOUND | Не найдено заключение КО по ПД |
PACKAGE_VERSION_NOT_FOUND | Пакет документов не найден |
REQUEST_IS_NOT_VALID | Получен не xml |
XML_IS_NOT_VALID | Не пройдена валидация xml |
INVALID_SIGNATURE | Некорректная подпись |
GENERAL_ERROR | Системная ошибка |
Список запросов
Таблица 19 - Состав сообщения «Список запросов»
Атрибут | Описание | Тип | Обязательность |
guid | GUID запроса | Строка (36) | Обязательное |
status | Статус запроса (4.1.6) | Объект Status | Обязательное |
requestDate | Дата и время запроса Для статуса GENERATED_BY_EISGS будет пустой requestDate | Дата и время | Необязательное |
responseDate | Дата и время ответа Для статуса IN_PROGRESS будет пустая responseDate. Для статуса GENERATED_BY_EISGS в responseDate писать дату, когда появился статус GENERATED_BY_EISGS (т. е. когда данные подготовлены) | Дата и время | Необязательное |
errors | Ошибка (Застройщик с данными реквизитами не найден/Проект строительства не идентифицирован/ Проект строительства не связан с застройщиком / Факт открытия счета не зарегистрирован для Банка/ Пакет документов с указанной версией не найден) (4.2.8) | Список errorMessage | Необязательное |
XSD-схема:
<xs:complexType name="requestStatus"> <xs:sequence> <xs:element name="guid"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="36"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="status" type="tns:status"/> <xs:element name="requestDate" minOccurs="0" type="xs:dateTime"/> <xs:element name="responseDate" minOccurs="0" type="xs:dateTime"/> <xs:element name="errors" minOccurs="0" maxOccurs="unbounded" nillable="true" type="tns:msgError"/> </xs:sequence> </xs:complexType> |
Таблица 20 - Состав сообщения «Идентификатор (GUID) запроса»
Атрибут | Описание | Тип | Обязательность |
Guid | GUID запроса, направленного УБ. | Строка (36) | Обязательное |
<xs:complexType name="msgRequestId"> <xs:sequence> <xs:element name="guid"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:maxLength value="36"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" ref="ds:Signature"/> </xs:sequence> </xs:complexType> |
Интерфейс
Используемая технология: Обмен сообщениями в асинхронном режиме (REST API). Сообщения формируются в формате xml.
Алгоритм взаимодействия УБ и ЕИСЖС представлен следующими шагами:
- Банк инициирует создание запроса; В ответ Банк получает идентификатор (guid) запроса; Банк с определенной периодичностью производит опрос – проверку статуса по guid запроса; Если статус 200, то запрос отработал и в теле ответа находится результат; Банком может быть получен список запросов с информацией о выполнении. В ряде случаев (изменение пакета документов, регистрация права собственности, подтверждение передачи в КО информации о нецелевом использовании) сообщение формируется ЕИСЖС без входящего запроса от Банка. Для получения информации о таких запросах Банк должен проводить опрос – должен быть использован метод «Получение списка запросов», далее метод «Проверка статуса запроса».
Примечание: Периодичность опроса должна быть не реже чем раз в минуту, желательно, чтобы этот параметр был конфигурируемый.
Статусная модель запроса:
- IN_PROGRESS - Запрос обрабатывается; READY - запрос обработан, ответ готов; ERROR – произошла ошибка; GENERATED_BY_EISGS – сообщение сформировано на стороне ЕИСЖС без входящего запроса от УБ; UPLOAD – служебный финальный статус для сообщений, сформированных на стороне ЕИСЖС без входящего запроса от УБ.
Таблица 21 – Маппинг статусов сообщений и HTTP-кодов
Статус запроса | HTTP код |
IN_PROGRESS GENERATED_BY_EISGS | 202 |
READY GENERATED_BY_EISGS | 200 |
ERROR | 500 |
Таблица 22 – Описание методов взаимодействия УБ и ЕИСЖС
Наименование метода | Rest Endpoint | HTTP метод | Payload | Описание |
Создание запроса | /request | POST | Возможные типы передаваемого payload: msgInfoPackageRequest msgMisuseFunds | Создаёт запрос, который кладёт его в очередь, возвращая сообщение с GUID запроса (msgRequestId). Payload запроса будет подписан xmldsig |
Проверка статуса запроса | /request/{GUID} | GET | Возможные типы возвращаемого payload: HTTP ответ 200 msgInfoPackageReady msgMisuseFundsAck msgInfoPackageChanged msgToKoMisuseFundsAck msgConstructionObjCompleted HTTP ответ 202 отсутствует HTTP ответ 500 Список msgError | Возвращает статус запроса. Статус 200(READY/ GENERATED_BY_EISGS), если запрос отработал + payload подписанный xmldsig. В случае если запрос ещё отрабатывает, пакет документов не готов к скачиванию вернётся 202 – Accepted(IN_PROGRESS/ GENERATED_BY_EISGS) В случае ошибки 500(ERROR) и Payload с описанием ошибки |
Получение списка запросов | /request? from=date&to=date&status={status} | GET | Возможные типы возвращаемого payload: Список requestStatus | Каждый из параметров запроса опционален, в случае присутствия – фильтрует количество результатов. Возвращается список зарегистрированных запросов, в составе GUID, статус, время получения запроса, время ответа (Error! Reference source not found.). |
Перевод запроса в статус * | /request/{GUID} | PUT | Возможные типы возвращаемого payload: HTTP ответ 200 HTTP ответ 406 | Позволяет перевести запросы из статуса GENERATED_BY_EISGS в UPLOAD.* Если операция изменения статуса недопустима то возвращается статус 406 (Not Acceptable). |
Получение пакета документов из Docstore | /getDocumentPackage/{package_guid} | GET | Возможные типы возвращаемого payload: HTTP ответ 200 HTTP ответ 404 msgError | По guid пакета (полученному УБ от ЕИСЖС в рамках сообщения msgInfoPackageReady, msgInfoPackageChanged msgConstructionObjCompleted) возвращает архив с пакетом документов. |
*Примечание: статус UPLOAD является служебным, отражает финальный статус для сообщений, созданных ЕИСЖС без входящего запроса от УБ (такие запросы имеют статус GENERATED_BY_EISGS). С помощью метода put /request/{GUID} (Таблица 22) УБ имеет возможность перевести запрос из статуса GENERATED_BY_EISGS в UPLOAD, чтобы в дальнейшем при получении списка запросов иметь возможность отфильтровать данные запросы.
Таблица 23 – Маппинг входящих и исходящих Payload для ЕИСЖС
Входящий PayLoad | Исходящий PayLoad |
msgInfoPackageRequest | msgInfoPackageReady msgError |
msgMisuseFunds | msgMisuseFundsAck msgError |
- | msgToKoMisuseFundsAck |
- | msgConstructionObjCompleted |
- | msgInfoPackageChanged |
Целевым решением в части подписи сообщений является подпись согласно спецификации «XML Signature Syntax and Processing Version 2.0» (https://www. w3.org/TR/xmldsig-core2/).
Целевым решением в части аутентификации банков будет https auth, на первом этапе на тестовом контуре будет http Basic auth.
В случае ошибки аутентификации будет возвращен статус 403.
Сообщения передаются в формате с включенной электронной подписью в формате XMLdsig (Xades-T XML-DSig с timestamp).
При направлении сообщений со стороны ЕИСЖС для уполномоченных банков payload должен быть подписан XMLdsig, при этом архив с пакетом документов и файлы из архива подписываться не будут.
Результат подписания сохраняется в тексте сообщения в виде элемента <Signature> в соответствии с спецификацией XMLdsig. Подпись должна содержать метку времени (TSP).
Подпись должна соответствовать требованиям УКЭП и 63 ФЗ «Об электронной подписи».
Квалифицированный сертификат ключа проверки электронной подписи должен соответствовать Требованиям к форме квалифицированного сертификата ключа проверки электронной подписи, утвержденным приказом ФСБ России 2011 г. № 000 и соответствующим статья закона 63 ФЗ.
XSD-схемаXsd-схема представлена в отдельном файле:

|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 |


