Сопоставление старых и новых сообщений
Каждое сообщение содержит набор сущностной информации, которую непосредственно нужно обработать, а также набор признаков, из которых
делается вывод о том, что именно нужно сделать с сущностной информацией.
Признаки, определяющие назначение сообщения
Три критерия, по которым обработчик понимает назначение сообщения.
Корневой тэг
Первое, из чего можно судить о назначении сообщения является его корневой тэг. Далее будем называть его именем сообщения.
Так, например, корневой тэг <nonpublicExecutionReport>
говорит о том, что в сообщении содержится
информация одного из перечисленных ниже назначений:
- анкета договора|генерального соглашения на первичную регистрацию;
- часть договора|генерального соглашения для внесения изменений.
Тэг <nonpublicExecutionReportException>
говорит о том, что в сообщении содержится информация об ошибке
при первичной (до квитовки и сверки) обработке анкеты либо в процессе сверки.
Признак isCorrection
Если значение этого поля равно False
, то сущностная информация сообщения направляется для первичной регистрации.
Если же значение равно True
, то сущностная информация сообщения направляется для внесения изменений в отправленные
ранее данные. Признак используется только в сообщениях, унаследованных от <CorrectableRequestMessage>
.
Events.model
Набор узлов (элементов, тэгов), описывающих экономические события - сделки и post-trade события. Например, внутри тэга <trade>
описывается конкретная сделка. Внутри тэга <optionExpiry>
описывается экспирация опциона.
Отдельным пунктом в <Events.model>
стоит элемент <additionalEvent>
. Он является
наследником абстрактного типа <AdditionalEvent>
, что позволяет определять собственные типы бизнес-событий, унаследованные
от <AdditionalEvent>
.
Trade
Тип <Trade>
используется для передачи информации об отдельной сделке. Одним из его узлов является элемент <product>
,
абстрактного типа Product
. От этого типа унаследованы все типы, описывающие конкретные финансовые инструменты, например
<FxSwap>
или <BondOption>
. Таким образом, внутри <Trade>
на месте элемента <product>
могут быть несколько других тэгов: