Войти

Статусные сообщения в СМЭВ 3

Статусные сообщения в СМЭВ 3 - это сообщения, содержащие информацию о статусе обработки сообщения в СМЭВ 3.

Сведения могут быть:

  1. О непрохождении синхронной или асинхронной проверки в СМЭВ,
  2. О постановке отправленного сообщения в очередь получателя,
  3. О доставке сообщения получателю,
  4. Об архивации сообщения,
  5. Об истечении срока хранения сообщения, отправленного в адрес ИС.

Сообщения с ошибками возвращаются в том случае, если в ходе синхронной или асинхронной стадий обработки в СМЭВ были выявлены несоответствия требованиям Методических рекомендаций. Например, ошибки могут быть связаны с:

  • Электронной подписью (истек срок действия сертификата, отозван или недействителен),
  • Приложенными файлами (недопустимый размер, количество файлов или информация о вложении),
  • Не найден получатель по виду сведений,
  • Доступ к ВС запрещен,
  • Непрохождение форматно-логического контроля - несоответствие сообщения схеме ВС или схеме СМЭВ,
  • и пр.

С полным перечнем возвращаемых ошибок и причинами возникновения каждой из них можно ознакомиться в статье Описание типовых возвращаемых ошибок.

И если ошибка возникла на асинхронной стадии, тогда в конверте SendRequestResponse для запроса или SendResponseResponse для ответа будут содержаться не сведения о получении сообщения, а сведения о типовой ошибке.

Например, неуспешный результат прохождения асинхронной проверки вложений:

<st3:AsyncProcessingStatus>
                     <st3:OriginalMessageId>f6c083a9-77ae-11ed-966a-4c1d96767ede</st3:OriginalMessageId>
                     <st3:StatusCategory>requestIsRejectedBySmev</st3:StatusCategory>
                     <st3:StatusDetails>Размер одного из вложений или всех вложений равен нулю</st3:StatusDetails>
                     <st3:SmevFault>
                        <sb3:Code>FLC-ATTACHMENT</sb3:Code>
                        <sb3:Description>SMEV-201: Некорректная информация о фтп вложениях; UUID вложения:b333e198-77ae-11ed-966a-4c1d96767ede</sb3:Description>
                     </st3:SmevFault>
                  </st3:AsyncProcessingStatus>

где OriginalMessageId - идентификатор сообщения, сформированный отправителем сообщения, которого касается статусное,

       StatusCategory – категория статуса,
       StatusDetails - описание статуса сообщения,
       SmevFault – элемент, содержащий Code – код ошибки и Description – описание ошибки. Данный элемент присутствует только в статусных с ошибкой.

Если по сообщению получено статусное с типовой ошибкой СМЭВ, значит оно не доставлено получателю. Необходимо исправить ошибку и повторить отправку вновь.

Остальные статусные сообщения носят информационный характер, оповещают о переходе в определенный статус.

Так, статусное о постановке отправленного сообщения в очередь получателя говорит о том, что сообщение SendRequestRequest (для запросов) или SendResponseRequest (для ответов) успешно прошло все проверки СМЭВ и размещено в очереди ИС получателя.

Пример:

<st3:AsyncProcessingStatus>
          <st3:OriginalMessageId>54e0c789-aad0-21ed-bbe7-00505680ab76</st3:OriginalMessageId>
          <st3:StatusCategory>requestIsAcceptedBySmev</st3:StatusCategory>
          <st3:StatusDetails>Successfully queued</st3:StatusDetails>
</st3:AsyncProcessingStatus>

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

Пример:

<st3:AsyncProcessingStatus>
          <st3:OriginalMessageId>54e0c789-aad0-11ed-bbe7-00505680ab76</st3:OriginalMessageId>
          <st3:StatusCategory>messageIsDelivered</st3:StatusCategory>
          <st3:StatusDetails>Сообщение доставлено</st3:StatusDetails>
</st3:AsyncProcessingStatus>

Статусное сообщение об архивации говорит о том, что получатель не вычитал адресованное ему сообщение в течение положенных 15 дней, поэтому оно было переведено в архив. В таком случае потребуется повторно отправить сообщение.

Пример статусного сообщения:

<ns2:AsyncProcessingStatus>
          <ns2:OriginalMessageId>8dc1654e-a096-11ed-bbd8-09b18de6a3ed</ns2:OriginalMessageId>
          <ns2:StatusCategory>messageIsArchived</ns2:StatusCategory>
          <ns2:StatusDetails>Сообщение архивировано</ns2:StatusDetails>
</ns2:AsyncProcessingStatus>

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

Пример статусного об истечении срока хранения сообщения, отправленного в адрес ИС:

<ns2:AsyncProcessingStatus>
          <ns2:OriginalMessageId>0b3da56c-a09a-11ed-abea-795a78884942</ns2:OriginalMessageId>
          <ns2:StatusCategory>cancelled</ns2:StatusCategory>
          <ns2:StatusDetails>Сообщение архивировано</ns2:StatusDetails>
</ns2:AsyncProcessingStatus>

Статусные сообщения СМЭВ настраиваются в ЛК УВ. Причем для каждой информационной системы индивидуально. Можно их отключить совсем или выбрать, о каких статусах хочется получать информацию.

Для этого необходимо авторизоваться в ЛК УВ и перейти в карточку информационной системы во вкладку Настройки статусных сообщений (Рисунок 1).

Настройка статусных сообщений для ИС в ЛК УВ.png

Рисунок 1 – Настройка статусных сообщений для ИС в ЛК УВ.

Здесь можно галочками выбрать, о каких статусах СМЭВ получать сведения. А также отключить получение всех статусных сообщений, в том числе сообщений об ошибках в ходе проверки в СМЭВ, переключением ползунка Статусные сообщения.

Но важно помнить, сведения о типовых ошибках – важная информация, которая помогает участникам проконтролировать себя на наличие возможных несоответствий требованиям МР СМЭВ. Знание о возникших ошибках поможет вовремя их исправить, тем самым поддерживая качественные взаимодействия между участниками. Поэтому будьте внимательны в выборе вариантов.

Все статусные сообщения размещаются в очереди ответов ИС. Основным механизмом доставки статусных сообщений об ошибках обработки становятся системные ответы СМЭВ, получаемые методом GetResponse.

Помимо статусных сообщений от СМЭВ также бывают сообщения от поставщика о статусе обработки им запроса. Данный статус содержится в ответе. Подобных статусов-ответов может быть неограниченное количество, и все они расписываются в руководстве пользователя вида сведений, по которому осуществляется обмен. Но применимы они не для всех ВС.

Статус обработки на стороне ответчика содержится в элементе //GetResponseResponse/ResponseMessage/Response/SenderProvidedResponseData/RequestStatus.

Статус может также содержать отказ. В таком случае он будет размещаться в элементе //GetResponseResponse/ResponseMessage/Response/SenderProvidedResponseData/RequestRejected и содержать причину отклонения запроса.

Примеры со статусными сообщениями содержатся в эталонных сообщениях ВС (в карточке версии ВС в ЛК УВ).

Авторизуйтесь, чтобы оставить комментарий к статье