Сервис адаптер обращения к СМЭВ 4

Атрибут Значение
Название smev4
Тип Монолитный сервис
Область применения Межведомственное взаимодействие
smev4

Сервис содержит в себе ряд сервисов, каждый из которых представляет доступ к сервисам посредством регламентированных запросов СМЭВ 4.

Описание

Сервис предназначен для обмена данными с ПОДД СМЭВ (СМЭВ 4) в качестве потребителя с помощью регламентированных запросов.

Подсистема обеспечения доступа к данным федеральной государственной информационной системы «Единая система межведомственного электронного взаимодействия» (ПОДД СМЭВ) — часть транспортной подсистемы СМЭВ, обеспечивающая доступ к данным, размещённым на Витринах данных.

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

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

Для работы сервиса требуется доступ к работающему Агенту ПОДД СМЭВ.

Агент ПОДД СМЭВ — типовое программное обеспечение, устанавливаемое в контуре ИС участника взаимодействия и обеспечивающее сопряжение Экземпляров ПО «Витрина данных», ИС УВ с ПОДД СМЭВ.

Чтобы установить Агент ПОДД СМЭВ из Docker, скачайте архив докер-образа. Распакуйте и выполните команду:

docker load < image.tgz

Проверить загрузку можно командой:

docker images

Она должна вернуть примерно следующую запись:

einfahrt latest 60d405216c72 2 months ago 1.24GB

Сформируйте конфигурационный файл агента application.yml и положите в корень einfahrt.

В einfahrt создайте каталог certs, куда загрузите файл cp_ca_store, который находится внутри архива.

Ключи контейнера закрытого ключа сертификата вашей организации загрузите в директорию keys. Должно получиться так:

keys
  dproex.000
    header.key
    masks.key
    masks2.key
    name.key
    primary.key
    primary2.key

Запустите Агента командой:

run_agent.sh

Об успешности запуска говорит сообщение, подобное этому:

Application started. Container name: einfahrt. Available ports: 8183 (jdbc), 8192 (REST, driver download, OpenAPI specifications), 8171 (API gateway), 8172 (API gateway 'target architecture')

Также Агент ПОДД СМЭВ предоставляет следующие возможности:

  • настроить расширенные логи. Соответствующие настройки поместите в файл customLogLevels.xml;

  • получить архив с логами от момента старта до настоящего времени с помощью команды diag.sh;

  • запустить просмотр логов реалтайм с помощью команды log.sh;

  • получить логи в виде файла с помощью команды log_save.sh.

Проверить успешность установки и запуска Агента ПОДД СМЭВ можно, выполнив запрос к ядру СМЭВ4:


curl -X POST -H "Accept-Version:1" -H "Content-Type: application/json" -d '{"sql": {"sql": "select 1"}}' http://localhost:8192/query --silent -m 30

Успешное выполнение выглядит так:

{
  "created_at": "2022-09-13T17:00:17Z",
  "query_id": "1ed33858-88bb-687d-9426-2f1dded2ee1b",
  "meta": [
    {
      "name": "EXPR$0",
      "type": "INTEGER"
    }
  ],
  "rows": [
    [
      "1"
    ]
  ]
}

Чтобы получить «Сведения о государственной регистрации самоходных машин и прицепов к ним, зарегистрированных на физ. лицо» через Агента ПОДД СМЭВ, нужно отправить такой запрос, где первый параметр (1234) — серия паспорта, второй параметр (123456) — номер паспорта:

curl -X POST -H "Accept-Version:1" -H "application/x-www-form-urlencoded; charset=utf-8" -d  "priority=NORMAL" -d "sql=SELECT * FROM mcx_datamart.1.1.usmt_vehicles(?,?)" -d 'params={"type": "STRING", "value": "1234"},{"type": "STRING", "value": "123456"}' http://localhost:8192/query

или sh curl -X POST -H "Accept-Version:1" -H "Content-Type: application/json" -d '{"sql": {"sql": "select * from mcx_datamart.usmt_vehicles('\''1234'\'', '\''123456'\'')"}}' http://localhost:8192/query

В результате получим:

{
  "created_at": "2023-09-18T09:09:54Z",
  "query_id": "1ee56031-e8e2-65f6-acaa-d169f724a0a3",
  "meta": [
    {
      "name": "vehicles_org_email",
      "type": "STRING"
    },
    {
      "name": "vehicles_surname",
      "type": "STRING"
    },
    {
      "name": "vehicles_birthday",
      "type": "DATE"
    },
    ...100500 meta
    {
      "name": "vehicles_is_registration_action_prohibited",
      "type": "BOOLEAN"
    }
  ],
  "rows": [
    [
      null,
      "ХРАМОВ",
      "1968-10-06T00:00:00Z",
      ...100500 значений
      null
    ],
    [
      null,
      "ХРАМОВ",
      "1968-10-06T00:00:00Z",
      ...100500 значений
      null
    ],
    [
      null,
      "ХРАМОВ",
      "1968-10-06T00:00:00Z",
      ...100500 значений
      null
    ]
  ]
}

