Хабр, привет! Меня зовут Волков Дмитрий, и я являюсь руководителем отдела развития интеграционных шлюзов Страхового Дома ВСК. В августе 2023 стала доступна возможность подать сведения о ДТП через портал гос. услуг. Страховая компания должна в течение 5 минут принять ваше заявление, уведомить вас об этом и запустить процесс рассмотрения и урегулирования вашего заявления.
Для Страхового Дома ВСК прямое взаимодействие со СМЭВ 3 стало новым вызовом, которого мы не испугались и пройдя весь путь интеграции и наладки своих процессов стали первой страховой компанией, чей убыток был урегулирован через гос. услуги. В данной статье я хочу рассказать о нашем удачном опыте, как мы реализовали своё взаимодействие со СМЭВ 3 и подробно остановимся на следующих моментах:
Что же это такое – СМЭВ;
Внедрение Адаптера в архитектуру ВСК;
Плюшки от интеграции со СМЭВ 3.
Что же такое СМЭВ и с чем его едят?
Подробно о СМЭВ можно почитать здесь, а если коротко, то СМЭВ — это государственная информационная система, маршрутизирующая запросы между потребителем услуги и поставщиком и следящая за безопасностью этого взаимодействия. Потребителем в данном случае выступают разного рода организации, как государственные, так и частные, поставщиком услуг — орган государственной власти (МВД, ЗАГС и т.п.).
Чтобы стать участником СМЭВ необходимо:
Пройти путь официальной регистрации;
Организовать защищённый канал связи (был настроен ранее в рамках аутентификации клиентов через ЕСИА);
Настроить/реализовать интеграционный модуль для подключения к СМЭВ (Адаптер);
Получить доступ к нужным данным.
Внедрение Адаптера в архитектуру ВСК
В силу сжатых сроков реализации мы решили воспользоваться готовым интеграционным модулем от гос. услуг – Адаптер, который хранит в себе все секреты взаимодействия со СМЭВ:
формирование конечных XML запросов к СМЭВ;
подписание запросов;
пересылка вложений;
возврат статусных сообщений.
Изучив документацию по Адаптеру, мы развернули его внутри своей сети в виде отдельного сервиса, взаимодействие с которым у нас осуществляется через протокол REST. Следующим шагом нужно было научить приложения ВСК работать с этим Адаптером. Чтобы унифицировать этот процесс, мы разбили взаимодействия со СМЭВ на 3 слоя:
Сервисы-адаптеры — нужны для маппинга входящих/исходящих данных;
Платформенные сервисы — содержат в себе внутреннюю логику ВСК для работы с интеграционным модулем и инфраструктурными приложениями.
Адаптер СМЭВ — общается с самим СМЭВ.
Получилась следующая архитектура:
Наше решение реализовано на следующем стэке:
.NET;
PostgreSQL;
Kafka;
Minio.
На реализацию платформенных сервисов и сервиса-адаптера для ДУУ ОСГАО ушло примерно 2,5-3 месяца чистого времени для Agile-команды из 6 человек.
Под реализацией понимается:
подготовка требований;
разработка платформенных сервисов и сервиса-адаптера;
интеграция с внутренней системой учёта убытков;
интеграция с внутренней системой маршрутизации файлов;
тестирование;
ввод в эксплуатацию.
Теперь рассмотрим детальнее каждый из слоев приложения:
Сервисы-адаптеры
Каждый сервис является независимым и несёт в себе логику преобразования формата данных ВСК в формат данных для Адаптера и наоборот, преобразует ответ Адаптера в удобный вид для приложений ВСК.
Структура запроса для Адаптера унифицирована, но она содержит в себе блок с бизнес-данными конкретного Вида Сведений (далее - ВС). В терминах СМЭВ вид сведений — это описание формата запроса и ответа для конкретного взаимодействия. Т.е. если мы синтегрировались со СМЭВ по какому-то конкретному ВС, это ещё не значит, что для всех последующих ВС мы просто получаем доступ и наслаждаемся реализованным процессом обмена. Каждый ВС требует своей обработки и наши сервисы-адаптеры с этим успешно справляются.
Взаимодействие с данными сервисам реализуется как с использованием API, будь то REST или gRPC, так и с использованием событийной шины — Kafka, в зависимости от процесса и потребностей. Сейчас для каждого нового сервиса-адаптера в среднем требуется примерно 1 спринт на реализацию.
Платформенные сервисы
В данных сервисах реализована логика:
доставки вложений до Адаптера (да-да, файлы должны быть физически расположены рядом с модулем, иначе он их не увидит);
подготовки финального запроса к Адаптеру;
опроса Адаптера о наличии новых сообщений от СМЭВ;
маршрутизации ответов СМЭВ к сервисам-адаптерам в зависимости от ВС.
Взаимодействие между платформенными сервисами и сервисами-адаптерами осуществляется через Kafka.
Я, конечно, рассказал бы об этом подробнее, но последующее раскрытие информации несет в себе коммерческую тайну :)
Адаптер СМЭВ
Как было упомянуто ранее, в нём скрыты все процессы подготовки XML запроса к СМЭВ, подписание запросов, валидация подписи входящих запросов, отправка статусных сообщений. Адаптер имеет свой веб-интерфейс, через который осуществляется часть настройки Адаптера и который позволяет просматривать историю запросов.
Плюшки от интеграции со СМЭВ 3
Как итог, помимо соблюдения регуляторных требований и сохранения своей лицензии, мы открыли для себя новый источник информации, который помогает нам снизить риски мошенничества за счет верификации данных в СМЭВ.
На текущий момент в ВСК осуществляется:
приём заявлений для дистанционного урегулирования убытка ОСАГО;
проверка действительности паспортов клиентов;
проверка сведений о факте смерти клиента;
электронное подписание документов с клиентами через приложение «Гос.ключ»;
получение разрешённых данных клиента ФЛ из цифрового профиля;
получение разрешённых данных клиента ЮЛ из цифрового профиля;
приём заявления на создание полиса ДМС Мигрант.
А также, интеграция со СМЭВ открывает возможность автоматизации части процессов по взаимодействию с государственными органами. Например, регистрация дел исполнительного производства и получение их статусов в Федеральной системе судебных приставов (ФССП).
Сейчас на пороге стоит интеграция со СМЭВ 4, продолжение следует…
kozlov_de
Как прошло с получением сертификатов на тест и прод? Почему старая версия смэв? Хотя мы тоже на 3, но мы не с нуля.
Схема не очень точная: ис поставщика синхронно отвечает что запрос получен и поставлен в очередь или что ошибка парсинга. Потом когда очередь дойдет даёт ответ на запрос.
Что за коробочное решение от госуслуг?
Приложений ВСК много? Если одно, то адаптеры проще в самом приложении сделать. Не очень понятно, что там адаптировать
JhaoDa
Написано же — Адаптер, а точнее ИУА — Интеграционный Узел Адаптера от РТЛабс.
СМЭВ 3 и СМЭВ 4 — совершенно разные вещи.
Gu44i Автор
Запускались, когда ещё была возможность использовать сертификаты без МЧД, поэтому проблем с их выпуском для прода не возникло, сертификаты выпускали через Контур. Для теста сертификат генерится на стороне ЛК УВ в гос. услугах.
Как ответили выше, СМЭВ3 и СМЭВ4 это разные вещи и состав взаимодействия в них отличается. Ключевой кейс был по урегулированию убытков, он запускался именно на СМЭВ3. Сейчас смотрим в сторону интеграции со СМЭВ4 по другим процессам.
Схема из официальной документации СМЭВ
Да, к сервисам ходят разные приложения ВСК в рамках своих процессов.