Обработка сообщений / ПАО Санкт-Петербургская биржа


Обработка сообщений

После того как Репозитарий получает отправленное клиентом сообщение, оно проходит процесс обработки и проверки сообщения. Во время этого процесса проверяется:

  • электронная подпись, прикрепленная к сообщению
  • XML-структура валидируется согласно XSD-схеме
  • не дублирует ли текущее сообщение ранее полученное
  • бизнес-логика сообщения и заполненные данные

При наличии ошибок сообщение отклоняется, ему присваивается статус ошибки (REJECTED, ERROR или PROCESSING_FAILURE), его дальнейшая обработка прекратится, а клиенту будет направлено уведомление об ошибке (тип сообщения nonpublicExecutionReportException).

В случае одностороннего информирования, при отсутствии ошибок сообщение регистрируется в Репозитарии.

При регистрации, сообщению присваивается статус REGISTERED, клиенту будет направлено уведомление об успешной регистрации (тип сообщения nonpublicExecutionReportAcknowledgement), а его дальнейшая обработка зависит от типа сообщения.

В случае двухстороннего информирования, при отуствии ошибок, осуществляется поиск ответного сообщения от второй стороны. Если такое сообщение найдено, сообщение регистрируется в Репозитарии, а при наличии незначительных расхождений, сторонам также направляется уведомление о расхождениях (тип сообщения reportDifference).

Если ответного сообщения от второй стороны не найдено, то сообщение переходит в статус WAITING и ожидает ответного сообщения. При поступлении ответного сообщения, оба сообщения регистрируются в Репозитарии, а при наличии незначительных расхождений, сторонам также направляется уведомление о расхождениях (тип сообщения reportDifference).

Если в течении 4 операционных дней ответное сообщение не поступило или отправитель направил запрос на отмену данного сообщения, то сообщение переходит в статус CANCELED, его дальнейшая обработка прекращается, а отправителю будет направлено уведомление об ошибке (тип сообщения nonpublicExecutionReportException).


Ниже представлена схема обработки сообщения и его статусов. При наведении на блок, появляется примечание с подробным описанием. Пунктиром выделены стрелки, которые возможны только в случае двухстороннего информирования.

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
Статус Описание
QUEUED Получено, ожидает предобработки
PREPROCESSING Находится на предобработке
READY_TO_PROCESS Ожидает обработки
PROCESSING Идет обработка сообщения
WAITING Ожидает регистрации (ожидает встречное сообщение контрагента)
REGISTERED Зарегистрировано 
DELAYED Ожидает обработки, отложено
CANCELLED Отменено (репозитарием по истечению срока ожидания встречного сообщения или организацией, направившей сообщение)
REJECTED Ошибка предобработки сообщения (валидация, подпись)
ERROR Ошибка обработки сообщения (бизнес-логика)
PROCESSING_FAILURE Ошибка обработки сообщения (сбой при обработке)