Для указания адреса Агента ПОДД СМЭВ в сервисе используется переменная окружения SMEV4_AGENT_HOST (значение по умолчанию http://localhost:8192). Помимо этого, есть стандартные настройки (в рамках Агредатора) для подключения к БД и RabbitMQ.

В рамках работы сервису отправляются стандартные запросы, как любому обычному сервису (ожидаемые параметры описаны в документации сервиса). Ответ также описан в документации соответствующего сервиса адаптера.

Взаимодействие Агентов ПОДД СМЭВ и Ядра ПОДД СМЭВ реализовано c использованием Протокола ПОДД СМЭВ, который представляет собой (в зависимости от вида информационного обмена):

  • Бинарный протокол Apache Pulsar с предварительной аутентификацией.
  • Бинарный протокол Rsocket.

Бинарный протокол Apache Pulsar — протокол, реализующий команды, которыми обмениваются между собой клиент (Агент ПОДД СМЭВ) и брокер Apache Pulsar в составе ПОДД СМЭВ. Команды имеют формат, базирующийся на Protocol Buffers (protobuf). Набор данных, пересылаемый ПОДД СМЭВ по этому протоколу, кодируется в формат Apache Avro.

В рамках предварительной аутентификации клиенты (Агенты ПОДД СМЭВ), устанавливающие подключение по бинарному протоколу Apache Pulsar, получают аутентификационный токен с использованием OpenID Connect (OIDC) — протокола, базирующегося на Oauth 2.0.

Бинарный протокол Rsockеt является более предпочтительным (т.к. лимит на тело запроса выше), но не все витрины могут поддерживать работу с ним (на их стороне должен использоваться клиент версии не ниже 3.7.0). Но на текущий момент сервисы работают через Pulsar и соответственно ПОДД должен быть настроен на использование Pulsar. Также Агент ПОДД СМЭВ разрешает использование как синхронных запросов, так и асинхронных — в сервисе предпочтительным является использование асинхронных запросов, что в ряде случаев может приводить к повторной переотправке запроса.

Пример получаемого сервисом сообщения (сервис для регламентированного запроса):

Headers:

{
  "action": "default",
  "consumer": "admin",
  "reply_to": "admin",
  "ticket": "61c16305-9061-4ca0-ae45-4714805b09cc",
  "type": "ActionRequest"
}

Payload:

{
  "service": "mcx-usmt-vehicles",
  "request": {
    "doc_series": "1234",
    "doc_number": "123456"
  }
}

Пример сообщения с ответом:

Headers:

{
  "action": "ticket_result",
  "service": "smev4",
  "ticket": "61c16305-9061-4ca0-ae45-4714805b09cc",
  "type": "result"
}

Payload:

{
  "id": "61c16305-9061-4ca0-ae45-4714805b09cc",
  "service": "smev4",
  "status": "success",
  "metadata": {
    "request_meta": {}
  },
  "result": {
    "data": [
      {
        "org_email": null,
        "surname": "ХРАМОВ",
        "birthday": "1968-10-06T00:00:00Z",
        "full_address": "115142,,МОСКВА Г,,,,,,,КОЛОМЕНСКАЯ УЛ,21,3,108",
        "document_series": "1234",
        "org_ogrn": null,
        "org_kpp": null,
        "registration_date": "2018-06-14T00:00:00Z",
        "seizure": null,
        "vehicle_category": null,
        "has_been_debited": false,
        "first_name": "Игорь",
        "sex": "Мужской",
        "birthplace": "КАЗАХСТАН,ТАЛДЫ-КУРГАНСКАЯ ОБЛАСТЬ,,ТЕКЕЛИ,",
        "citizenship_code": "РОССИЯ",
        "snils": null,
        "inn": null,
        "kladr_code": null,
        "email": null,
        "document_type": "Паспорт гражданина РФ",
        "document_number": "123456",
        "document_date": "2018-01-01T00:00:00Z",
        "issuing_authority": "МОСКВА",
        "code_podrazd": null,
        "org_short_name": null,
        "org_inn": null,
        "org_phone": null,
        "deregistration_date": null,
        "registration_action": "Постановка",
        "registration_action_ban": null,
        "vehicle_type": "ЗЕРНОУБОРОЧНЫЙ КОМБАЙН",
        "vehicle_model": "ДЖОН ДИР МОД.9640",
        "production_year": 2008,
        "guid": "3cb3aa00-9639-4e2e-8338-f887dd284766",
        "middle_name": "МИХАЙЛОВИЧ",
        "phone": null,
        "org_full_name": null,
        "registration_type": "Временная",
        "has_been_stolen": false,
        "is_registration_action_prohibited": null
      },
      {
        "org_email": null,
        "surname": "ХРАМОВ",
        "birthday": "1968-10-06T00:00:00Z",
        "full_address": "115142,,МОСКВА Г,,,,,,,КОЛОМЕНСКАЯ УЛ,21,3,108",
        "document_series": "1234",
        "org_ogrn": null,
        "org_kpp": null,
        "registration_date": "2018-06-14T00:00:00Z",
        "seizure": null,
        "vehicle_category": null,
        "has_been_deb03ited": false,
        "first_name": "Игорь",
        "sex": "Мужской",
        "birthplace": "КАЗАХСТАН,ТАЛДЫ-КУРГАНСКАЯ ОБЛАСТЬ,,ТЕКЕЛИ,",
        "citizenship_code": "РОССИЯ",
        "snils": null,
        "inn": null,
        "kladr_code": null,
        "email": null,
        "document_type": "Паспорт гражданина РФ",
        "document_number": "123456",
        "document_date": "2018-01-01T00:00:00Z",
        "issuing_authority": "МОСКВА",
        "code_podrazd": null,
        "org_short_name": null,
        "org_inn": null,
        "org_phone": null,
        "deregistration_date": null,
        "registration_action": "Постановка",
        "registration_action_ban": null,
        "vehicle_type": "ТРАКТОР",
        "vehicle_model": "JOHN DEERE 8420 II",
        "production_year": 2005,
        "guid": "9f6eb233-ebe3-4dcc-8a55-8327a451dc2e",
        "middle_name": "МИХАЙЛОВИЧ",
        "phone": null,
        "org_full_name": null,
        "registration_type": "Временная",
        "has_been_stolen": false,
        "is_registration_action_prohibited": null
      },
      {
        "org_email": null,
        "surname": "ХРАМОВ",
        "birthday": "1968-10-06T00:00:00Z",
        "full_address": "115142,,МОСКВА Г,,,,,,,КОЛОМЕНСКАЯ УЛ,21,3,108",
        "document_series": "1234",
        "org_ogrn": null,
        "org_kpp": null,
        "registration_date": "2018-06-14T00:00:00Z",
        "seizure": null,
        "vehicle_category": null,
        "has_been_debited": false,
        "first_name": "Игорь",
        "sex": "Мужской",
        "birthplace": "КАЗАХСТАН,ТАЛДЫ-КУРГАНСКАЯ ОБЛАСТЬ,,ТЕКЕЛИ,",
        "citizenship_code": "РОССИЯ",
        "snils": null,
        "inn": null,
        "kladr_code": null,
        "email": null,
        "document_type": "Паспорт гражданина РФ",
        "document_number": "123456",
        "document_date": "2018-01-01T00:00:00Z",
        "issuing_authority": "МОСКВА",
        "code_podrazd": null,
        "org_short_name": null,
        "org_inn": null,
        "org_phone": null,
        "deregistration_date": null,
        "registration_action": "Постановка",
        "registration_action_ban": null,
        "vehicle_type": "ЗЕРНОУБОРОЧНЫЙ КОМБАЙН",
        "vehicle_model": "JOHN DEERE 9670STS",
        "production_year": 2008,
        "guid": "d757d0e7-b893-480b-9f4b-143c879d74e4",
        "middle_name": "МИХАЙЛОВИЧ",
        "phone": null,
        "org_full_name": null,
        "registration_type": "Временная",
        "has_been_stolen": false,
        "is_registration_action_prohibited": null
      }
    ]
  }
}

Полезные ссылки:

Список сервисов СМЭВ 4

Сервис Описание
mcx-usmt-vehicles Сведения о государственной регистрации самоходных машин и прицепов к ним, зарегистрированных на физ. лицо
mvd-rfp-check Проверка действительности паспорта гражданина Российской Федерации, удостоверяющего личность гражданина Российской Федерации на территории Российской Федерации
mvd-reg-correlation Проверка соответствия информации о документе, удостоверяющем личность гражданина РФ, и информации об адресе регистрации по месту жительства владельца такого документа
Внимание

Сервисы могут иметь различия и функциональные особенности.




  • Список сервисов СМЭВ 4
  • Подавай заявку сейчас

    Оставьте свои контактные данные и наш менеджер свяжется с вами в ближайшее время