ОБРАБОТКА СООБЩЕНИЙ
После того как Репозитарий получает отправленное клиентом сообщение, оно проходит процесс обработки и проверки сообщения. Во время этого процесса проверяется:
- электронная подпись, прикрепленная к сообщению
- XML-структура валидируется согласно XSD-схеме
- не дублирует ли текущее сообщение ранее полученное
- бизнес-логика сообщения и заполненные данные
При наличии ошибок сообщение отклоняется, ему присваивается статус ошибки (REJECTED, ERROR или PROCESSING_FAILURE), его дальнейшая обработка прекратится, а клиенту будет направлено уведомление об ошибке (тип сообщения nonpublicExecutionReportException).
В случае одностороннего информирования, при отсутствии ошибок сообщение регистрируется в Репозитарии.
При регистрации, сообщению присваивается статус REGISTERED, клиенту будет направлено уведомление об успешной регистрации (тип сообщения nonpublicExecutionReportAcknowledgement), а его дальнейшая обработка зависит от типа сообщения.
В случае двухстороннего информирования, при отуствии ошибок, осуществляется поиск ответного сообщения от второй стороны. Если такое сообщение найдено, сообщение регистрируется в Репозитарии, а при наличии незначительных расхождений, сторонам также направляется уведомление о расхождениях (тип сообщения reportDifference).
Если ответного сообщения от второй стороны не найдено, то сообщение переходит в статус WAITING и ожидает ответного сообщения. При поступлении ответного сообщения, оба сообщения регистрируются в Репозитарии, а при наличии незначительных расхождений, сторонам также направляется уведомление о расхождениях (тип сообщения reportDifference).
Если в течении 3 операционных дней ответное сообщение не поступило или отправитель направил запрос на отмену данного сообщения, то сообщение переходит в статус CANCELED, его дальнейшая обработка прекращается, а отправителю будет направлено уведомление об ошибке (тип сообщения nonpublicExecutionReportException).
Ниже представлена схема обработки сообщения и его статусов. При наведении на блок, появляется примечание с подробным описанием. Пунктиром выделены стрелки, которые возможны только в случае двухстороннего информирования.