NAV
json scala

ФРГУ

Описание команд всех сервисов, которые входят в состав ФРГУ.

ardos-access-adapter: сервис для работы с правами ардоса

Сервис является адаптером для ardos, а также реализует всю логику oberto. Команды могут приходить как по HTTP.

Локальный запуск

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

Запуск из консоли с помощью SBT

ARDOS_ACCESS_ADAPTER_SZI_URL=localhost:8090 ARDOS_ACCESS_ADAPTER_SZI_ADMINUSERNAME=user ARDOS_ACCESS_ADAPTER_SZI_ADMINPASSWORD=password sbt boot/run

Список переменных окружения сервиса ardos-access-adapter

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
ARDOS_ACCESS_ADAPTER_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
ARDOS_ACCESS_ADAPTER_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
ARDOS_ACCESS_ADAPTER_COMMANDS_CONSIDER_ALL_INTERNAL boolean да false Все межсервисные команды являются внутренними (internal) и не требуют авторизации
ARDOS_ACCESS_ADAPTER_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
ARDOS_ACCESS_ADAPTER_KAFKA_TOPIC string нет "ARDOS_ACCESS_ADAPTER_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_GROUP string нет "ARDOS_ACCESS_ADAPTER_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
ARDOS_ACCESS_ADAPTER_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который ARDOS_ACCESS_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
ARDOS_ACCESS_ADAPTER_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
ARDOS_ACCESS_ADAPTER_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
ARDOS_ACCESS_ADAPTER_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
ARDOS_ACCESS_ADAPTER_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
ARDOS_ACCESS_ADAPTER_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_ID_PREFIX string нет "another_ARDOS_ACCESS_ADAPTER_instance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_NAME string нет "ardosaccessadapter" Имя сервиса в ServiceDiscovery
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
ARDOS_ACCESS_ADAPTER_DISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
ARDOS_ACCESS_ADAPTER_SERVICE_NAME string нет ardos-access-adapter Название сервиса для отображения
ARDOS_ACCESS_ADAPTER_SERVICE_DESCRIPTION string нет "Service ARDOS_ACCESS_ADAPTER" Описание сервиса для отображения
ARDOS_ACCESS_ADAPTER_INTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
ARDOS_ACCESS_ADAPTER_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
ARDOS_ACCESS_ADAPTER_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
ARDOS_ACCESS_ADAPTER_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
ARDOS_ACCESS_ADAPTER_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
ARDOS_ACCESS_ADAPTER_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
ARDOS_ACCESS_ADAPTER_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
ARDOS_ACCESS_ADAPTER_LOG_OUTPUT string нет STDOUT Вывод лога
ARDOS_ACCESS_ADAPTER_SYSLOG_TYPE string нет UDP Тип передачи syslog
ARDOS_ACCESS_ADAPTER_LOGGING_SRC_IP string нет "localhost" для параметра src в логах
ARDOS_ACCESS_ADAPTER_LOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
ARDOS_ACCESS_ADAPTER_LOGGING_DST_IP string нет "SERVER" для параметра dst в логах
ARDOS_ACCESS_ADAPTER_LOGGING_CEF_VER string нет 0 версия CEF
ARDOS_ACCESS_ADAPTER_MAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
ARDOS_ACCESS_ADAPTER_REQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
ARDOS_ACCESS_ADAPTER_RETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
ARDOS_ACCESS_ADAPTER_RETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
ARDOS_ACCESS_ADAPTER_URL string да Основной URL ардоса
ARDOS_ACCESS_ADAPTER_CLIENT_URL string да Клиентский URL ардоса
ARDOS_ACCESS_ADAPTER_ARDOS_ESIA_URL string да ЕСИА Url ардоса
ARDOS_ACCESS_ADAPTER_REDIRECT_URL string да URL редиректа для ардоса
ARDOS_ACCESS_ADAPTER_CLIENT string да Клиент (название ИС для ардоса)
ARDOS_ACCESS_ADAPTER_CERT_ALIAS string да Сертификат для ардоса
ARDOS_ACCESS_ADAPTER_KEYSTORE string да Хранилище ключей для ардоса
ARDOS_ACCESS_ADAPTER_TOKEN_TTL string да Время жизни админского токена
ARDOS_ACCESS_ADAPTER_SIGN_API_URL string да URL сервиса подписей
ARDOS_ACCESS_ADAPTER_AUTH_URL string да URL логина ардос
ARDOS_ACCESS_ADAPTER_LOGOUT_URL string да URL логаута ардос
ARDOS_ACCESS_ADAPTER_GROUP_MAPPING string да Маппинг групп в ардос
ARDOS_ACCESS_ADAPTER_ADAPTER_JOURNAL_MODE string да WriteToJournal Режим журналирования Nestor. Допустимые значения: WriteToJournal (Отправка в сервис журналирования), WriteToTopic (Отправка события в очередь)
ARDOS_ACCESS_ADAPTER_ADAPTER_JOURNAL_TOPIC string нет да, если переменная ARDOS_ACCESS_ADAPTER_JOURNAL_MODE = WriteToTopic Название очереди журналирования. Для режима WriteToJournal значение игнорируется.
ARDOS_ACCESS_ADAPTER_STTP_MAX_WAIT_QUEUE int да 2048 Размер очереди запросов STTP клиента
ARDOS_ACCESS_ADAPTER_STTP_MAX_TOTAL_CONNECTIONS int да 400 Максимальное число коннектов в пуле
ARDOS_ACCESS_ADAPTER_STTP_MAX_TOTAL_CONNECTIONS_PER_HOST int да 50 Максимальное число коннектов в пуле для одного хоста
ARDOS_ACCESS_ADAPTER_STTP_IDLE_TIMEOUT duration string да 1 minute IDLE таймаут STTP
ARDOS_ACCESS_ADAPTER_STTP_REQUEST_TIMEOUT duration string да 1 minute Таймаут запроса STTP
ARDOS_ACCESS_ADAPTER_ARDOS_ROLE_CACHE_SIZE int нет Максимальный размер кеша для проверки права в ардос
ARDOS_ACCESS_ADAPTER_ARDOS_ROLE_CACHE_TTL duration string нет Время жизни проверки права в ардос в кеше

Формат CEF для логов сервиса ardos-access-adapter

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, ARDOS_ACCESS_ADAPTER_LOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Маппинг групп

Переменная ARDOS_ACCESS_ADAPTER_GROUP_MAPPING отвечает за соответствие групп в ардос к группам в нашей системе.

Пример значения переменной:

CLERK=clerk;TECHNICALSUPPORT=technicalSupport;DEFAULT=default;SUBJECTMETHODOLOGIST=subjectMethodologist;COORDINATOR=coordinator;METHODOLOGISTADMIN=methodologistAdmin;DEVELOPER=developer

Список команд сервиса ardos-access-adapter

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованы команды:

MigrateOperations

Мигрирует указанные права в Ардос.

Команда Тип
ardosAccessAdapter_migrateOperations Http

Объекты сервиса

MigrateOperationDTO

Поле Тип Обязательное Описание
groupId string да ID группы пользователей
actions string[] да Список action

Ardos Auth Adapter: сервис пользователей (адаптер ardos)

Сервис принимает запросы для работы с игроками и командами. Состояние хранится в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик ARDOS_AUTH_ADAPTERcommands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Информацию по добавлению команд можно прочитать в описании шаблона

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

ARDOS_AUTH_ADAPTERDB_HOST=localhost ARDOS_AUTH_ADAPTERDB_PORT=5432 ARDOS_AUTH_ADAPTERDB_NAME=ardosAuthAdapter ARDOS_AUTH_ADAPTERDB_USER=postgres ARDOS_AUTH_ADAPTERDB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса Ardos Auth Adapter

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
ARDOS_AUTH_ADAPTERHTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
ARDOS_AUTH_ADAPTERHTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
ARDOS_AUTH_ADAPTER_COMMANDS_CONSIDER_ALL_INTERNAL boolean да true Все межсервисные команды являются внутренними (internal) и не требуют авторизации
ARDOS_AUTH_ADAPTERKAFKA_SERVERS string да "localhost:9092" Адрес Kafka
ARDOS_AUTH_ADAPTERKAFKA_TOPIC string нет "ARDOS_AUTH_ADAPTERcommands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_GROUP string нет "ARDOS_AUTH_ADAPTERconsumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
ARDOS_AUTH_ADAPTERKAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который ARDOS_AUTH_ADAPTERKAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
ARDOS_AUTH_ADAPTERKAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
ARDOS_AUTH_ADAPTERKAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
ARDOS_AUTH_ADAPTERKAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
ARDOS_AUTH_ADAPTERKAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
ARDOS_AUTH_ADAPTERKAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
ARDOS_AUTH_ADAPTERKAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
ARDOS_AUTH_ADAPTERKAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
ARDOS_AUTH_ADAPTERKAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
ARDOS_AUTH_ADAPTERKAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
ARDOS_AUTH_ADAPTERKAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
ARDOS_AUTH_ADAPTERKAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
ARDOS_AUTH_ADAPTERCONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
ARDOS_AUTH_ADAPTERCONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
ARDOS_AUTH_ADAPTERCONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
ARDOS_AUTH_ADAPTERDISCOVERABLE_ID_PREFIX string нет "another_ARDOS_AUTH_ADAPTERinstance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
ARDOS_AUTH_ADAPTERDISCOVERABLE_NAME string нет "monSzi" Имя сервиса в ServiceDiscovery
ARDOS_AUTH_ADAPTERDISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
ARDOS_AUTH_ADAPTERDISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
ARDOS_AUTH_ADAPTERDISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
ARDOS_AUTH_ADAPTERDISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
ARDOS_AUTH_ADAPTERDISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
ARDOS_AUTH_ADAPTERSERVICE_NAME string нет Mon Szi Название сервиса для отображения
ARDOS_AUTH_ADAPTERSERVICE_DESCRIPTION string нет "Service MON_SZI" Описание сервиса для отображения
ARDOS_AUTH_ADAPTERINTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
ARDOS_AUTH_ADAPTERSENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
ARDOS_AUTH_ADAPTERSENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
ARDOS_AUTH_ADAPTER_SENDERLIB_KAFKA_POLLING_TIMEOUT duration string нет 1 minutes Таймаут пуллинга межсервисных команд
ARDOS_AUTH_ADAPTERDB_HOST string да Хост БД
ARDOS_AUTH_ADAPTERDB_PORT int да Порт БД
ARDOS_AUTH_ADAPTERDB_NAME string да Имя базы в БД
ARDOS_AUTH_ADAPTERDB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
ARDOS_AUTH_ADAPTERDB_USER string да Пользователь БД
ARDOS_AUTH_ADAPTERDB_PASSWORD string да Пароль пользователя БД
ARDOS_AUTH_ADAPTERDB_THREADS int нет 10 Количество потоков в пуле потоков для соединения с БД
ARDOS_AUTH_ADAPTERDB_QUEUE_SIZE int нет 300 Размер очереди для действий базы данных, которые не могут быть выполнены немедленно, когда все потоки заняты. За пределами этого значения новые действия немедленно завершаются неудачей
ARDOS_AUTH_ADAPTERDB_CONN_MAX int нет 10 Максимальное количество одновременных подключений к БД
ARDOS_AUTH_ADAPTERDB_CONN_TIMEOUT duration string нет 20 second Максимальное время ожидания ответа для соединения к БД. Если это время превышено, а соединение не становится доступным, будет брошено исключение SQLException. 1000 мс — минимальное значение.
ARDOS_AUTH_ADAPTERDB_ISOLATION string нет "READ_COMMITTED" Уровень изоляции транзакций для новых подключений. Допустимые значения: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE.
ARDOS_AUTH_ADAPTERDB_READONLY boolean нет false Read-only SQL транзакция может изменять только временные таблицы. Этот параметр управляет статусом «только для чтения» по умолчанию для каждой новой транзакции.
ARDOS_AUTH_ADAPTERDB_CONN_MIN int нет = DB_THREADS Минимальное количество одновременных подключений к БД
ARDOS_AUTH_ADAPTERDB_VALIDATION_TIMEOUT duration string нет 1 seconds Максимальное время, в течение которого соединение будет проверяться на работоспособность. 1000 мс — минимальное значение.
ARDOS_AUTH_ADAPTERDB_IDLE_TIMEOUT duration string нет 10 minutes Максимальное время, в течение которого соединению разрешено простаивать в пуле. Значение 0 означает, что простаивающие соединения никогда не удаляются из пула.
ARDOS_AUTH_ADAPTERDB_MAX_LIFETIME duration string нет 30 minutes Максимальное время жизни соединения в пуле. Когда простаивающее соединение достигает этого времени ожидания, даже если оно недавно использовалось, оно будет удалено из пула. Значение 0 указывает на отсутствие максимального срока службы.
ARDOS_AUTH_ADAPTERDB_INITIALIZATION_FAIL_FAST string нет false Определяет, будет ли пул «быстро выходить из строя», если пул не может быть успешно заполнен начальными соединениями. Если соединения не могут быть созданы во время запуска пула, будет выдано исключение RuntimeException. Это свойство не имеет никакого эффекта, если minConnections равно 0.
ARDOS_AUTH_ADAPTERDB_LEAK_DETECTION_THRESHOLD int нет 0 Время, в течение которого соединение может находиться вне пула, прежде чем будет зарегистрировано сообщение, указывающее на возможную утечку соединения. Значение 0 означает, что обнаружение утечек отключено. Наименьшее приемлемое значение для включения обнаружения утечек составляет 10 с.
ARDOS_AUTH_ADAPTERDB_CONNECTION_TEST_QUERY string нет "SELECT 1" Выражение, которое будет выполнено непосредственно перед получением соединения из пула для проверки того, что соединение с базой данных все еще активно. Оно зависит от базы данных и должно представлять собой запрос, требующий минимальной обработки базой данных (например, «VALUES 1»). Если этот параметр не установлен, вместо него используется метод JDBC4 Connection.isValid().
ARDOS_AUTH_ADAPTERDB_REGISTER_MBEANS boolean нет false Зарегистрированы ли JMX Management Beans («MBeans»)
ARDOS_AUTH_ADAPTERAUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
ARDOS_AUTH_ADAPTERAUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
ARDOS_AUTH_ADAPTERLOG_LEVEL string нет INFO Общий уровень логирования в сервисе
ARDOS_AUTH_ADAPTERLOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
ARDOS_AUTH_ADAPTERLOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
ARDOS_AUTH_ADAPTERLOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
ARDOS_AUTH_ADAPTERLOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
ARDOS_AUTH_ADAPTERLOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
ARDOS_AUTH_ADAPTERLOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
ARDOS_AUTH_ADAPTERLOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
ARDOS_AUTH_ADAPTERLOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
ARDOS_AUTH_ADAPTERLOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
ARDOS_AUTH_ADAPTERLOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
ARDOS_AUTH_ADAPTERLOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
ARDOS_AUTH_ADAPTERLOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
ARDOS_AUTH_ADAPTERLOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
ARDOS_AUTH_ADAPTERLOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
ARDOS_AUTH_ADAPTERLOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
ARDOS_AUTH_ADAPTERLOG_OUTPUT string нет STDOUT Вывод лога
ARDOS_AUTH_ADAPTERSYSLOG_TYPE string нет UDP Тип передачи syslog
ARDOS_AUTH_ADAPTERLOGGING_SRC_IP string нет "localhost" для параметра src в логах
ARDOS_AUTH_ADAPTERLOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
ARDOS_AUTH_ADAPTERLOGGING_DST_IP string нет "SERVER" для параметра dst в логах
ARDOS_AUTH_ADAPTERLOGGING_CEF_VER string нет 0 версия CEF
ARDOS_AUTH_ADAPTERMAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
ARDOS_AUTH_ADAPTERREQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
ARDOS_AUTH_ADAPTERRETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
ARDOS_AUTH_ADAPTERRETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
ARDOS_AUTH_ADAPTERMIGRATIONS_TIMEOUT duration string нет 10 minutes Таймаут для миграций CustomChange
ARDOS_AUTH_ADAPTER_URL string да Основной URL ардоса
ARDOS_AUTH_ADAPTER_CLIENT_URL string да Клиентский URL ардоса
ARDOS_AUTH_ADAPTER_ARDOS_ESIA_URL string да ЕСИА Url ардоса
ARDOS_AUTH_ADAPTER_REDIRECT_URL string да URL редиректа для ардоса
ARDOS_AUTH_ADAPTER_CLIENT string да Клиент (название ИС для ардоса)
ARDOS_AUTH_ADAPTER_CERT_ALIAS string да Сертификат для ардоса
ARDOS_AUTH_ADAPTER_KEYSTORE string да Хранилище ключей для ардоса
ARDOS_AUTH_ADAPTER_TOKEN_TTL string да Время жизни админского токена
ARDOS_AUTH_ADAPTER_SIGN_API_URL string да URL сервиса подписей
ARDOS_AUTH_ADAPTER_AUTH_URL string да URL логина ардос
ARDOS_AUTH_ADAPTER_LOGOUT_URL string да URL логаута ардос
ARDOS_AUTH_ADAPTER_GROUP_MAPPING string да Маппинг групп в ардос
ARDOS_AUTH_ADAPTER_ESIA_URL string да URL ЕСИА
ARDOS_AUTH_ADAPTER_ESIA_ORG_URI string да URL API организации ЕСИА
ARDOS_AUTH_ADAPTER_ESIA_EMP_URI string да URL API сотрудника ЕСИА
ARDOS_AUTH_ADAPTER_STTP_MAX_WAIT_QUEUE int да 2048 Размер очереди запросов STTP клиента
ARDOS_AUTH_ADAPTER_STTP_MAX_TOTAL_CONNECTIONS int да 400 Максимальное число коннектов в пуле
ARDOS_AUTH_ADAPTER_STTP_MAX_TOTAL_CONNECTIONS_PER_HOST int да 50 Максимальное число коннектов в пуле для одного хоста
ARDOS_AUTH_ADAPTER_STTP_IDLE_TIMEOUT duration string да 1 minute IDLE таймаут STTP
ARDOS_AUTH_ADAPTER_STTP_REQUEST_TIMEOUT duration string да 1 minute Таймаут запроса STTP
ARDOS_AUTH_ADAPTER_LOGIN_CACHE_SIZE int нет Максимальный размер кеша для логина
ARDOS_ACCESS_ADAPTER_LOGIN_CACHE_TTL duration string нет Время жизни логина в кеше
ARDOS_AUTH_ADAPTER_ARDOS_MAX_PAGE_SIZE int да 100 Размер page для запросов в ардос
ARDOS_AUTH_ADAPTER_SERVER_REQUEST_TIMEOUT duration string нет 5 minutes Таймаут запроса сервиса
ARDOS_AUTH_ADAPTER_SERVER_IDLE_TIMEOUT duration string нет 5 minutes IDLE таймаут запроса сервиса

Формат CEF для логов сервиса Ardos Auth Adapter

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, ARDOS_AUTH_ADAPTERLOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Список команд сервиса Ardos Auth Adapter

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованно 2 команды:

ArdosAuthUrl

Получение ссылки на аутентификацию в ЕСИА.

Команда Тип
mon_http_ArdosAuthUrl HTTP

CheckAuth

Проверяет аутентификация и выставляет cookie. Синхронизирует пользователя с ardos.

Команда Тип
mon_http_ArdosCheckAuth HTTP

Logout

Получение ссылки на выход из ЕСИА.

Команда Тип
mon_http_Logout HTTP

Объекты сервиса Ardos Auth Adapter

CheckAuthDTO

Поле Тип Обязательное Описание
state UUID да ID запроса на аутентификацию
code String да Код запроса на аутентификацию

Datamart Adapter: Сервис синхронизации данных в витрину НСУД

Сервис читает топики entityObjectEvent и catalogEvents и следуя маппингу загружает данные через prostore jdcbdriver в витрину данных.

Сервис разбит на несколько модулей, в виде sbt проектов:

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

DATAMART_ADAPTER_DB_HOST=localhost DATAMART_ADAPTER_DB_PORT=5432 DATAMART_ADAPTER_DB_NAME=datamartAdapter_db DATAMART_ADAPTER_DB_USER=postgres DATAMART_ADAPTER_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса Datamart Adapter

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
DATAMART_ADAPTER_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
DATAMART_ADAPTER_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
DATAMART_ADAPTER_COMMANDS_CONSIDER_ALL_INTERNAL boolean да false Все межсервисные команды являются внутренними (internal) и не требуют авторизации
DATAMART_ADAPTER_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
DATAMART_ADAPTER_KAFKA_TOPIC string нет "datamart_adapter_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
DATAMART_ADAPTER_KAFKA_CONSUMER_GROUP string нет "datamart_adapter_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
DATAMART_ADAPTER_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
DATAMART_ADAPTER_KAFKA_OBJECT_EVENT_TOPIC string нет "entityObjectEvent" Название кафка-топика для получения событий entityObject.
DATAMART_ADAPTER_KAFKA_OBJECT_EVENT_CONSUMER_GROUP string нет "datamart_adapter_consumer_group" Имя consumer-группы для чтения из кафка-топика событий entityObject.
DATAMART_ADAPTER_KAFKA_OBJECT_EVENT_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика событий entityObject.
DATAMART_ADAPTER_KAFKA_ALEXANDRINA_EVENT_TOPIC string нет "catalogEvents" Название кафка-топика для получения событий catalogEvents.
DATAMART_ADAPTER_KAFKA_ALEXANDRINA_CONSUMER_GROUP string нет "datamart_adapter_consumer_group" Имя consumer-группы для чтения из кафка-топика событий catalogEvents.
DATAMART_ADAPTER_KAFKA_ALEXANDRINA_EVENT_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика событий catalogEvents.
DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который DATAMART_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
DATAMART_ADAPTER_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
DATAMART_ADAPTER_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
DATAMART_ADAPTER_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
DATAMART_ADAPTER_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
DATAMART_ADAPTER_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
DATAMART_ADAPTER_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
DATAMART_ADAPTER_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
DATAMART_ADAPTER_KAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
DATAMART_ADAPTER_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
DATAMART_ADAPTER_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
DATAMART_ADAPTER_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
DATAMART_ADAPTER_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
DATAMART_ADAPTER_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
DATAMART_ADAPTER_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
DATAMART_ADAPTER_DISCOVERABLE_ID_PREFIX string нет "another_datamart_adapter_instance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
DATAMART_ADAPTER_DISCOVERABLE_NAME string нет "datamartAdapter" Имя сервиса в ServiceDiscovery
DATAMART_ADAPTER_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
DATAMART_ADAPTER_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
DATAMART_ADAPTER_DISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
DATAMART_ADAPTER_DISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
DATAMART_ADAPTER_DISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
DATAMART_ADAPTER_SERVICE_NAME string нет Datamart Adapter Название сервиса для отображения
DATAMART_ADAPTER_SERVICE_DESCRIPTION string нет "Service DATAMART_ADAPTER" Описание сервиса для отображения
DATAMART_ADAPTER_INTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
DATAMART_ADAPTER_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
DATAMART_ADAPTER_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
DATAMART_ADAPTER_DB_HOST string да Хост БД
DATAMART_ADAPTER_DB_PORT int да Порт БД
DATAMART_ADAPTER_DB_NAME string да Имя базы в БД
DATAMART_ADAPTER_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
DATAMART_ADAPTER_DB_USER string да Пользователь БД
DATAMART_ADAPTER_DB_PASSWORD string да Пароль пользователя БД
DATAMART_ADAPTER_DB_THREADS int нет 10 Количество потоков в пуле потоков для соединения с БД
DATAMART_ADAPTER_DB_QUEUE_SIZE int нет 300 Размер очереди для действий базы данных, которые не могут быть выполнены немедленно, когда все потоки заняты. За пределами этого значения новые действия немедленно завершаются неудачей
DATAMART_ADAPTER_DB_CONN_MAX int нет 10 Максимальное количество одновременных подключений к БД
DATAMART_ADAPTER_DB_CONN_TIMEOUT duration string нет 20 second Максимальное время ожидания ответа для соединения к БД. Если это время превышено, а соединение не становится доступным, будет брошено исключение SQLException. 1000 мс — минимальное значение.
DATAMART_ADAPTER_DB_ISOLATION string нет "READ_COMMITTED" Уровень изоляции транзакций для новых подключений. Допустимые значения: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE.
DATAMART_ADAPTER_DB_READONLY boolean нет false Read-only SQL транзакция может изменять только временные таблицы. Этот параметр управляет статусом «только для чтения» по умолчанию для каждой новой транзакции.
DATAMART_ADAPTER_DB_CONN_MIN int нет = DB_THREADS Минимальное количество одновременных подключений к БД
DATAMART_ADAPTER_DB_VALIDATION_TIMEOUT duration string нет 1 seconds Максимальное время, в течение которого соединение будет проверяться на работоспособность. 1000 мс — минимальное значение.
DATAMART_ADAPTER_DB_IDLE_TIMEOUT duration string нет 10 minutes Максимальное время, в течение которого соединению разрешено простаивать в пуле. Значение 0 означает, что простаивающие соединения никогда не удаляются из пула.
DATAMART_ADAPTER_DB_MAX_LIFETIME duration string нет 30 minutes Максимальное время жизни соединения в пуле. Когда простаивающее соединение достигает этого времени ожидания, даже если оно недавно использовалось, оно будет удалено из пула. Значение 0 указывает на отсутствие максимального срока службы.
DATAMART_ADAPTER_DB_INITIALIZATION_FAIL_FAST string нет false Определяет, будет ли пул «быстро выходить из строя», если пул не может быть успешно заполнен начальными соединениями. Если соединения не могут быть созданы во время запуска пула, будет выдано исключение RuntimeException. Это свойство не имеет никакого эффекта, если minConnections равно 0.
DATAMART_ADAPTER_DB_LEAK_DETECTION_THRESHOLD int нет 0 Время, в течение которого соединение может находиться вне пула, прежде чем будет зарегистрировано сообщение, указывающее на возможную утечку соединения. Значение 0 означает, что обнаружение утечек отключено. Наименьшее приемлемое значение для включения обнаружения утечек составляет 10 с.
DATAMART_ADAPTER_DB_CONNECTION_TEST_QUERY string нет "SELECT 1" Выражение, которое будет выполнено непосредственно перед получением соединения из пула для проверки того, что соединение с базой данных все еще активно. Оно зависит от базы данных и должно представлять собой запрос, требующий минимальной обработки базой данных (например, «VALUES 1»). Если этот параметр не установлен, вместо него используется метод JDBC4 Connection.isValid().
DATAMART_ADAPTER_DB_REGISTER_MBEANS boolean нет false Зарегистрированы ли JMX Management Beans («MBeans»)
DATAMART_ADAPTER_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
DATAMART_ADAPTER_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
DATAMART_ADAPTER_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
DATAMART_ADAPTER_LOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
DATAMART_ADAPTER_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
DATAMART_ADAPTER_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
DATAMART_ADAPTER_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
DATAMART_ADAPTER_LOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
DATAMART_ADAPTER_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
DATAMART_ADAPTER_LOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
DATAMART_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
DATAMART_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
DATAMART_ADAPTER_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
DATAMART_ADAPTER_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
DATAMART_ADAPTER_LOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
DATAMART_ADAPTER_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
DATAMART_ADAPTER_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
DATAMART_ADAPTER_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
DATAMART_ADAPTER_LOG_OUTPUT string нет STDOUT Вывод лога
DATAMART_ADAPTER_SYSLOG_TYPE string нет UDP Тип передачи syslog
DATAMART_ADAPTER_LOGGING_SRC_IP string нет "localhost" для параметра src в логах
DATAMART_ADAPTER_LOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
DATAMART_ADAPTER_LOGGING_DST_IP string нет "SERVER" для параметра dst в логах
DATAMART_ADAPTER_LOGGING_CEF_VER string нет 0 версия CEF
DATAMART_ADAPTER_MAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
DATAMART_ADAPTER_REQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
DATAMART_ADAPTER_RETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
DATAMART_ADAPTER_RETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
DATAMART_ADAPTER_MIGRATIONS_TIMEOUT duration string нет 10 minutes Таймаут для миграций CustomChange

Формат CEF для логов сервиса Datamart Adapter

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, DATAMART_ADAPTER_LOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Список команд сервиса Datamart Adapter

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованно 1 команда:

ImportMappings

Обновляет маппинг сущностей.

Команда Тип
dataMartAdapter_importMappings Kafka

Сущности сервиса Datamart Adapter

DataMartMapping

Поле Тип Обязательное Описание
table string да Название таблицы в витрине данных
entityType string да EntityType сущностей в событиях entityObjectEvent (для catalogEvents это Catalog и CatalogItem)
fields ListDataMartFieldMapping да Маппинг полей

DataMartFieldMapping

Поле Тип Обязательное Описание
from string да Название поля в исходном EntityObject
to string да Название поля в таблице витрины

FRGU Migrator

Сервис принимает команды и хранит состояние в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик frgu_migrator_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

FRGU_MIGRATOR_DB_HOST=localhost FRGU_MIGRATOR_DB_PORT=5432 FRGU_MIGRATOR_DB_NAME=frgu-migrator FRGU_MIGRATOR_DB_USER=postgres FRGU_MIGRATOR_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса FRGU Migrator

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
FRGU_MIGRATOR_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
FRGU_MIGRATOR_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
FRGU_MIGRATOR_COMMANDS_CONSIDER_ALL_INTERNAL boolean да false Все межсервисные команды являются внутренними (internal) и не требуют авторизации
FRGU_MIGRATOR_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
FRGU_MIGRATOR_KAFKA_TOPIC string нет "frgu_migrator_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
FRGU_MIGRATOR_KAFKA_CONSUMER_GROUP string нет "frgu_migrator_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
FRGU_MIGRATOR_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который FRGU_MIGRATOR_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
FRGU_MIGRATOR_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
FRGU_MIGRATOR_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka(в случае аутентификации в kafka с помощью пароля). Если название не указано, то настройки авторизации не будут применены.
FRGU_MIGRATOR_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka(в случае аутентификации в kafka с помощью пароля).
FRGU_MIGRATOR_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае аутентификации в kafka через Kerberos).
FRGU_MIGRATOR_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае аутентификации в kafka через Kerberos).
FRGU_MIGRATOR_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
FRGU_MIGRATOR_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
FRGU_MIGRATOR_KAFKA_CONNECTION_CHECK_TEST_MESSAGES_INTERVAL duration string нет 4 minutes Применяется только для producer-ов со способом аутентификации kerberos. Интервал отправки тестовых сообщений кафки в топик connectionCheck.testMessagesTopicName. Тестовые сообщения (null, service producer test) отправляются регулярно с этим интервалом.
FRGU_MIGRATOR_KAFKA_CONNECTION_CHECK_INTERVAL duration string нет 60 seconds Применяется только для producer-ов со способом аутентификации kerberos. Интервал проверки того, сколько тестовых сообщений было отправлено за данный период. Если количество сообщений за этот период равно количеству сообщений за прошлый период, то начинается отсчет периода без сообщений.
FRGU_MIGRATOR_KAFKA_CONNECTION_CHECK_FAILED_AFTER_INTERVAL duration string нет 5 minutes Применяется только для producer-ов со способом аутентификации kerberos. Максимальная продолжительность периода без успешно отправленных тестовых сообщений. По ее достижении сервис будет объявлен больным.
FRGU_MIGRATOR_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
FRGU_MIGRATOR_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
FRGU_MIGRATOR_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
FRGU_MIGRATOR_TRACE_DURATION boolean нет false Признак необходимости трассировки выполнения команд
FRGU_MIGRATOR_DISCOVERABLE_ID string нет "another_frgu_migrator_service_instance" ID сервиса в ServiceDiscovery
FRGU_MIGRATOR_DISCOVERABLE_NAME string нет "frgu-migrator" Имя сервиса в ServiceDiscovery
FRGU_MIGRATOR_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
FRGU_MIGRATOR_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
FRGU_MIGRATOR_DISCOVERABLE_LIVETIME duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
FRGU_MIGRATOR_DISCOVERABLE_HEALTHPASS string нет 1 minute Периодичность отправки health check в ServiceDiscovery
FRGU_MIGRATOR_SERVICE_TITLE string нет "FRGU Migrator" Название сервиса для отображения
FRGU_MIGRATOR_SERVICE_DESCRIPTION string нет "Service FRGU_MIGRATOR" Описание сервиса для отображения
FRGU_MIGRATOR_AKKA_HTTP_CLIENT_MAXCON int нет 512 Максимальное число одновременных исходящих HTTP-соединений
FRGU_MIGRATOR_AKKA_HTTP_CLIENT_MAXREQ int нет 1024 Максимальное число одновременных исходящих HTTP-запросов
FRGU_MIGRATOR_AKKA_HTTP_SERVER_MAXCON int нет 1024 Максимальное число одновременных входящих HTTP-соединений
FRGU_MIGRATOR_INTERNALCMD_ALLOW bool нет false Можно ли сервису отправлять внутрисистемные команды
FRGU_MIGRATOR_HEALTH_TIMEOUT duration string нет 5 seconds Максимальное время ожидания ответа health check
FRGU_MIGRATOR_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
FRGU_MIGRATOR_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
FRGU_MIGRATOR_SENDERLIB_KAFKA_POLLING_TIMEOUT duration string нет 1 minutes Таймаут пуллинга межсервисных команд
FRGU_MIGRATOR_DB_HOST string да Хост БД
FRGU_MIGRATOR_DB_PORT int да Порт БД
FRGU_MIGRATOR_DB_NAME string да Имя базы в БД
FRGU_MIGRATOR_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
FRGU_MIGRATOR_DB_USER string да Пользователь БД
FRGU_MIGRATOR_DB_PASSWORD string да Пароль пользователя БД
FRGU_MIGRATOR_FRGU1_DB_HOST string да Хост БД FRGU1.0
FRGU_MIGRATOR_FRGU1_DB_PORT int да Порт БД FRGU1.0
FRGU_MIGRATOR_FRGU1_DB_NAME string да Имя базы в БД FRGU1.0
FRGU_MIGRATOR_FRGU1_DB_URL jdbc url string нет JDBC-url для соединения с БД FRGU1.0. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
FRGU_MIGRATOR_FRGU1_DB_USER string да Пользователь БД FRGU1.0
FRGU_MIGRATOR_FRGU1_DB_PASSWORD string да Пароль пользователя БД FRGU1.0
FRGU_MIGRATOR_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
FRGU_MIGRATOR_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
FRGU_MIGRATOR_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
FRGU_MIGRATOR_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
FRGU_MIGRATOR_LOG_LEVEL_SLICK_STATEMENT string нет INFO Уровень логирования запросов, отправляемых slick в БД
FRGU_MIGRATOR_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирование бенчмарков выполнения запросов slick
FRGU_MIGRATOR_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
FRGU_MIGRATOR_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования конфига kafka-consumer
FRGU_MIGRATOR_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
FRGU_MIGRATOR_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
FRGU_MIGRATOR_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
LOGGING_HOSTNAME string нет SERVER Имя сервера для CEF-логов
LOGGING_EXTERNAL_ADDRESS string нет localhost IP-адрес сервера для CEF-логов
GPN_VERSION_POSTFIX string нет Постфикс библиотеки gpn-libs для сборки CI
CLIENT_VERSION_POSTFIX string нет Постфикс библиотеки sed-domain-lib для сборки CI
SYSTEM_VERSION_POSTFIX string нет Постфикс библиотеки sed-system-lib для сборки CI
FRGU_MIGRATOR_LOG_FORMAT string нет CEF Формат вывода логов (если переменная содержит CEF, применяет формат CEF, иначе дефолтный паттерн)
FRGU_MIGRATOR_SYSLOG_ENABLE boolean нет false Включить дополнительный вывод в syslog
FRGU_MIGRATOR_SYSLOG_PROTOCOL string нет TCP Протокол (TCP или UDP)
FRGU_MIGRATOR_SYSLOG_SSL_ENABLE boolean нет false Включить SSL
FRGU_MIGRATOR_SYSLOG_HOST string нет Хост syslog сервера
FRGU_MIGRATOR_SYSLOG_PORT string нет Порт syslog сервера
FRGU_MIGRATOR_SYSLOG_RECONNECTION_DELAY int нет 10000 Задержка между попытками соединиться с сервером syslog, если было неудачное соединение
FRGU_MIGRATOR_SYSLOG_TRUSTSTORE_LOCATION string нет Путь к truststore
FRGU_MIGRATOR_SYSLOG_TRUSTSTORE_PASSWORD string нет Пароль к truststore
FRGU_MIGRATOR_LOG_FILE_ENABLE boolean нет false Включить вывод в файл
FRGU_MIGRATOR_DEBUG_COUNT int нет 0 Количество импортируемых строк (для отладки). 0 - все
FRGU_MIGRATOR_NESTOR_MODE string да WriteToJournal Режим записи журналирования (WriteToJournal - журналирование в nestor, WriteToTopic - запись в топик кафка)
FRGU_MIGRATOR_NESTOR_TOPIC string да, если FRGU_MIGRATOR_NESTOR_MODE указан WriteToTopic Топик Kafka для сообщений журналирования
FRGU_MIGRATOR_CACHE_ALEXANDRINA_TTL duration string нет 30 days Время жизни кэша значения справочного элемента сервиса Alexandrina

Доступные миграции

ФРГУ 1.0

Для фргу 1.0 код миграции = коду соответствующего региона (Federal для федеральных)

Поле params должно быть равно null

ФРГУ 2.0

Для фргу 2.0 пока что доступна только миграция ГУ - MunicipalServiceCard

Поле params - массив id услуг в фргу 2.0:

[
  304821,
  303027,
  303458
]

Список команд сервиса FRGU Migrator

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованы следующие команды:

-Запуск миграций регионов -Поиск InternalId для миграции -Откат миграций регионов -Список миграций

StartMigrations

На входе список id миграций с опциональными входными параметрами

[
  {
    "code": "MunicipalServiceCard",
    "params": [
      304821,
      303027,
      303458
    ]
  },
  {
    "code": "DagestanRepublic"
  }
]

На выходе - пустое тело ответа

Миграции ставятся в очередь на запуск в том порядке, в котором были переданы в теле. Информация по миграциям в разделе "Доступные миграции"

При аварийном отключении frgu-migrator миграции в очереди помечаются статусом Failed

Имеет общую очередь с командой отката.

Команда Путь
frguMigrator_startMigrations Kafka Topic "frgu_migrator_commands"

GetInternalIdForMigration

На входе список entityId и classCode миграций

{
  "entityId": "101101",
  "classCode": "MunicipalServiceCard"
}

На выходе - internalId c описанием

{
  "status": "Completed",
  "timestamp": 1725017650609,
  "value": {
    "internalId": null,
    "status": "error",
    "error": "MigrationItem with entityId 291939 and classCode ServiceRequest not found"
  }
}
{
  "status": "Completed",
  "timestamp": 1725017736488,
  "value": {
    "internalId": "000020bd-c188-4d0b-871e-d3a39f7f2fa2",
    "status": "success",
    "error": null
  }
}
Команда Путь
frguMigrator_getInternalIdForMigration Kafka Topic "frgu_migrator_commands"

SearchFrguId2ForMigration

На входе список предпологаемый frguId2

   101101

На выходе - Boolean true если можно мигрировать /false если нельзя мигрировать(нет в базе)

{
  "status": "Completed",
  "timestamp": 1725367497937,
  "value": true
}
Команда Путь
frguMigrator_searchFrguId2ForMigration Kafka Topic "frgu_migrator_commands"

RollbackMigrations

На входе список id миграций для отката миграции

[
  "DagestanRepublic",
  "Federal"
]

На выходе - пустое тело ответа

Запуск отката миграций.

При аварийном отключении frgu-migrator миграции в очереди помечаются статусом RollbackFailed

Имеет общую очередь с командой старта.

Команда Путь
frguMigrator_rollbackMigrations Kafka Topic "frgu_migrator_commands"

ListMigrations

На входе параметры поиска, сортировки и пагинации (Search)

{
  "query": "title",
  "context": {
    "title": "like %Республика%"
  },
  "sorting": {
    "fieldName": "source",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список миграций и их общее количество

{
  "items": [
    {
      "code": "DagestanRepublic",
      "title": "Республика Дагестан",
      "source": "FRGU1",
      "lastModified": 1711441100746,
      "status": "Finished",
      "author": "46abb0ac-f867-4041-9948-90361b6283e1",
      "processedStages": []
    }
  ],
  "total": 1
}

Получение списка миграций с поиском, сортировкой и пагинацией.

Команда Путь
frguMigrator_listMigrations HTTP POST "/v1/migration/list"

Объекты сервиса FRGU Migrator

Migration

Поле Тип Обязательное Описание
code string да Код миграции
title string да Заголовок миграции
source string да Система - источник данных
lastModified timestamp нет Дата и время последнего изменения статуса
status MigrationStatus нет Статус миграции
author uuid нет ID пользователя, последнего изменившего статус
processedStages string[] да Список пройденных стадий миграции (очищается при завершении)

MigrationInput

Поле Тип Обязательное Описание
code string да Код миграции
params json нет Параметры миграции

MigrationStatus

Существует 8 статусов миграции

Mon Szi: сервис для примера

Сервис принимает запросы для работы с игроками и командами. Состояние хранится в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик mon_szi_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Информацию по добавлению команд можно прочитать в описании шаблона

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

MON_SZI_DB_HOST=localhost MON_SZI_DB_PORT=5432 MON_SZI_DB_NAME=monSzi_db MON_SZI_DB_USER=postgres MON_SZI_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса Mon Szi

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
MON_SZI_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
MON_SZI_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
MON_SZI_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
MON_SZI_KAFKA_TOPIC string нет "mon_szi_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
MON_SZI_KAFKA_CONSUMER_GROUP string нет "mon_szi_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
MON_SZI_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
MON_SZI_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
MON_SZI_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
MON_SZI_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
MON_SZI_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах MON_SZI_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
MON_SZI_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который MON_SZI_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
MON_SZI_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
MON_SZI_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
MON_SZI_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
MON_SZI_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
MON_SZI_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
MON_SZI_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
MON_SZI_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
MON_SZI_KAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
MON_SZI_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
MON_SZI_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
MON_SZI_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
MON_SZI_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
MON_SZI_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
MON_SZI_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
MON_SZI_DISCOVERABLE_ID_PREFIX string нет "another_mon_szi_instance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
MON_SZI_DISCOVERABLE_NAME string нет "monSzi" Имя сервиса в ServiceDiscovery
MON_SZI_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
MON_SZI_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
MON_SZI_DISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
MON_SZI_DISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
MON_SZI_DISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
MON_SZI_SERVICE_NAME string нет Mon Szi Название сервиса для отображения
MON_SZI_SERVICE_DESCRIPTION string нет "Service MON_SZI" Описание сервиса для отображения
MON_SZI_INTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
MON_SZI_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
MON_SZI_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
MON_SZI_SENDERLIB_KAFKA_POLLING_TIMEOUT duration string нет 1 minutes Таймаут пуллинга межсервисных команд
MON_SZI_DB_HOST string да Хост БД
MON_SZI_DB_PORT int да Порт БД
MON_SZI_DB_NAME string да Имя базы в БД
MON_SZI_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
MON_SZI_DB_USER string да Пользователь БД
MON_SZI_DB_PASSWORD string да Пароль пользователя БД
MON_SZI_DB_THREADS int нет 10 Количество потоков в пуле потоков для соединения с БД
MON_SZI_DB_QUEUE_SIZE int нет 300 Размер очереди для действий базы данных, которые не могут быть выполнены немедленно, когда все потоки заняты. За пределами этого значения новые действия немедленно завершаются неудачей
MON_SZI_DB_CONN_MAX int нет 10 Максимальное количество одновременных подключений к БД
MON_SZI_DB_CONN_TIMEOUT duration string нет 20 second Максимальное время ожидания ответа для соединения к БД. Если это время превышено, а соединение не становится доступным, будет брошено исключение SQLException. 1000 мс — минимальное значение.
MON_SZI_DB_ISOLATION string нет "READ_COMMITTED" Уровень изоляции транзакций для новых подключений. Допустимые значения: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE.
MON_SZI_DB_READONLY boolean нет false Read-only SQL транзакция может изменять только временные таблицы. Этот параметр управляет статусом «только для чтения» по умолчанию для каждой новой транзакции.
MON_SZI_DB_CONN_MIN int нет = DB_THREADS Минимальное количество одновременных подключений к БД
MON_SZI_DB_VALIDATION_TIMEOUT duration string нет 1 seconds Максимальное время, в течение которого соединение будет проверяться на работоспособность. 1000 мс — минимальное значение.
MON_SZI_DB_IDLE_TIMEOUT duration string нет 10 minutes Максимальное время, в течение которого соединению разрешено простаивать в пуле. Значение 0 означает, что простаивающие соединения никогда не удаляются из пула.
MON_SZI_DB_MAX_LIFETIME duration string нет 30 minutes Максимальное время жизни соединения в пуле. Когда простаивающее соединение достигает этого времени ожидания, даже если оно недавно использовалось, оно будет удалено из пула. Значение 0 указывает на отсутствие максимального срока службы.
MON_SZI_DB_INITIALIZATION_FAIL_FAST string нет false Определяет, будет ли пул «быстро выходить из строя», если пул не может быть успешно заполнен начальными соединениями. Если соединения не могут быть созданы во время запуска пула, будет выдано исключение RuntimeException. Это свойство не имеет никакого эффекта, если minConnections равно 0.
MON_SZI_DB_LEAK_DETECTION_THRESHOLD int нет 0 Время, в течение которого соединение может находиться вне пула, прежде чем будет зарегистрировано сообщение, указывающее на возможную утечку соединения. Значение 0 означает, что обнаружение утечек отключено. Наименьшее приемлемое значение для включения обнаружения утечек составляет 10 с.
MON_SZI_DB_CONNECTION_TEST_QUERY string нет "SELECT 1" Выражение, которое будет выполнено непосредственно перед получением соединения из пула для проверки того, что соединение с базой данных все еще активно. Оно зависит от базы данных и должно представлять собой запрос, требующий минимальной обработки базой данных (например, «VALUES 1»). Если этот параметр не установлен, вместо него используется метод JDBC4 Connection.isValid().
MON_SZI_DB_REGISTER_MBEANS boolean нет false Зарегистрированы ли JMX Management Beans («MBeans»)
MON_SZI_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
MON_SZI_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
MON_SZI_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
MON_SZI_LOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
MON_SZI_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
MON_SZI_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
MON_SZI_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
MON_SZI_LOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
MON_SZI_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
MON_SZI_LOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
MON_SZI_LOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
MON_SZI_LOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
MON_SZI_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
MON_SZI_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
MON_SZI_LOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
MON_SZI_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
MON_SZI_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
MON_SZI_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
MON_SZI_LOG_OUTPUT string нет STDOUT Вывод лога
MON_SZI_SYSLOG_TYPE string нет UDP Тип передачи syslog
MON_SZI_LOGGING_SRC_IP string нет "localhost" для параметра src в логах
MON_SZI_LOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
MON_SZI_LOGGING_DST_IP string нет "SERVER" для параметра dst в логах
MON_SZI_LOGGING_CEF_VER string нет 0 версия CEF
MON_SZI_MAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
MON_SZI_REQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
MON_SZI_RETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
MON_SZI_RETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
MON_SZI_MIGRATIONS_TIMEOUT duration string нет 10 minutes Таймаут для миграций CustomChange

Формат CEF для логов сервиса Mon Szi

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, MON_SZI_LOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Список команд сервиса Mon Szi

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованно 2 команды:

CheckAuth

Проверяет аутентификация и выставляет cookie. Также обновляет атрибуты пользователя сессионными атрибутами из ЕСИА.

Команда Тип
mon_http_SziCheckAuth HTTP

ConfirmOgrn

Принудительно обновляет атрибуты пользователя на новый огрн.

Команда Тип
mon_http_ConfirmOgrn HTTP

Sed Profiling: Сервис профилирования

Сервис для профилирования подуслуг. В ключевой функционал сервиса входит:

Состояние хранится в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик sed_profiling_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Информацию по добавлению команд можно прочитать в описании шаблона

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

SED_PROFILING_DB_HOST=localhost SED_PROFILING_DB_PORT=5432 SED_PROFILING_DB_NAME=sedProfiling_db SED_PROFILING_DB_USER=postgres SED_PROFILING_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса Sed Profiling

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
SED_PROFILING_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
SED_PROFILING_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
SED_PROFILING_COMMANDS_CONSIDER_ALL_INTERNAL boolean да true Все межсервисные команды являются внутренними (internal) и не требуют авторизации
SED_PROFILING_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
SED_PROFILING_KAFKA_TOPIC string нет "sed_profiling_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
SED_PROFILING_KAFKA_CONSUMER_GROUP string нет "sed_profiling_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SED_PROFILING_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SED_PROFILING_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
SED_PROFILING_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
SED_PROFILING_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
SED_PROFILING_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах SED_PROFILING_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
SED_PROFILING_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который SED_PROFILING_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
SED_PROFILING_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
SED_PROFILING_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
SED_PROFILING_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
SED_PROFILING_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
SED_PROFILING_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
SED_PROFILING_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
SED_PROFILING_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
SED_PROFILING_KAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
SED_PROFILING_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
SED_PROFILING_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
SED_PROFILING_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
SED_PROFILING_KAFKA_CONNECTION_CHECK_TEST_MESSAGES_INTERVAL duration string нет 4 minutes Применяется только для producer-ов со способом аутентификации kerberos. Интервал отправки тестовых сообщений кафки в топик connectionCheck.testMessagesTopicName. Тестовые сообщения (null, service producer test) отправляются регулярно с этим интервалом.
SED_PROFILING_KAFKA_CONNECTION_CHECK_INTERVAL duration string нет 60 seconds Применяется только для producer-ов со способом аутентификации kerberos. Интервал проверки того, сколько тестовых сообщений было отправлено за данный период. Если количество сообщений за этот период равно количеству сообщений за прошлый период, то начинается отсчет периода без сообщений.
SED_PROFILING_KAFKA_CONNECTION_CHECK_FAILED_AFTER_INTERVAL duration string нет 5 minutes Применяется только для producer-ов со способом аутентификации kerberos. Максимальная продолжительность периода без успешно отправленных тестовых сообщений. По ее достижении сервис будет объявлен больным.
SED_PROFILING_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
SED_PROFILING_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
SED_PROFILING_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
SED_PROFILING_DISCOVERABLE_ID_PREFIX string нет "another_sed_profiling_instance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
SED_PROFILING_DISCOVERABLE_NAME string нет "sedProfiling" Имя сервиса в ServiceDiscovery
SED_PROFILING_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
SED_PROFILING_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
SED_PROFILING_DISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
SED_PROFILING_DISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
SED_PROFILING_DISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
SED_PROFILING_SERVICE_NAME string нет Sed Profiling Название сервиса для отображения
SED_PROFILING_SERVICE_DESCRIPTION string нет "Service SED_PROFILING" Описание сервиса для отображения
SED_PROFILING_INTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
SED_PROFILING_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
SED_PROFILING_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
SED_PROFILING_DB_HOST string да Хост БД
SED_PROFILING_DB_PORT int да Порт БД
SED_PROFILING_DB_NAME string да Имя базы в БД
SED_PROFILING_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
SED_PROFILING_DB_USER string да Пользователь БД
SED_PROFILING_DB_PASSWORD string да Пароль пользователя БД
SED_PROFILING_DB_THREADS int нет 10 Количество потоков в пуле потоков для соединения с БД
SED_PROFILING_DB_QUEUE_SIZE int нет 300 Размер очереди для действий базы данных, которые не могут быть выполнены немедленно, когда все потоки заняты. За пределами этого значения новые действия немедленно завершаются неудачей
SED_PROFILING_DB_CONN_MAX int нет 10 Максимальное количество одновременных подключений к БД
SED_PROFILING_DB_CONN_TIMEOUT duration string нет 20 second Максимальное время ожидания ответа для соединения к БД. Если это время превышено, а соединение не становится доступным, будет брошено исключение SQLException. 1000 мс — минимальное значение.
SED_PROFILING_DB_ISOLATION string нет "READ_COMMITTED" Уровень изоляции транзакций для новых подключений. Допустимые значения: NONE, READ_COMMITTED, READ_UNCOMMITTED, REPEATABLE_READ, SERIALIZABLE.
SED_PROFILING_DB_READONLY boolean нет false Read-only SQL транзакция может изменять только временные таблицы. Этот параметр управляет статусом «только для чтения» по умолчанию для каждой новой транзакции.
SED_PROFILING_DB_CONN_MIN int нет = DB_THREADS Минимальное количество одновременных подключений к БД
SED_PROFILING_DB_VALIDATION_TIMEOUT duration string нет 1 seconds Максимальное время, в течение которого соединение будет проверяться на работоспособность. 1000 мс — минимальное значение.
SED_PROFILING_DB_IDLE_TIMEOUT duration string нет 10 minutes Максимальное время, в течение которого соединению разрешено простаивать в пуле. Значение 0 означает, что простаивающие соединения никогда не удаляются из пула.
SED_PROFILING_DB_MAX_LIFETIME duration string нет 30 minutes Максимальное время жизни соединения в пуле. Когда простаивающее соединение достигает этого времени ожидания, даже если оно недавно использовалось, оно будет удалено из пула. Значение 0 указывает на отсутствие максимального срока службы.
SED_PROFILING_DB_INITIALIZATION_FAIL_FAST string нет false Определяет, будет ли пул «быстро выходить из строя», если пул не может быть успешно заполнен начальными соединениями. Если соединения не могут быть созданы во время запуска пула, будет выдано исключение RuntimeException. Это свойство не имеет никакого эффекта, если minConnections равно 0.
SED_PROFILING_DB_LEAK_DETECTION_THRESHOLD int нет 0 Время, в течение которого соединение может находиться вне пула, прежде чем будет зарегистрировано сообщение, указывающее на возможную утечку соединения. Значение 0 означает, что обнаружение утечек отключено. Наименьшее приемлемое значение для включения обнаружения утечек составляет 10 с.
SED_PROFILING_DB_CONNECTION_TEST_QUERY string нет "SELECT 1" Выражение, которое будет выполнено непосредственно перед получением соединения из пула для проверки того, что соединение с базой данных все еще активно. Оно зависит от базы данных и должно представлять собой запрос, требующий минимальной обработки базой данных (например, «VALUES 1»). Если этот параметр не установлен, вместо него используется метод JDBC4 Connection.isValid().
SED_PROFILING_DB_REGISTER_MBEANS boolean нет false Зарегистрированы ли JMX Management Beans («MBeans»)
SED_PROFILING_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
SED_PROFILING_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
SED_PROFILING_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
SED_PROFILING_LOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
SED_PROFILING_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
SED_PROFILING_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
SED_PROFILING_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
SED_PROFILING_LOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
SED_PROFILING_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
SED_PROFILING_LOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
SED_PROFILING_LOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
SED_PROFILING_LOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
SED_PROFILING_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
SED_PROFILING_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
SED_PROFILING_LOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
SED_PROFILING_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
SED_PROFILING_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
SED_PROFILING_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
SED_PROFILING_LOG_OUTPUT string нет STDOUT Вывод лога
SED_PROFILING_SYSLOG_TYPE string нет UDP Тип передачи syslog
SED_PROFILING_LOGGING_SRC_IP string нет "localhost" для параметра src в логах
SED_PROFILING_LOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
SED_PROFILING_LOGGING_DST_IP string нет "SERVER" для параметра dst в логах
SED_PROFILING_LOGGING_CEF_VER string нет 0 версия CEF
SED_PROFILING_MAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
SED_PROFILING_REQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
SED_PROFILING_RETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
SED_PROFILING_RETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
SED_PROFILING_MIGRATIONS_TIMEOUT duration string нет 10 minutes Таймаут для миграций CustomChange

Формат CEF для логов сервиса Sed Profiling

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, SED_PROFILING_LOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Список команд сервиса Sed Profiling

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованно данные команды:

CreateQuestion

На входе атрибуты для создания нового обычного вопроса

{
  "subServiceId": "00000000-0000-0000-0000-000000000000",
  "text": "Обычный вопрос",
  "isActive": true
}

На выходе созданный вопрос

{
  "id": "bad94be9-da4b-40c9-acdd-7fbcdef3554f",
  "subServiceId": "00000000-0000-0000-0000-000000000001",
  "referenceQuestionId": null,
  "text": "Обычный вопрос",
  "isActive": true,
  "isRoot": false,
  "created": 1719818627138,
  "createdBy": "23607e42-a9e1-4530-b7e1-a60298cd9b8e",
  "modified": 1719818627138,
  "modifiedBy": "23607e42-a9e1-4530-b7e1-a60298cd9b8e",
  "removed": false,
  "version": 1
}

Создаёт новый обычный вопрос. Невозможно создание обычного вопроса без имеющегося корневого вопроса к данной подуслуге.

Команда Тип
sedProfiling_createQuestion Kafka

CreateRootQuestion

На входе RootQuestionCreateDTO subServiceEntityType равен SubService для обычного запроса или SubServiceTemplate для запроса шаблона

{
  "subServiceId": "0531f290-f575-44f6-b133-597199da6705",
  "subServiceEntityType": "SubService"
}

На выходе созданный вопрос и ответы

{
  "id": "920a7fab-2de5-43c7-90fe-2aeedcc6d59b",
  "subServiceId": "00000000-0000-0000-0000-000000000000",
  "subServiceEntityType": "SubService",
  "referenceQuestion": {
    "id": "ApplicantCategory",
    "text": "Категория заявителя"
  },
  "text": null,
  "isActive": true,
  "isRoot": true,
  "answers": [
    {
      "id": "01e4f92a-bc46-4c97-91c2-6c38be6b3295",
      "questionId": "442030cd-f591-460f-b828-1a766334bb08",
      "nextQuestionId": null,
      "referenceAnswerId": "PhysicalEntity",
      "text": null,
      "isActive": true,
      "isPaid": false,
      "proactiveMode": false,
      "isAdvanceRequest": null,
      "proactiveModeReason": null,
      "informationSystemIn": null,
      "informationSystemOut": null,
      "documentIds": [],
      "interdepartmentalInteractionIds": [],
      "data": {},
      "created": 1721286226543,
      "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
      "modified": 1721286226543,
      "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
      "removed": false,
      "version": 1
    }
  ],
  "created": 1721029829664,
  "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "modified": 1721029829664,
  "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "removed": false,
  "version": 1
}

Создаёт новый корневой вопрос, который всегда является активным.

Команда Тип
sedProfiling_createRootQuestion Kafka

DeleteQuestion

На входе ID вопроса

"bad94be9-da4b-40c9-acdd-7fbcdef3554f"

На выходе пустое тело ответа

Удаляет обычный вопрос, также удаляет и все ответы на него и привязки.

Команда Тип
sedProfiling_deleteQuestion Kafka

ListQuestions

На входе ID подуслуги и признак showInactive, отвечающий за вывод в ответ неактивных вопросов и ответов

{
  "subServiceId": "00000000-0000-0000-0000-000000000000",
  "showInactive": true
}

На выходе список вопросов с ответами

[
  {
    "id": "442030cd-f591-460f-b828-1a766334bb08",
    "subServiceId": "1aa1a00d-f8d2-4645-997a-f8e8c0e1ad93",
    "subServiceEntityType": "SubService",
    "referenceQuestionId": "ApplicantCategory",
    "text": null,
    "isActive": true,
    "isRoot": true,
    "answers": [
      {
        "id": "01e4f92a-bc46-4c97-91c2-6c38be6b3295",
        "questionId": "442030cd-f591-460f-b828-1a766334bb08",
        "nextQuestionId": null,
        "referenceAnswerId": "PhysicalEntity",
        "text": null,
        "isActive": true,
        "isPaid": false,
        "proactiveMode": false,
        "isAdvanceRequest": null,
        "proactiveModeReason": null,
        "informationSystemIn": null,
        "informationSystemOut": null,
        "documentIds": [],
        "interdepartmentalInteractionIds": [
          "2ebb9ce9-fca5-4fb4-ba19-360e8a60f219",
          "52493156-5fc8-43fa-96db-9b73a9da3aef",
          "4bdfcb67-f0a0-45b4-8fd9-71caf9456787"
        ],
        "data": {},
        "created": 1721286226543,
        "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
        "modified": 1721286226543,
        "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
        "removed": false,
        "version": 1
      },
      {
        "id": "52e5eb3c-da63-4c14-b5a2-44ef3df8df0b",
        "questionId": "442030cd-f591-460f-b828-1a766334bb08",
        "nextQuestionId": null,
        "referenceAnswerId": "LegalEntity",
        "text": null,
        "isActive": true,
        "isPaid": false,
        "proactiveMode": false,
        "isAdvanceRequest": null,
        "proactiveModeReason": null,
        "informationSystemIn": null,
        "informationSystemOut": null,
        "documentIds": [
          "9e5d800f-98ef-4bf5-a795-320302be4e98",
          "bdc0bd5b-10c8-4665-9673-0c6e9f167d00"
        ],
        "interdepartmentalInteractionIds": [],
        "data": {},
        "created": 1721286226544,
        "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
        "modified": 1721286226544,
        "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
        "removed": false,
        "version": 1
      }
    ],
    "created": 1721286226446,
    "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
    "modified": 1721286226446,
    "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
    "removed": false,
    "version": 1
  }
]

Возвращает вопросы и ответы для подуслуги.

Команда Тип
sedProfiling_listQuestions Http

GetQuestion

На входе ID вопроса

"bad94be9-da4b-40c9-acdd-7fbcdef3554f"

На выходе Question

{
  "id": "d29b24c0-94dc-43c2-9993-0266417d5b68",
  "subServiceId": "1aa1a00d-f8d2-4645-997a-f8e8c0e1ad93",
  "subServiceEntityType": "SubService",
  "referenceQuestion": null,
  "text": "text",
  "isActive": true,
  "isRoot": false,
  "created": 1721286404536,
  "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "modified": 1721286404536,
  "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "removed": false,
  "version": 1
}
Команда Тип
sedProfiling_getQuestion Http

UpdateQuestion

На входе атрибуты для обновления обычного вопроса

{
  "id": "67908c9a-8f60-4406-86b2-884465af8f1f",
  "version": 1,
  "text": "текст",
  "isActive": true
}

На выходе пустое тело ответа

Обновляет обычный вопрос.

Команда Тип
sedProfiling_updateQuestion Kafka

CreateAnswer

На входе атрибуты для создания нового ответа и связанных сущностей

{
  "questionId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
  "referenceAnswerId": null,
  "text": "Текст",
  "isActive": true,
  "isPaid": true,
  "proactiveMode": true,
  "isAdvanceRequest": false,
  "proactiveModeReason": "Причина",
  "informationSystemIn": "in",
  "informationSystemOut": "out",
  "data": {},
  "documentsCreate": [
    {
      "order": 0,
      "documentCategory": "DocumentCategory_2",
      "document": "Document_1",
      "isMandatory": true,
      "approvedByRegulations": true,
      "submissionMethodsCreate": [
        {
          "submissionMethod": "SubmissionMethod_1",
          "documentRequirements": "requirements"
        }
      ]
    }
  ],
  "interdepartmentalInteractionCreate": [
    {
      "order": 1,
      "interactionType": "InteractionType_1",
      "supplierId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
      "serviceTitle": "Title",
      "typeInformationTitle": "TypeInformation",
      "dataMartTitle": "Data",
      "interdepartmentalRequestTitle": "request",
      "deadlineRequestUnit": "Days",
      "deadlineRequestAmount": 20,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    },
    {
      "order": 1,
      "interactionType": "InteractionType_1",
      "supplierId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
      "serviceTitle": "Title",
      "typeInformationTitle": "TypeInformation",
      "dataMartTitle": "Data",
      "interdepartmentalRequestTitle": "request",
      "deadlineRequestUnit": "Days",
      "deadlineRequestAmount": 20,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    }
  ],
  "paymentsCreate": [
    {
      "fee": 200,
      "feeType": "FeeType",
      "isFreeForm": false,
      "feeMethod": []
    }
  ]
}

На выходе созданный ответ

{
  "id": "566e44c5-9915-4a90-ace5-f0573aa83566",
  "questionId": "b9d65e3b-ccf3-4d1e-aa5c-8c0e0784a1bc",
  "nextQuestionId": null,
  "referenceAnswerId": null,
  "text": "Текст",
  "isActive": true,
  "isPaid": true,
  "proactiveMode": true,
  "isAdvanceRequest": false,
  "proactiveModeReason": "Причина",
  "informationSystemIn": "in",
  "informationSystemOut": "out",
  "data": {},
  "created": 1721301475314,
  "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "modified": 1721301475314,
  "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "removed": false,
  "version": 1
}

Создаёт новый ответ.

Команда Тип
sedProfiling_createAnswer Kafka

DeleteAnswer

На входе ID ответа

"bad94be9-da4b-40c9-acdd-7fbcdef3554f"

На выходе пустое тело ответа

Удаляет ответ.

Команда Тип
sedProfiling_deleteAnswer Kafka

LinkAnswer

На входе ID ответа, вопроса и версия

{
  "answerId": "7a01be36-7057-46dc-86c4-99693e05dc80",
  "version": 3,
  "nextQuestionId": "b9d65e3b-ccf3-4d1e-aa5c-8c0e0784a1bc"
}

На выходе пустое тело ответа

Привязывает следующий вопрос к ответу.

Команда Тип
sedProfiling_linkAnswer Kafka

UnlinkAnswer

На входе ID ответа и версия

{
  "answerId": "7a01be36-7057-46dc-86c4-99693e05dc80",
  "version": 3
}

На выходе пустое тело ответа

Удаляет привязку ответа к следующему вопросу.

Команда Тип
sedProfiling_unlinkAnswer Kafka

UpdateAnswer

На входе атрибуты для обновления ответа и связанных сущностей

{
  "id": "566e44c5-9915-4a90-ace5-f0573aa83566",
  "version": 1,
  "questionId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
  "nextQuestionId": null,
  "referenceAnswerId": null,
  "text": "text",
  "isActive": true,
  "isPaid": true,
  "proactiveMode": true,
  "isAdvanceRequest": false,
  "proactiveModeReason": null,
  "informationSystemIn": "in",
  "informationSystemOut": null,
  "data": {
    "ah": "oh"
  },
  "interdepartmentalInteractionCreate": [
    {
      "order": 1,
      "interactionType": "InteractionType_1",
      "supplierId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
      "serviceTitle": "Title",
      "typeInformationTitle": "TypeInformation",
      "dataMartTitle": "Data",
      "interdepartmentalRequestTitle": "request",
      "deadlineRequestUnit": "Days",
      "deadlineRequestAmount": 20,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    },
    {
      "order": 1,
      "interactionType": "InteractionType_1",
      "supplierId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
      "serviceTitle": "Title",
      "typeInformationTitle": "TypeInformation",
      "dataMartTitle": "Data",
      "interdepartmentalRequestTitle": "request",
      "deadlineRequestUnit": "Days",
      "deadlineRequestAmount": 20,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    }
  ],
  "interdepartmentalInteractionDelete": [
    "8e13aa53-da0c-4b6f-8d04-717ae7fb68ee"
  ],
  "documentsCreate": [
    {
      "order": 0,
      "documentCategory": "DocumentCategory_2",
      "document": "Document_1",
      "isMandatory": true,
      "approvedByRegulations": true,
      "submissionMethodsCreate": [
        {
          "submissionMethod": "SubmissionMethod_1",
          "documentRequirements": "requirements"
        }
      ]
    }
  ],
  "paymentsCreate": [
    {
      "fee": 200,
      "feeType": "feeType",
      "receivingFeeProcedure": "feeProcedure",
      "feeMethod": [],
      "isFreeForm": false
    }
  ]
}

На выходе пустое тело ответа

Обновляет ответ.

Команда Тип
sedProfiling_updateAnswer Kafka

GetAnswer

На входе ID ответа

"bad94be9-da4b-40c9-acdd-7fbcdef3554f"

На выходе Answer

{
  "id": "566e44c5-9915-4a90-ace5-f0573aa83566",
  "questionId": "d29b24c0-94dc-43c2-9993-0266417d5b68",
  "nextQuestionId": null,
  "referenceAnswerId": null,
  "text": "text",
  "isActive": true,
  "isPaid": true,
  "proactiveMode": true,
  "isAdvanceRequest": false,
  "proactiveModeReason": null,
  "informationSystemIn": "in",
  "informationSystemOut": null,
  "documentIds": [
    "69968b22-6179-4d6e-9459-6f1225debb4b",
    "5bb8431b-8177-4565-ba98-7c619a9d40ba"
  ],
  "interdepartmentalInteractionIds": [
    "2ebb9ce9-fca5-4fb4-ba19-360e8a60f219",
    "52493156-5fc8-43fa-96db-9b73a9da3aef",
    "4bdfcb67-f0a0-45b4-8fd9-71caf9456787"
  ],
  "paymentIds": [
    "2ebb9ce9-fca5-4fb4-ba19-360e8a60f219",
    "52493156-5fc8-43fa-96db-9b73a9da3aef",
    "4bdfcb67-f0a0-45b4-8fd9-71caf9456787"
  ],
  "data": {
    "ah": "oh"
  },
  "created": 1721301475314,
  "createdBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "modified": 1721301738146,
  "modifiedBy": "f48ec977-609a-4d8e-a57b-70cc84b22da9",
  "removed": false,
  "version": 2
}
Команда Тип
sedProfiling_getAnswer Http

ListAvailableQuestionsForLinkage

На входе ID ответа

"bad94be9-da4b-40c9-acdd-7fbcdef3554f"

На выходе список ID вопросов с которыми можно связать ответ

[
  "2ebb9ce9-fca5-4fb4-ba19-360e8a60f219",
  "52493156-5fc8-43fa-96db-9b73a9da3aef",
  "4bdfcb67-f0a0-45b4-8fd9-71caf9456787"
]

Команда Тип
sedProfiling_listAvailableQuestionsForLinkage Http

ListProvisionOptions

На входе ID подуслуги

"00000000-0000-0000-0000-000000000002"

На выходе список вариантов предоставления с вопросами в отсортированном порядке

[
  {
    "id": "4217e2f1-fddd-4ee7-a12a-9e435a189809",
    "subServiceId": "60a29175-f23d-477c-b9f5-62a4d3a5bb2d",
    "subServiceEntityType": "SubService",
    "order": 0,
    "title": "Вариант 1",
    "isDraft": true,
    "answerCount": 3,
    "rejectReasons": [
      {
        "id": "6de0dd49-d1d8-4481-83b5-050ce876241e",
        "provisionOptionId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
        "order": 0,
        "rejectionReason": "Причина 1",
        "solutionType": "Решение 1"
      }
    ],
    "suspensionReasons": [
      {
        "id": "69032eff-2dd7-458f-b2e6-ac314da12928",
        "provisionOptionId": "d1c4790e-7052-4a45-80ff-2b1eccfc3dfa",
        "order": 1,
        "suspensionReason": "SuspensionReason_1",
        "maxSuspensionPeriodAmount": 3,
        "maxSuspensionPeriodUnit": "WorkDay",
        "renewalBasis": "basis"
      }
    ],
    "data": {},
    "created": 1721817506668,
    "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "modified": 1721818202594,
    "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "removed": false,
    "version": 2
  },
  {
    "id": "4649e8ab-906a-4519-9d50-c925100ccd2d",
    "subServiceId": "60a29175-f23d-477c-b9f5-62a4d3a5bb2d",
    "subServiceEntityType": "SubService",
    "order": 1,
    "title": "Вариант 2",
    "isDraft": true,
    "answerCount": 2,
    "data": null,
    "created": 1721817506666,
    "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "modified": 1721817506666,
    "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "removed": false,
    "version": 1
  },
  {
    "id": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
    "subServiceId": "60a29175-f23d-477c-b9f5-62a4d3a5bb2d",
    "subServiceEntityType": "SubService",
    "order": 2,
    "title": "Вариант 3",
    "isDraft": true,
    "answerCount": 3,
    "data": {},
    "created": 1721811049826,
    "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "modified": 1721815997533,
    "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "removed": false,
    "version": 4
  },
  {
    "id": "6734957e-f6b2-4a32-9774-f85d4d3e3277",
    "subServiceId": "60a29175-f23d-477c-b9f5-62a4d3a5bb2d",
    "subServiceEntityType": "SubService",
    "order": 3,
    "title": "Вариант 4",
    "isDraft": true,
    "answerCount": 4,
    "data": {},
    "created": 1721811049826,
    "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "modified": 1721818376991,
    "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
    "removed": false,
    "version": 2
  }
]

Возвращает варианты предоставления для подуслуги.

Команда Тип
sedProfiling_listProvisionOptions Http

GetProvisionOption

На входе ID варианта предоставления

"00000000-0000-0000-0000-000000000002"

На выходе вариант предоставления и связанные сущности

 {
  "id": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
  "subServiceId": "60a29175-f23d-477c-b9f5-62a4d3a5bb2d",
  "subServiceEntityType": "SubService",
  "order": 1,
  "isDraft": true,
  "title": "Новое название",
  "answers": [
    {
      "provisionOptionId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
      "order": 0,
      "answer": {
        "id": "4bb55a03-120b-40d9-a86a-ff7fe3df0e26",
        "questionId": "5e7d7421-d7f7-4181-a75b-d5bc19095b27",
        "nextQuestionId": "c25f14e9-f418-4dda-b0b7-6563c92dd142",
        "referenceAnswerId": "LegalEntity",
        "text": null,
        "isActive": true,
        "isPaid": false,
        "proactiveMode": false,
        "isAdvanceRequest": null,
        "proactiveModeReason": null,
        "informationSystemIn": null,
        "informationSystemOut": null,
        "documentIds": [],
        "interdepartmentalInteractionIds": [],
        "paymentIds": [],
        "data": {},
        "created": 1721810939005,
        "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
        "modified": 1721811049810,
        "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
        "removed": false,
        "version": 2
      },
      "removed": false
    },
    {
      "provisionOptionId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
      "order": 1,
      "answer": {
        "id": "a6ab622d-94e6-46f2-b44d-bf9cefbda36e",
        "questionId": "c25f14e9-f418-4dda-b0b7-6563c92dd142",
        "nextQuestionId": null,
        "referenceAnswerId": null,
        "text": "Текст",
        "isActive": true,
        "isPaid": true,
        "proactiveMode": true,
        "isAdvanceRequest": false,
        "proactiveModeReason": "Причина",
        "informationSystemIn": "in",
        "informationSystemOut": "out",
        "documentIds": [
          "01dca334-8a84-439d-996a-f4b7b5850490"
        ],
        "interdepartmentalInteractionIds": [
          "78da60f2-1289-43e6-a673-7ae918d43b9b",
          "f96dab77-66d2-4ffc-9ae5-1e80858fd50a"
        ],
        "paymentIds": [
          "78da60f2-1289-43e6-a673-7ae918d43b9b",
          "f96dab77-66d2-4ffc-9ae5-1e80858fd50a"
        ],
        "data": {},
        "created": 1721810993321,
        "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
        "modified": 1721810993321,
        "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
        "removed": false,
        "version": 1
      },
      "removed": false
    }
  ],
  "rejectReasons": [
    {
      "id": "6de0dd49-d1d8-4481-83b5-050ce876241e",
      "provisionOptionId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
      "order": 0,
      "rejectionReason": "Причина 1",
      "solutionType": "Решение 1"
    },
    {
      "id": "3b5f5e0d-3e0d-4247-b37f-23c3a43f9752",
      "provisionOptionId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
      "order": 1,
      "rejectionReason": "Причина 2",
      "solutionType": "Решение 2"
    }
  ],
  "suspensionReasons": [
    {
      "id": "69032eff-2dd7-458f-b2e6-ac314da12928",
      "provisionOptionId": "d1c4790e-7052-4a45-80ff-2b1eccfc3dfa",
      "order": 1,
      "suspensionReason": "SuspensionReason_1",
      "maxSuspensionPeriodAmount": 3,
      "maxSuspensionPeriodUnit": "WorkDay",
      "renewalBasis": "basis"
    },
    {
      "id": "72cfa1a8-04e4-495d-a387-49bbb697e3fe",
      "provisionOptionId": "d1c4790e-7052-4a45-80ff-2b1eccfc3dfa",
      "order": 2,
      "suspensionReason": "SuspensionReason_2",
      "maxSuspensionPeriodAmount": 3,
      "maxSuspensionPeriodUnit": "WorkDay"
    }
  ],
  "administrativeProcedures": [
    "3fa948ab-1ff6-4e39-816d-18f598350afb",
    "528c567d-b939-4487-8451-b3c5bd25ec2f"
  ],
  "mandatoryServiceCards": [
    "77777779-d062-448c-9801-88d9199a9651",
    "77777778-d062-448c-9801-88d9199a9651"
  ],
  "data": {},
  "created": 1721811049826,
  "createdBy": "46abb0ac-f867-4041-9948-90361b6283e1",
  "modified": 1721819475352,
  "modifiedBy": "46abb0ac-f867-4041-9948-90361b6283e1",
  "removed": false,
  "version": 1
}

Возвращает вариант предоставления.

Команда Тип
sedProfiling_getProvisionOption Http

UpdateProvisionOption

На входе атрибуты для обновления варианта предоставления, связанных сущностей и привязок

{
  "id": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
  "version": 1,
  "title": "Новое название",
  "order": 1,
  "isDraft": true,
  "mandatoryServiceCards": [
    "77777777-d062-448c-9801-88d9199a9651",
    "77777778-d062-448c-9801-88d9199a9651"
  ],
  "rejectReasonCreate": [
    {
      "order": 0,
      "rejectionReason": "Причина 1",
      "solutionType": "Тип 1"
    },
    {
      "order": 1,
      "rejectionReason": "Причина 2",
      "solutionType": "Тип 2"
    }
  ],
  "suspensionReasonCreate": [
    {
      "order": 0,
      "suspensionReason": "Причина 1",
      "maxSuspensionPeriodAmount": 3,
      "maxSuspensionPeriodUnit": "WorkDay",
      "renewalBasis": "basis"
    },
    {
      "order": 1,
      "suspensionReason": "Причина 2",
      "maxSuspensionPeriodAmount": 3,
      "maxSuspensionPeriodUnit": "WorkDay"
    }
  ],
  "administrativeProceduresCreate": [
    {
      "administrativeProcedure": "administrativeProcedure",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "isAffectingDate": false,
      "administrativeActions": [
        "action"
      ],
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus2",
          "implementationInforming": true
        }
      ]
    },
    {
      "administrativeProcedure": "administrativeProcedure2",
      "electronicForm": true,
      "maxPeriodAmount": 2,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "isAffectingDate": false,
      "administrativeActions": [
        "action"
      ],
      "order": 2,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus3",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus4",
          "implementationInforming": true
        }
      ]
    }
  ],
  "data": {}
}

На выходе пустое тело ответа

Обновляет вариант предоставления и связанные сущности + привязки.

Команда Тип
sedProfiling_updateProvisionOption Kafka

CountProvisionOptions

На ID подуслуги

"bd0d1cdd-ff02-4165-8e7c-8941455a10a7"

На выходе число вариантов предоставления

{
  "count": 3,
  "draftCount": 1,
  "containsDraft": true
}

Получает число вариантов предоставления для подуслуги.

Команда Тип
sedProfiling_countProvisionOptions Http

CopyForNewVersion

На входе ID старой и новой подуслуги для копирования

{
  "fromId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
  "toId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7"
}

На выходе пустой ответ

Копирует все данные по профилированию из старой подуслуги в новую.

Команда Тип
sedProfiling_copyForNewVersion Http

Объекты сервиса sedProfiling

QuestionCreateDTO

Поле Тип Обязательное Описание
subServiceId uuid да ID подуслуги
referenceQuestionId CatalogCode нет (обязателен, если не указан text) Ссылка на эталонный вопрос
text string нет (обязателен, если не указан referenceQuestion) Текст вопроса
isActive boolean да Является ли вопрос активным

RootQuestionCreateDTO

Поле Тип Обязательное Описание
subServiceId uuid да ID подуслуги
subServiceEntityType string да Тип подуслуги (SubService или SubServiceTemplate)

Question

Поле Тип Обязательное Описание
id QuestionId да ID вопроса
subServiceId uuid да ID подуслуги
subServiceEntityType string да Тип подуслуги (SubService или SubServiceTemplate)
referenceQuestionId CatalogCode нет (обязателен, если не указан text) Ссылка на эталонный вопрос
text string нет (обязателен, если не указан referenceQuestion) Текст вопроса
isActive boolean да Является ли вопрос активным
isRoot boolean да Является ли вопрос корневым
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

ListQuestionsDTO

Поле Тип Обязательное Описание
subServiceId uuid да ID подуслуги
showInactive boolean да Возвращать ли неактивные вопросы и ответы

QuestionWithAnswers

Поле Тип Обязательное Описание
id QuestionId да ID вопроса
subServiceId uuid да ID подуслуги
subServiceEntityType string да Тип подуслуги (SubService или SubServiceTemplate)
referenceQuestionId CatalogCode нет (обязателен, если не указан text) Ссылка на эталонный вопрос
text string нет (обязателен, если не указан referenceQuestion) Текст вопроса
isActive boolean да Является ли вопрос активным
isRoot boolean да Является ли вопрос корневым
answers ListAnswer да Список ответов к вопросу
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

QuestionUpdateDTO

Поле Тип Обязательное Описание
id QuestionId да ID вопроса
referenceQuestionId CatalogCode нет (обязателен, если не указан text) Ссылка на эталонный вопрос
text string нет (обязателен, если не указан referenceQuestion) Текст вопроса
isActive boolean да Является ли вопрос активным
version int да Версия для оптимистичной блокировки

AnswerCreateDTO

Поле Тип Обязательное Описание
questionId QuestionId да ID вопроса
referenceAnswerId CatalogItemId нет (обязателен, если не указан text) Ссылка на эталонный ответ
text string нет (обязателен, если не указан referenceQuestion) Текст ответа
isActive boolean да Является ли ответ активным
isPaid boolean да Признак платности
proactiveMode boolean да Проактивный режим
isAdvanceRequest boolean нет Необходимость предварительного запроса
proactiveModeReason string нет Основание для проактивного представления
informationSystemIn string нет Информационная система в которую поступают основания
informationSystemOut string нет Информационная система из которой поступают основания
documentsCreate DocumentCreateDTO[] из СЭД нет ДТО для создания документов
interdepartmentalInteractionCreate InterdepartmentalInteractionCreateDTO[] из СЭД нет ДТО для создания межведомственных взаимодействий
data json да Доп. данные

AnswerUpdateDTO

Поле Тип Обязательное Описание
id AnswerId да ID ответа
referenceAnswerId CatalogItemId нет (обязателен, если не указан text) Ссылка на эталонный ответ
text string нет (обязателен, если не указан referenceQuestion) Текст ответа
isActive boolean да Является ли ответ активным
isPaid boolean да Признак платности
proactiveMode boolean да Проактивный режим
isAdvanceRequest boolean нет Необходимость предварительного запроса
proactiveModeReason string нет Основание для проактивного представления
informationSystemIn string нет Информационная система в которую поступают основания
informationSystemOut string нет Информационная система из которой поступают основания
data json да Доп. данные
documentsCreate DocumentCreateDTO[] нет Создание документов
documentsUpdate DocumentUpdateDTO[] нет Обновление документов
documentsDelete UUID[] нет ID для удаления документов
interdepartmentalInteractionCreate InterdepartmentalInteractionCreateDTO[] нет Создание межведомственных взаимодействий
interdepartmentalInteractionUpdate UpdateDTO[] нет Обновление межведомственных взаимодействий
interdepartmentalInteractionDelete UUID[] нет ID для удаления межведомственных взаимодействий
paymentsCreate PaymentCreateDTO[] нет Создание платежей
paymentsUpdate UpdateDTO[] нет Обновление платежей
paymentsDelete UUID[] нет ID для удаления платежей
version int да Версия для оптимистичной блокировки

LinkAnswerDTO

Поле Тип Обязательное Описание
answerId AnswerId да ID ответа
version int да Версия для оптимистичной блокировки
nextQuestionId QuestionId да ID следующего вопроса

UnlinkAnswerDTO

Поле Тип Обязательное Описание
answerId AnswerId да ID ответа
version int да Версия для оптимистичной блокировки

Answer

Поле Тип Обязательное Описание
id AnswerId да ID ответа
questionId QuestionId да ID вопроса
nextQuestionId QuestionId нет ID следующего вопроса
referenceAnswerId CatalogItemId нет (обязателен, если не указан text) Ссылка на эталонный вопрос
text string нет (обязателен, если не указан referenceQuestion) Текст вопроса
isActive boolean да Является ли вопрос активным
isPaid boolean да Признак платности
proactiveMode boolean да Проактивный режим
isAdvanceRequest boolean нет Необходимость предварительного запроса
proactiveModeReason string нет Основание для проактивного представления
informationSystemIn string нет Информационная система в которую поступают основания
informationSystemOut string нет Информационная система из которой поступают основания
documentIds UUID[] да Список id документов
interdepartmentalInteractionIds UUID[] да Список id межведомственных взаимодействий
data json да Доп. данные
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

ProvisionOption

Поле Тип Обязательное Описание
id ProvisionOptionId да ID варианта предоставления
subServiceId uuid да ID подуслуги
order integer да Порядок
title string да Наименование
isDraft boolean да Признак черновика
data json да Доп. данные
rejectReasons uuid[] да Причины отказа
suspensionReasons uuid[] да Причины приостановления
administrativeProcedures uuid[] да Список ID административных процедур
mandatoryServiceCards uuid[] да Список ID НиОУ
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

ProvisionOptionGetDTO

Поле Тип Обязательное Описание
id ProvisionOptionId да ID варианта предоставления
subServiceId uuid да ID подуслуги
order integer да Порядок
title string да Наименование
isDraft boolean да Признак черновика
answers ProvisionOptionAnswerListDTO да Ответы варианта предоставления
rejectReasons uuid[] да Причины отказа
suspensionReasons uuid[] да Причины приостановления
administrativeProcedures uuid[] да Список ID административных процедур
mandatoryServiceCards uuid[] да Список ID НиОУ
data json да Доп. данные
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

ProvisionOptionListDTO

Поле Тип Обязательное Описание
id ProvisionOptionId да ID варианта предоставления
subServiceId uuid да ID подуслуги
order integer да Порядок
title string да Наименование
isDraft boolean да Признак черновика
answerCount int да Количество ответов варианта предоставления
rejectReasons uuid[] да Причины отказа
suspensionReasons uuid[] да Причины приостановления
administrativeProcedures uuid[] да Список ID административных процедур
mandatoryServiceCards uuid[] да Список ID НиОУ
data json да Доп. данные
created timestamp да Дата и время создания
createdBy uuid да ID пользователя создавшего запись
modified timestamp да Дата и время изменения
modifiedBy uuid да ID пользователя последним изменившего запись
removed boolean да Признак удаления записи
version int да Версия для оптимистичной блокировки

ProvisionOptionAnswerListDTO

Поле Тип Обязательное Описание
provisionOptionId ProvisionOptionId да ID варианта предоставления
order integer да Порядок
answer Answer да Ответ
removed boolean да Признак удаления записи

ProvisionOptionUpdateDTO

Поле Тип Обязательное Описание
id ProvisionOptionId да ID варианта предоставления
version int да Версия для оптимистичной блокировки
order integer да Порядок
title string да Наименование
isDraft boolean нет Признак черновика
mandatoryServiceCards uuid[] да ID НиОУ
rejectReasonCreate RejectReasonCreateDTO[] нет ДТО для создания причин отказа
rejectReasonUpdate UpdateDTO[] нет ДТО для обновления причин отказа
rejectReasonDelete uuid[] нет ID причин отказа для удаления
suspensionReasonCreate SuspensionReasonCreateDTO[] нет ДТО для создания причин приостановления
suspensionReasonUpdate UpdateDTO[] нет ДТО для обновления причин приостановления
suspensionReasonDelete uuid[] нет ID причин приостановления для удаления
administrativeProceduresCreate AdministrativeProcedureCreateDTO[] нет Создание административных процедур
administrativeProceduresUpdate UpdateDTO[] нет Обновление административных процедур
administrativeProceduresDelete uuid[] нет ID административных процедур для удаления
data json да Доп. данные

CopyToSubServiceInput

Поле Тип Обязательное Описание
fromId uuid да ID старой подуслуги
toId uuid да ID новой подуслуги

PaymentCreateDTO

Поле Тип Обязательное Сервис Описание
order int да Порядковый номер
feeType string да Вид платежа
fee int да, если 'isFreeForm': false Размер платежа
isFreeForm boolean да Признак произвольной формы платежа
feeFreeForm string да, если 'isFreeForm': true Размер платежа в произвольной форме
feeCurrency string да, если 'isFreeForm': false Денежная единица (валюта)
receivingFeeProcedure string да Порядок взимания платежа
feeMethod string[] да Способ взимания платежа

ProvisionOptionCount

Поле Тип Обязательное Описание
count int да Общее число вариантов
draftCount int да Число вариантов в черновике
containsDraft boolean да Признак наличия вариантов предоставления в черновике

sed-report

Сервис принимает команды и хранит состояние в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик sed_report_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Информация по добавлению команд можно прочитать в описании шаблона

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

SED_REPORT_DB_HOST=localhost SED_REPORT_DB_PORT=5432 SED_REPORT_DB_NAME=sed-report SED_REPORT_DB_USER=postgres SED_REPORT_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса sed-report

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
SED_REPORT_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
SED_REPORT_HTTP_PORT int нет 8026 Порт, на котором слушает HTTP-сервер
SED_REPORT_COMMANDS_CONSIDER_ALL_INTERNAL boolean да false Все межсервисные команды являются внутренними (internal) и не требуют авторизации
SED_REPORT_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
SED_REPORT_KAFKA_TOPIC string нет "sed_report_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
SED_REPORT_KAFKA_CONSUMER_GROUP string нет "sed_report_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SED_REPORT_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SED_REPORT_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
SED_REPORT_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
SED_REPORT_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
SED_REPORT_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах SED_REPORT_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
SED_REPORT_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который SED_REPORT_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
SED_REPORT_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
SED_REPORT_KAFKA_REPORT_EVENT_TOPIC string да "reportEvent" Название кафка-топика для получения событий
SED_REPORT_KAFKA_REPORT_EVENT_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика событий
SED_REPORT_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka(в случае аутентификации в kafka с помощью пароля). Если название не указано, то настройки авторизации не будут применены.
SED_REPORT_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka(в случае аутентификации в kafka с помощью пароля).
SED_REPORT_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае аутентификации в kafka через Kerberos).
SED_REPORT_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае аутентификации в kafka через Kerberos).
SED_REPORT_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
SED_REPORT_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к харнилищу сертификатов.
SED_REPORT_KAFKA_AUTH_MODE string нет "static" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
SED_REPORT_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]. Переменная соответствует полю authConfig из KafkaAuthSettings.
SED_REPORT_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
SED_REPORT_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
SED_REPORT_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
SED_REPORT_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
SED_REPORT_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
SED_REPORT_TRACE_DURATION boolean нет false Признак необходимости трассировки выполнения команд
SED_REPORT_DISCOVERABLE_ID string нет "another_SED_REPORT_service_instance" ID сервиса в ServiceDiscovery
SED_REPORT_DISCOVERABLE_NAME string нет "sedReport" Имя сервиса в ServiceDiscovery
SED_REPORT_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
SED_REPORT_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
SED_REPORT_DISCOVERABLE_LIVETIME duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
SED_REPORT_DISCOVERABLE_HEALTHPASS string нет 1 minute Периодичность отправки health check в ServiceDiscovery
SED_REPORT_SERVICE_TITLE string нет "sed-report" Название сервиса для отображения
SED_REPORT_SERVICE_DESCRIPTION string нет "Service SED_REPORT" Описание сервиса для отображения
SED_REPORT_AKKA_HTTP_CLIENT_MAXCON int нет 512 Максимальное число одновременных исходящих HTTP-соединений
SED_REPORT_AKKA_HTTP_CLIENT_MAXREQ int нет 1024 Максимальное число одновременных исходящих HTTP-запросов
SED_REPORT_AKKA_HTTP_SERVER_MAXCON int нет 1024 Максимальное число одновременных входящих HTTP-соединений
SED_REPORT_INTERNALCMD_ALLOW bool нет false Можно ли сервису отправлять внутрисистемные команды
SED_REPORT_HEALTH_TIMEOUT duration string нет 5 seconds Максимальное время ожидания ответа health check
SED_REPORT_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
SED_REPORT_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
SED_REPORT_SENDERLIB_KAFKA_POLLING_TIMEOUT duration string нет 1 minutes Таймаут пуллинга межсервисных команд
SED_REPORT_DB_HOST string да Хост БД
SED_REPORT_DB_PORT int да Порт БД
SED_REPORT_DB_NAME string да Имя базы в БД
SED_REPORT_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
SED_REPORT_DB_USER string да Пользователь БД
SED_REPORT_DB_PASSWORD string да Пароль пользователя БД
SED_REPORT_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
SED_REPORT_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
SED_REPORT_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
SED_REPORT_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
SED_REPORT_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
SED_REPORT_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
SED_REPORT_LOG_LEVEL_SLICK_STATEMENT string нет WARN Уровень логирования запросов, отправляемых slick в БД
SED_REPORT_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирование бенчмарков выполнения запросов slick
SED_REPORT_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
SED_REPORT_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования конфига kafka-consumer
SED_REPORT_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
SED_REPORT_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
SED_REPORT_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
ELASTIC_HOST string нет localhost Хост elasticsearch
ELASTIC_PORT int нет 9200 Порт elasticsearch
ELASTIC_AUTH_USER string нет "" Название учетной записи для elasticsearch
ELASTIC_AUTH_PASSWORD string нет "" Пароль учетной записи для elasticsearch
ELASTIC_AUTH_STORE_TYPE string нет pem Тип хранилища сертификата для elasticsearch
ELASTIC_AUTH_STORE_LOCATION string нет "" Путь до хранилища сертификата для elasticsearch
SED_REPORT_FS_URI url string нет "http://localhost:9000" Адрес для подключения к хранилищу файлов по S3-API
SED_REPORT_FS_ACCESS_KEY_ID string нет minioadmin Ключ доступа для хранилища файлов (aka логин)
SED_REPORT_FS_SECRET_ACCESS_KEY string нет minioadmin Секретный ключ для хранилища файлов (aka пароль)
SED_REPORT_FS_UPLOAD_PARALLELISM int нет 4 Параллелизм для загрузки файлов
SED_REPORT_FS_AUTH_MODE string нет static Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
SED_REPORT_FS_AUTH_CONFIG string нет "" Настройки для аутентификации, если AuthMode = mapping (пример: [{"bucketName": "report", "credentials": {"accessKeyId": "minioadmin", "secretAccessKey": "minioadmin"}}])
SED_REPORT_FS_CACHE_SIZE int нет 1 Максимальный размер кеша клиентов для хранилища файлов (количество активных соединений).
SED_REPORT_FS_CACHE_TTL duration string нет Время жизни клиента в кеше
SED_REPORT_FS_BUCKET string нет temp Бакет в файловом хранилище для временных файлов, загружаемых на gateway
GPN_VERSION_POSTFIX string нет Постфикс для библиотеки gpn-libs
CLIENT_VERSION_POSTFIX string нет Постфикс для библиотеки sed-client-libs
SYSTEM_VERSION_POSTFIX string нет Постфикс для библиотеки sed-system-lib
LOGGING_HOSTNAME string нет SERVER Имя хоста для логирования
LOGGING_EXTERNAL_ADDRESS string нет localhost Дополнительный адрес логирования
SED_REPORT_LOG_FORMAT string нет CEF Формат вывода логов (если переменная содержит CEF, применяет формат CEF, иначе дефолтный паттерн)
SED_REPORT_SYSLOG_ENABLE boolean нет false Включить дополнительный вывод в syslog
SED_REPORT_SYSLOG_PROTOCOL string нет TCP Протокол (TCP или UDP)
SED_REPORT_SYSLOG_SSL_ENABLE boolean нет false Включить SSL
SED_REPORT_SYSLOG_HOST string нет Хост syslog сервера
SED_REPORT_SYSLOG_PORT string нет Порт syslog сервера
SED_REPORT_SYSLOG_RECONNECTION_DELAY int нет 10000 Задержка между попытками соединиться с сервером syslog, если было неудачное соединение
SED_REPORT_SYSLOG_TRUSTSTORE_LOCATION string нет Путь к truststore
SED_REPORT_SYSLOG_TRUSTSTORE_PASSWORD string нет Пароль к truststore
SED_REPORT_LOG_FILE_ENABLE boolean нет false Включить вывод в файл
SED_REPORT_STREAM_CHUNK_SIZE int нет 100 Технический параметр батчинга, количество агрегируемых строк отчета за один шаг
SED_REPORT_CACHE_ALEXANDRINA_TTL duration string нет 5 minutes Время жизни результатов поиска в сервисе справочников в кеше

Список команд сервиса sed-report

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованы следующие команды:

ServiceCardReport

На входе атрибуты запроса Search Input: Search

{
  "query": "(serviceCard.data.number || serviceCard.data.fullTitle || serviceCard.data.shortTitle) && serviceCard.data.serviceType && serviceCard.data.administrativeLevel && serviceCard.data.federalSubject && serviceCard.data.modified && serviceCard.data.department && serviceCard.data.status && data.originalId",
  "context": {
    "serviceCard.data.number": "like %2341234123%",
    "serviceCard.data.fullTitle": "like %2341234123%",
    "serviceCard.data.shortTitle": "like %2341234123%",
    "serviceCard.data.serviceType": {
      "values": [
        "Municipal"
      ],
      "kind": "any"
    },
    "serviceCard.data.administrativeLevel": "like %Federal%",
    "serviceCard.data.federalSubject": {
      "values": [
        "AltaiKrai",
        "AmurOblast"
      ],
      "kind": "any"
    },
    "serviceCard.data.modified": "1730840400000_1731013199999",
    "serviceCard.data.department": {
      "values": [
        "017cda93-1bc3-4ce3-ae1d-c0fc6e63d411",
        "0ae08a79-184b-432c-a1fe-a850bdeb7453",
        "163b1861-eb06-4cad-bade-8ebc5d8d18d7"
      ],
      "kind": "any"
    },
    "serviceCard.data.status": {
      "values": [
        "RegulationExpertise",
        "Draft",
        "RegulationApproval",
        "Published",
        "InterdepartmentalApproval"
      ],
      "kind": "any"
    },
    "data.originalId": {
      "values": [
        "null"
      ],
      "kind": "any"
    }
  },
  "paging": {
    "page": 1,
    "count": 10
  },
  "sorting": {
    "fieldName": "number",
    "order": "Desc"
  }
}

На выходе Json c ссылкой на скачивание выгрузки

{
    "status": "Completed",
    "timestamp": 1731042645585,
    "value": "report/5e38b7c1-dfdb-49cc-ae19-3eea500ec18e"
}
Команда Путь
sedReport_serviceCardReport Kafka Topic "sed_report_commands"

ServiceCardPublishReport

На входе атрибуты запроса Search Input: Search

{
  "query": "data.serviceType && data.administrativeLevel && data.federalSubject && data.modified && data.department && data.status && data.originalId",
  "context": {
    "data.serviceType": {
      "values": [
        "Municipal"
      ],
      "kind": "any"
    },
    "data.administrativeLevel": "like %Municipal%",
    "data.federalSubject": {
      "values": [
        "ArkhangelskOblast",
        "AmurOblast",
        "AltaiKrai"
      ],
      "kind": "any"
    },
    "data.modified": "1731013200000_1731185999999",
    "data.department": {
      "values": [
        "20eb59de-fec6-43ea-bbf6-84d58d2c5c5f",
        "1f26beaa-23f3-47da-b7ac-d9027e67a6f7",
        "1f1ca95d-f7d4-4208-bd4e-f130a2cab023",
        "1e7bacbc-d922-4367-806e-d3d3aacb3291"
      ],
      "kind": "any"
    },
    "data.status": {
      "values": [
        "Published"
      ],
      "kind": "any"
    },
    "data.originalId": {
      "values": [
        "null"
      ],
      "kind": "any"
    }
  },
  "paging": {
    "page": 1,
    "count": 10
  },
  "sorting": {
    "fieldName": "number",
    "order": "Desc"
  }
}

На выходе Json c ссылкой на скачивание выгрузки

{
    "status": "Completed",
    "timestamp": 1731042800321,
    "value": "report/5af8a15f-233e-40c4-a470-9f921b4470e0"
}
Команда Путь
sedReport_serviceCardPublishReport Kafka Topic "sed_report_commands"

DepartmentReport

На входе атрибуты запроса Search Input: Search

{
  "query": "data.administrativeLevelCode && data.municipalityCodes",
  "context": {
    "data.administrativeLevelCode": "Municipal",
    "data.federalSubjectCode": {
      "values": [
        "AltaiKrai",
        "AmurOblast"
      ],
      "kind": "any"
    },
    "data.municipalityCodes": {
      "values": [
        "01512000",
        "01539000",
        "01541000"
      ],
      "kind": "any"
    }
  }
}

На выходе Json c ссылкой на скачивание выгрузки

{
    "status": "Completed",
    "timestamp": 1730878051174,
    "value": "report/badd8eff-f373-4a0c-8936-d11505e4fc0d"
}
Команда Путь
sedReport_departmentReport Kafka Topic "sed_report_commands"

CreateReportEntity

На входе атрибуты запроса Search и код отчёта

{
  "code": "ServiceCardPublish",
  "search": {
    "query": "data.serviceType && data.administrativeLevel && data.department",
    "context": {
      "data.serviceType": {
        "values": [
          "Municipal"
        ],
        "kind": "any"
      },
      "data.administrativeLevel": "like %Federal%",
      "data.department": {
        "values": [
          "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
        ],
        "kind": "any"
      }
    }
  }
}

На выходе сформированный ReportEntity

{
  "id": "ca1e7d26-42a6-41f6-80ef-79896e670604",
  "code": "ServiceCardPublish",
  "title": "Отчет по опубликованным услугам",
  "status": "queued",
  "fileUrl": null,
  "fileSize": null,
  "error": null,
  "data": {
    "search": {
      "query": "data.serviceType && data.administrativeLevel && data.department",
      "context": {
        "data.serviceType": {
          "values": [
            "Municipal"
          ],
          "kind": "any"
        },
        "data.administrativeLevel": "like %Federal%",
        "data.department": {
          "values": [
            "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
          ],
          "kind": "any"
        }
      },
      "sorting": null,
      "paging": null
    }
  },
  "created": 1759988918847,
  "createdBy": "76ce3ae2-481f-4a00-a031-2b8d1c98ab2a",
  "modified": 1759988918847,
  "modifiedBy": "76ce3ae2-481f-4a00-a031-2b8d1c98ab2a",
  "removed": false,
  "version": 1
}
Команда Путь
sedReport_createReportEntity Kafka Topic "sed_report_commands"

ListReportEntities

На входе атрибуты запроса Search

{
  "query": "status",
  "context": {
    "status": {
      "values": [
        "Finished"
      ],
      "kind": "any"
    }
  }
}

На выходе список ReportEntity

{
  "items": [
    {
      "id": "1e006349-251a-49f3-b963-d6c13a72f26f",
      "code": "Department",
      "title": "Отчет по органам власти организациям",
      "status": "finished",
      "fileUrl": "report/d607c712-0133-4278-9d03-5fff42628bab",
      "fileSize": 19162,
      "error": null,
      "data": {
        "search": {
          "query": "data.administrativeLevelCode",
          "paging": null,
          "context": {
            "data.administrativeLevelCode": "Federal"
          },
          "sorting": null
        }
      },
      "created": 1759988597292,
      "createdBy": "76ce3ae2-481f-4a00-a031-2b8d1c98ab2a",
      "modified": 1759988599358,
      "modifiedBy": "76ce3ae2-481f-4a00-a031-2b8d1c98ab2a",
      "removed": false,
      "version": 3
    }
  ],
  "total": 1
}
Команда Путь
sedReport_listReportEntities HTTP

Объекты сервиса sed-report

CreateReport

Поле Тип Обязательное Описание
entityType string да тип сущности
entityId string да id сущности
Поле Тип Обязательное Описание
query string да Запрос
context [string, string] да Контекст запроса
sorting Sorting нет Сортировка
paging Paging нет Пагинация

Sorting

Поле Тип Обязательное Описание
fieldName string да Поле сортировки
Order "asc"/"desc" да Направление сортировки

Paging

Поле Тип Обязательное Описание
page int да Номер страницы
count int да Кол-во записей на странице

ReportEntityCreateDTO

Поле Тип Обязательное Описание
code string да Код отчёта
search Search да Фильтры

ReportEntity

Поле Тип Обязательное Описание
id UUID да ID
code string да Код отчёта
title string да Наименование отчёта
status ReportEntityStatus да Статус формирования
fileUrl string нет Ссылка на файл отчёта
fileSize Integer нет Размер файла (в байтах)
error string нет Ошибка формирования
data json да доп. данные
created TimeStamp да дата и время создания
createdBy UUID да ID создавшего запись пользователя
modified TimeStamp да дата и время изменения
modifiedBy UUID да ID изменившего запись пользователя
removed Boolean да признак удаления
version Integer да версия для оптимистичной блокировки

ReportEntityStatus

Статусы - queued - в очереди; inprocess - формируется; finished - формирование отчёта закончено; error - ошибка формирования

sed

Сервис бизнес-логики проекта СЭД

Сервис принимает команды и хранит состояние в PostgreSQL. Команды могут приходить как по HTTP, так и через Kafka в топик sed_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Информация по добавлению команд можно прочитать в описании шаблона

Список версий

Описание изменений в API соответственно версиям релиза

1.8

FRGU-2372

Локальный запуск сервиса sed

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

SED_DB_HOST=localhost SED_DB_PORT=5432 SED_DB_NAME=sed SED_DB_USER=postgres SED_DB_PASSWORD=12345 sbt boot/run

Список переменных окружения сервиса sed

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
SED_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
SED_COMMANDS_CONSIDER_ALL_INTERNAL boolean да false Все межсервисные команды являются внутренними (internal) и не требуют авторизации
SED_HTTP_PORT int нет 8020 Порт, на котором слушает HTTP-сервер
SED_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
SED_KAFKA_TOPIC string нет "sed_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
SED_KAFKA_CONSUMER_GROUP string нет "sed_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SED_KAFKA_ROUTE_ENTITY_EVENT_GROUP string нет "sed_route_entity_event_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SED_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SED_KAFKA_ROUTE_ENTITY_EVENT_TOPIC string нет "route_entity_events" Название кафка-топика для публикации событий маршрутов сущностей.
SED_KAFKA_ROUTE_ENTITY_EVENT_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SED_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
SED_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
SED_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
SED_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах SED_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
SED_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который SED_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
SED_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
SED_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka(в случае аутентификации в kafka с помощью пароля). Если название не указано, то настройки авторизации не будут применены.
SED_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka(в случае аутентификации в kafka с помощью пароля).
SED_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае аутентификации в kafka через Kerberos).
SED_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае аутентификации в kafka через Kerberos).
SED_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
SED_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к харнилищу сертификатов.
SED_KAFKA_CONNECTION_CHECK_TEST_MESSAGES_INTERVAL duration string нет 4 minutes Применяется только для producer-ов со способом аутентификации kerberos. Интервал отправки тестовых сообщений кафки в топик connectionCheck.testMessagesTopicName. Тестовые сообщения (null, service producer test) отправляются регулярно с этим интервалом.
SED_KAFKA_CONNECTION_CHECK_INTERVAL duration string нет 60 seconds Применяется только для producer-ов со способом аутентификации kerberos. Интервал проверки того, сколько тестовых сообщений было отправлено за данный период. Если количество сообщений за этот период равно количеству сообщений за прошлый период, то начинается отсчет периода без сообщений.
SED_KAFKA_CONNECTION_CHECK_FAILED_AFTER_INTERVAL duration string нет 5 minutes Применяется только для producer-ов со способом аутентификации kerberos. Максимальная продолжительность периода без успешно отправленных тестовых сообщений. По ее достижении сервис будет объявлен больным.
SED_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
SED_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
SED_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
SED_TRACE_DURATION boolean нет false Признак необходимости трассировки выполнения команд
SED_DISCOVERABLE_ID string нет "another_SED _service_instance" ID сервиса в ServiceDiscovery
SED_DISCOVERABLE_NAME string нет "sed" Имя сервиса в ServiceDiscovery
SED_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
SED_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
SED_DISCOVERABLE_LIVETIME duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
SED_DISCOVERABLE_HEALTHPASS string нет 1 minute Периодичность отправки health check в ServiceDiscovery
SED_AKKA_HTTP_CLIENT_MAXCON int нет 512 Максимальное число одновременных исходящих HTTP-соединений
SED_AKKA_HTTP_CLIENT_MAXREQ int нет 1024 Максимальное число одновременных исходящих HTTP-запросов
SED_AKKA_HTTP_SERVER_MAXCON int нет 1024 Максимальное число одновременных входящих HTTP-соединений
SED_INTERNALCMD_ALLOW boolean нет false Можно ли сервису отправлять внутрисистемные команды
SED_HEALTH_TIMEOUT duration string нет 5 seconds Максимальное время ожидания ответа health check
SED_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
SED_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
SED_DB_HOST string да Хост БД
SED_DB_PORT int да Порт БД
SED_DB_NAME string да Имя базы в БД
SED_DB_URL jdbc url string нет JDBC-url для соединения с БД. По умолчанию собирается из других обязательных переменных. Можно указать только его, если не хочется отдельно указывать хост/порт/имя базы.
SED_DB_USER string да Пользователь БД
SED_DB_PASSWORD string да Пароль пользователя БД
SED_JWT_SIGNATURE string да jwt сигнатура apigateway
SED_FS_URI url string нет "http://localhost:9000" Адрес для подключения к хранилищу файлов по S3-API
SED_FS_ACCESS_KEY_ID string нет minioadmin Ключ доступа для хранилища файлов (aka логин)
SED_FS_SECRET_ACCESS_KEY string нет minioadmin Секретный ключ для хранилища файлов (aka пароль)
SED_FS_UPLOAD_PARALLELISM int нет 4 Параллелизм для загрузки файлов
SED_FS_AUTH_MODE string нет static Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
SED_FS_AUTH_CONFIG string нет "" Настройки для аутентификации, если AuthMode = mapping (необходим доступ к бакетам "temp" и "datamodel")
SED_FS_CACHE_SIZE int нет Максимальный размер кеша клиентов для хранилища файлов (количество активных соединений).
SED_FS_CACHE_TTL duration string нет Время жизни клиента в кеше
SED_FS_BUCKET string нет temp Бакет в файловом хранилище для временных файлов, загружаемых на gateway
APIGATEWAY_URL string нет "http://localhost:8080" Адресс ApiGateway
SED_LEGACY_URL string нет "http://localhost:8024" Адрес legacy api
SED_LEGACY_DOWNLOAD_PATH string нет "/v1/legacy-api/download/" Путь для скачивания файлов legacy api
SED_ENABLE_CUSTOM_POLICY_MIGRATION boolean нет true Использовать кастомную миграцию политик или нет
SED_REGULATION_VALIDATION_ENABLE_VALIDATION boolean да true Валидировать загрузку регламента на обязательный текст
SED_SCHEDULER_AUTO_NEGOTIATION_JOB string нет 0 0 0 * * ? CRON для запуска автосогласования (для отключения запуска указать "no")
SED_SCHEDULER_PUBLISH_REGULATION_JOB string нет 0 0 0 * * ? CRON для запуска публикации регламента (для отключения запуска указать "no")
SED_SCHEDULER_SERVICE_ARCHIVE_JOB string нет 0 0 1 * * ? CRON для запуска архивации услуги (для отключения запуска указать "no")
SED_SCHEDULER_IMPORT_FROM_NSUD_JOB string нет 0 0 2 * * ? CRON для запуска обновления справочника НСУД (для отключения запуска указать "no")
SED_SCHEDULER_STAGE_HISTORY_INCREMENT_JOB string нет 0 0 3 * * ? CRON для запуска сбора статистики по StageHistory (для отключения запуска указать "no")
SED_SCHEDULER_EGRUL_UPDATE_JOB string нет 0 0 4 * * ? CRON для запуска импорта адресов из ЕГРЮЛ (для отключения запуска указать "no")
SED_CLEAR_SAGA_JOB string нет 0 0 3 * * ? CRON для запуска очистки старых саг (для отключения запуска указать "no")
SED_SMEV4_SQL_URL string нет URL СМЭВ4 агента для принятия sql запросов
SED_SMEV4_ACCEPT_HEADER string нет Accept-Version Заголовок версии запроса СМЭВ4
SED_SMEV4_ACCEPT_HEADER_VALUE string нет 1 Значение заголовка версии запроса
SED_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
SED_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
SED_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
SED_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
SED_LOG_LEVEL_SLICK_STATEMENT string нет WARN Уровень логирования запросов, отправляемых slick в БД
SED_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирование бенчмарков выполнения запросов slick
SED_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
SED_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования конфига kafka-consumer
SED_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
SED_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
SED_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
LOGGING_HOSTNAME string нет SERVER Имя хоста для логирования в формате CEF
LOGGING_EXTERNAL_ADDRESS string нет localhost Внешний адрес для логирования в формате CEF
SED_CACHE_STAGE_HISTORY_TTL duration string нет 365 days Время жизни результатов поиска в StageHistory в кеше
SED_CACHE_ALEXANDRINA_TTL duration string нет 365 days Время жизни результатов поиска в сервисе справочников в кеше
SED_CACHE_USER_DEPARTMENT_TTL duration string нет 365 days Время жизни результатов поиска в ведомства пользователя в кеше
SED_CLEAR_SAGA_TTL duration string нет 7 days Время жизни, по истечении которого сага считается устаревшей и может быть удалена.
SED_CLEAR_SAGA_STATUSES string нет finished Список статусов(через запятую) саг, подлежащих очистке.

Список команд сервиса sed

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованны следующие команды:

Authorize

На входе параметры ресурса и список действий

{
  "resourceId": "457d8058-4ff0-4823-9fba-2084eb516101",
  "resourceType": "Request",
  "actions": [
    "ViewRequest",
    "EditRequest"
  ]
}

На выходе список действий с результатами авторизации

{
  "ViewRequest": true,
  "EditRequest": false
}

Проверяет доступность действий для конкретного ресурса, указанных во входных параметрах. Проксирующая команда для oberto_Authorize. Обогащает запрос данными из СЭД, необходимыми для авторизации (кроме того, данные из DataModel могут извлекаться Oberto средствами AuthzForce).

Команда Путь
sed_authorize HTTP POST "/v1/user/authorize"

CreateStageSolution

На входе ID маршрута сущности, ID стадии маршрута, ID перехода между стадиями маршрута, комментарий

{
  "requestId": "38910984-9df3-4862-bc23-54d414503c8a",
  "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
  "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
  "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
  "comment": "Комментарий",
  "isLegalTechnicalNotes": false
}

На выходе ID Решения участника стадии

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового Решения участника стадии.

Команда Путь
sed_createStageSolution Kafka Topic "sed_commands"

CreateDepartmentStageSolution

На входе ID маршрута сущности, ID стадии маршрута, ID перехода между стадиями маршрута, комментарий и id органа власти

{
  "requestId": "38910984-9df3-4862-bc23-54d414503c8a",
  "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
  "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
  "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
  "departmentId": "1ffecf0b-db7b-479e-8077-ec75ba14d764",
  "comment": "Комментарий"
}

На выходе ID Решения участника стадии

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового Решения департамента стадии.

Команда Путь
sed_createDepartmentStageSolution Kafka Topic "sed_commands"

GetStageSolution

На входе ID Решения участника стадии

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе атрибуты Решения участника стадии

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "entityType": "StageSolution",
  "title": "StageSolution 8f730a01-65ed-4864-af48-415f8edcc985",
  "source": "sed",
  "created": 1664956469189,
  "modified": 1664956909605,
  "version": 1,
  "authorId": "6c7292bc-5116-423f-aa5d-3f80b4f34784",
  "authorEmployeeId": "1415516c-728b-4471-ae09-203248065812",
  "taskId": "30b1485c-bf07-4c93-8eb8-d4abf1fd619d",
  "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
  "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
  "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
  "comment": "Комментарий",
  "stageHistoryId": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
  "autoNegotiation": false
}

Получение Решения участника стадии по идентификатору.

Команда Путь
sed_getStageSolution HTTP POST "/v1/stage-solution/get"

ListStageSolutions

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого решения

{
  "items": [
    {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "entityType": "StageSolution",
      "title": "StageSolution 8f730a01-65ed-4864-af48-415f8edcc985",
      "source": "sed",
      "created": 1664956469189,
      "modified": 1664956909605,
      "version": 2,
      "authorId": "6c7292bc-5116-423f-aa5d-3f80b4f34784",
      "authorEmployeeId": "1415516c-728b-4471-ae09-203248065812",
      "taskId": "30b1485c-bf07-4c93-8eb8-d4abf1fd619d",
      "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
      "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
      "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
      "comment": "Новый комментарий",
      "stageHistoryId": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "autoNegotiation": false
    },
    {
      "id": "039f438b-79b7-4e35-a6ff-483a96e9764b",
      "entityType": "StageSolution",
      "title": "StageSolution 039f438b-79b7-4e35-a6ff-483a96e9764b",
      "source": "sed",
      "created": 1664964554060,
      "modified": 1664964554060,
      "version": 1,
      "authorId": "6c7292bc-5116-423f-aa5d-3f80b4f34784",
      "authorEmployeeId": "1415516c-728b-4471-ae09-203248065812",
      "taskId": "30b1485c-bf07-4c93-8eb8-d4abf1fd619d",
      "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
      "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
      "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
      "comment": "Комментарий",
      "stageHistoryId": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "autoNegotiation": false
    }
  ],
  "total": 2
}

Получение списка Решения участника стадии с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listStageSolutions HTTP POST "/v1/stage-solution/list"

ListDepartmentStageSolutions

На входе список ID ведомств и информация о стадии

{
  "departmentIds": [
    "6609ba4a-07d4-4e93-94a0-73725abb1ab6",
    "1a81e382-d26d-4bd4-a884-12c2d0d0a372"
  ],
  "routeStageId": "6aa2036a-d603-4ddf-8299-93e473f297ce",
  "routeEntityId": "d656d84b-a148-45d3-b069-780e96f41314",
  "stageHistoryId": "7f5315dc-aaa2-4df8-94d6-16c78d82b82d"
}

На выходе список атрибутов каждого решения

{
  "items": [
    {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "entityType": "StageSolution",
      "title": "StageSolution 8f730a01-65ed-4864-af48-415f8edcc985",
      "source": "sed",
      "created": 1664956469189,
      "modified": 1664956909605,
      "version": 2,
      "authorId": "6c7292bc-5116-423f-aa5d-3f80b4f34784",
      "authorEmployeeId": "1415516c-728b-4471-ae09-203248065812",
      "taskId": "30b1485c-bf07-4c93-8eb8-d4abf1fd619d",
      "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
      "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
      "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
      "comment": "Новый комментарий",
      "stageHistoryId": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "autoNegotiation": false,
      "departmentId": "1a81e382-d26d-4bd4-a884-12c2d0d0a372"
    },
    {
      "id": "039f438b-79b7-4e35-a6ff-483a96e9764b",
      "entityType": "StageSolution",
      "title": "StageSolution 039f438b-79b7-4e35-a6ff-483a96e9764b",
      "source": "sed",
      "created": 1664964554060,
      "modified": 1664964554060,
      "version": 1,
      "authorId": "6c7292bc-5116-423f-aa5d-3f80b4f34784",
      "authorEmployeeId": "1415516c-728b-4471-ae09-203248065812",
      "taskId": "30b1485c-bf07-4c93-8eb8-d4abf1fd619d",
      "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
      "routeStageId": "85931683-ee74-4e86-a8cd-6ddfb14fdab2",
      "routeStageLinkId": "980c6612-1057-4ee4-8532-0ce4b0f5c225",
      "comment": "Комментарий",
      "stageHistoryId": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "autoNegotiation": false,
      "departmentId": "1a81e382-d26d-4bd4-a884-12c2d0d0a372"
    }
  ],
  "total": 2
}

Получение списка Решения участника стадии с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listDepartmentStageSolutions HTTP POST "/v1/stage-solution/list-department-stage-solutions"

GetVoteAbility

На входе ID маршрута сущности и ID стадии маршрута

{
  "routeEntityId": "72602ae9-66ab-4065-8305-d374ff14a4bf",
  "routeStageId": "00000000-0003-0000-0000-000000000000"
}

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

true

Проверка возможности голосовать по стадии сущности.

Команда Путь
sed_voteAbility Kafka Topic "sed_commands"

UpdateStageSolution

На входе необходимые для обновления атрибуты Решения участника стадии, а также ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "comment": "Новый комментарий"
  }
}

На выходе признак успешности

true

Обновление Решения участника стадии. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateStageSolution Kafka Topic "sed_commands"

DeleteStageSolution

На входе ID Решения участника стадии

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление Решения участника стадии по идентификатору.

Команда Путь
sed_deleteStageSolution Kafka Topic "sed_commands"

UpdateStageHistory

На входе необходимые для обновления атрибуты элемента Истории переходов, а также ID и версия

{
  "id": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
  "version": 1,
  "data": {
    "requestVersionId": "5d73b201-15ed-5664-af48-d15f8edcc975"
  }
}

На выходе признак успешности

true

Обновление Элемента истории переходов Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateStageHistory Kafka Topic "sed_commands"

GetStageHistory

На входе ID элемента Истории переходов

"8634e2f9-568c-45c7-9b91-3f6e864d8a7e"

На выходе атрибуты элемента Истории переходов

{
  "id": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
  "entityType": "StageHistory",
  "title": "StageHistory 8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
  "source": "sed",
  "created": 1666245946610,
  "modified": 1666245946610,
  "version": 1,
  "requestEntityType": "NmdRequest",
  "requestId": "38910984-9df3-4862-bc23-54d414503c8a",
  "requestVersionId": null,
  "routeStageId": "00000000-0002-0000-0000-000000000000",
  "routeStageSnapshotId": "00000777-0003-0000-0000-000000000000",
  "cycleNumber": 1,
  "targetDate": 1666677946199
}

Получение Истории переходов

Команда Путь
sed_getStageHistory HTTP POST "/v1/stage-history/get"

ListStageHistories

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого элемента Истории переходов

{
  "items": [
    {
      "id": "8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "entityType": "StageHistory",
      "title": "StageHistory 8634e2f9-568c-45c7-9b91-3f6e864d8a7e",
      "source": "sed",
      "created": 1666245946610,
      "modified": 1666245946610,
      "version": 1,
      "requestEntityType": "NmdRequest",
      "requestId": "38910984-9df3-4862-bc23-54d414503c8a",
      "requestVersionId": null,
      "routeStageId": "00000000-0002-0000-0000-000000000000",
      "routeStageSnapshotId": "00000777-0003-0000-0000-000000000000",
      "cycleNumber": 1,
      "targetDate": 1666677946199
    }
  ],
  "total": 1
}

Получение списка элементов Истории переходов с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listStageHistories HTTP POST "/v1/stage-history/list"

StagesInfo

На входе ID запроса

"8634e2f9-568c-45c7-9b91-3f6e864d8a7e"

На выходе список стадий с просрочками и версиями

[
  {
    "stageDetails": {
      "id": "00000202-0003-0000-0000-000000000000",
      "routeVersionId": "00000202-0000-0000-0000-000000000000",
      "title": "Согласование изменений в план стандартизации КТ-202",
      "description": "",
      "created": 1667464957239,
      "createdBy": "00000000-0000-0000-0000-000000000001",
      "modified": 1667464957239,
      "modifiedBy": "00000000-0000-0000-0000-000000000001",
      "removed": false,
      "version": 1,
      "data": {
        "type": "Review",
        "number": 3,
        "addTask": {
          "details": {
            "title": "Согласование изменений в план стандартизации КТ-202",
            "description": ""
          },
          "responsible": [
            {
              "participantSubdivision": "8ea1dd6f-6038-4a7e-a169-c6882a9c8a36"
            }
          ]
        },
        "participantRoles": [
          "Владельцы процессов изменяемых документов",
          "Менеджер процесса инициатора",
          "Дополнительные согласующие"
        ],
        "deadlineConditions": {
          "fixed": 1
        }
      }
    },
    "stageHistory": [
      {
        "historyDetails": {
          "id": "5a9f35bd-8975-4cfd-bdef-ded0f13dccf8",
          "entityType": "StageHistory",
          "title": "StageHistory 5a9f35bd-8975-4cfd-bdef-ded0f13dccf8",
          "source": "sed",
          "created": 1666699761311,
          "modified": 1666699761311,
          "version": 1,
          "requestEntityType": "Plan",
          "requestId": "273352b6-5225-4e90-9efc-ffd0a3150d25",
          "requestVersionId": null,
          "routeStageId": "00000202-0003-0000-0000-000000000000",
          "routeStageSnapshotId": "00000777-0003-0000-0000-000000000000",
          "cycleNumber": 1,
          "targetDate": null
        },
        "overdue": false
      }
    ],
    "stageStatus": "current"
  }
]

Получение списка стадий с просрочками и версиями

Команда Путь
sed_stageInfo HTTP POST "/v1/stage-info/stages-info-list"

DeleteServiceRequest

На входе ID Запроса услуги

"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"

На выходе результат удаления

true

Удаление Запроса услуги Также удаляет связанные сущности - снапшоты, StageHistory и ServiceCard

Команда Путь
sed_deleteServiceRequest Kafka Topic "sed_commands"

GetServiceRequest

На входе ID запроса услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе атрибуты карточки услуги

{
  "id": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "entityType": "ServiceRequest",
  "title": "ServiceRequest 039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "source": "sed",
  "created": 1697784695411,
  "modified": 1697784695411,
  "version": 1,
  "originalId": null,
  "authorId": "a912a0e0-719a-4d81-835b-d15c7080755b",
  "serviceCard": {
    "id": "d5341366-8916-4da5-a203-a8db3e84c4c5",
    "serviceType": "Municipal",
    "shortTitle": "Краткое название",
    "administrativeLevel": "Municipal",
    "federalSubject": "Altai",
    "department": "Department",
    "number": "0000016",
    "created": 1698304614647,
    "modified": 1698304614647
  },
  "servicePassport": {"id":"c7ab5004-fff5-4258-b3ad-3966fbd7edac", "status":"Published")
}

Получение карточки услуги по идентификатору.

Команда Путь
sed_getServiceRequest HTTP POST "/v1/service-request/get"

ListServiceRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого элемента запроса услуги

{
  "items": [
    {
      "id": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "entityType": "ServiceRequest",
      "title": "ServiceRequest 039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "source": "sed",
      "created": 1697784695411,
      "modified": 1697784695411,
      "version": 1,
      "originalId": null,
      "authorId": "a912a0e0-719a-4d81-835b-d15c7080755b",
      "serviceCard": {
        "id": "d5341366-8916-4da5-a203-a8db3e84c4c5",
        "shortTitle": "Краткое название",
        "serviceType": "Municipal",
        "administrativeLevel": "Municipal",
        "federalSubject": "Altai",
        "department": "Department",
        "number": "0000016",
        "created": 1698304614647,
        "modified": 1698304614647
      },
      "servicePassport": {"id":"c7ab5004-fff5-4258-b3ad-3966fbd7edac", "status":"Published"}
    }
  ],
  "total": 1
}

Получение списка элементов запросов услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServiceRequests HTTP POST "/v1/service-request/list"

GetInternalApprovalRequest

На входе ID Запроса на внутреннее согласование

"0e72ddbe-57d6-4df6-a16f-73682633c2f5"

На выходе атрибуты Запроса на внутреннее согласование

{
  "id": "8c5b2019-ae97-47be-ba5e-5df381d67372",
  "entityType": "InternalApprovalRequest",
  "title": "InternalApprovalRequest 8c5b2019-ae97-47be-ba5e-5df381d67372",
  "source": "sed",
  "created": 1671001768772,
  "modified": 1671001768772,
  "version": 1,
  "originalId": null,
  "parentEntityType": "InternalApprovalRequest",
  "parentEntityId": "23942f1e-9312-45bd-93d8-b6db3bd72d1b",
  "parentStageId": "a67421c8-8195-4773-a086-d6cde6779614",
  "mainEntityType": "InternalApprovalRequest",
  "mainEntityId": "23942f1e-9312-45bd-93d8-b6db3bd72d1b",
  "maintStageId": "a67421c8-8195-4773-a086-d6cde6779614",
  "ownerUserId": "8f730a01-65ed-4864-af48-415f8edcc985",
  "stageHistoryId": null
}

Получение Запроса на внутреннее согласование по идентификатору.

Команда Путь
sed_getInternalApprovalRequest HTTP POST "/v1/internal-approval-request/get"

ListInternalApprovalRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "number",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого из Запросов на внутреннее согласование

{
  "items": [
    {
      "id": "8c5b2019-ae97-47be-ba5e-5df381d67372",
      "entityType": "InternalApprovalRequest",
      "title": "InternalApprovalRequest 8c5b2019-ae97-47be-ba5e-5df381d67372",
      "source": "sed",
      "created": 1671001768772,
      "modified": 1671001768772,
      "version": 1,
      "originalId": null,
      "parentEntityType": "InternalApprovalRequest",
      "parentEntityId": "23942f1e-9312-45bd-93d8-b6db3bd72d1b",
      "parentStageId": "a67421c8-8195-4773-a086-d6cde6779614",
      "mainEntityType": "InternalApprovalRequest",
      "mainEntityId": "23942f1e-9312-45bd-93d8-b6db3bd72d1b",
      "maintStageId": "a67421c8-8195-4773-a086-d6cde6779614",
      "ownerUserId": "8f730a01-65ed-4864-af48-415f8edcc985",
      "stageHistoryId": null
    }
  ],
  "total": 1
}

Получение списка Запросов на внутреннее согласование с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listInternalApprovalRequests HTTP POST "/v1/internal-approval-request/list"

UpdateInternalApprovalRequest

На входе атрибуты обновляемого Запроса на внутреннее согласование, включая ID и версию

{
  "id": "42f4be24-1831-4bfb-bac8-4f2e9c4551c6",
  "version": 1,
  "data": {
    "parentEntityType": "InternalApprovalRequest",
    "parentEntityId": "363c126f-35be-4420-b506-41b1a4e0af0c"
  }
}

На выходе признак успешности

true

Обновление Запроса на внутреннее согласование.

Команда Путь
sed_updateInternalApprovalRequest Kafka Topic "sed_commands"

DeleteInternalApprovalRequests

На входе список Id запросов на внутреннее согласование

[
  "42f4be24-1831-4bfb-bac8-4f2e9c4551c6"
]

На выходе признак успешности

true

Удаление запросов на внутреннее согласование.

Команда Путь
sed_deleteInternalApprovalRequests Kafka Topic "sed_commands"

DeleteChildStage

На входе ID стадии для удаления

"8c5b2019-ae97-47be-ba5e-5df381d67372"

На выходе признак успешности

true

Удаление дочерней стадии.

Команда Путь
sed_deleteChildStage Kafka Topic "sed_commands"

UpdateStageResponsibleIds

На входе StageResponsibleUpdateDTO Если не указывается deadlineDate, срок стадии не изменяется

{
  "routeStageId": "d6f80b91-217b-4a79-aef1-ce04232be6d1",
  "deadlineDate": 1705754637542,
  "stageDepartmentId": "8c5b2019-ae97-47be-ba5e-5df381d67372",
  "responsibleIds": [
    "a30c2423-1d9e-43b5-85b1-c02e9ab7d6cd"
  ]
}

На выходе признак успешности

true

Обновление ответственных за дочернюю стадию.

Команда Путь
sed_updateStageResponsibleIds Kafka Topic "sed_commands"

UpdateStageDepartmentIds

На входе StageDepartmentsUpdateDTO Если не указывается deadlineDate, срок стадии не изменяется

{
  "routeStageId": "d6f80b91-217b-4a79-aef1-ce04232be6d1",
  "deadlineDate": 1705754637542,
  "stageDepartmentIds": [
    "a30c2423-1d9e-43b5-85b1-c02e9ab7d6cd"
  ]
}

На выходе признак успешности

true

Обновление ответственных ведомств за дочернюю стадию.

Команда Путь
sed_updateStageDepartmentIds Kafka Topic "sed_commands"

AssignCurrentUserAsOneStageResponsible

На входе AssignCurrentUserAsOneStageResponsibleDTO

{
  "routeStageId": "d6f80b91-217b-4a79-aef1-ce04232be6d1",
  "stageDepartmentIds": "a30c2423-1d9e-43b5-85b1-c02e9ab7d6cd"
}

На выходе признак успешности

true

Назначает отправившего команду пользователя ответственным за стадию (назначается задача).

Команда Путь
sed_assignCurrentUserAsOneStageResponsibleDTO Kafka Topic "sed_commands"

CreateServiceCard

На входе OtherServiceCardCreateDTO или MunicipalServiceCardCreateDTO или MandatoryServiceCardCreateDTO или StateServiceCardCreateDTO (в зависимости от типа услуги)

{
  "serviceType": "Other",
  "idFrgu2": "idFrgu2",
  "fullTitle": "fullTitle",
  "shortTitle": "shortTitle",
  "administrativeLevel": "administrativeLevel",
  "federalSubject": "federalSubject",
  "municipality": "municipality",
  "department": "department",
  "provideDepartment": "provide",
  "provideDepartmentsInfo": [
    "info",
    "info"
  ],
  "cooperativeDepartments": [
    "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
  ],
  "socialRelationsSphere": [
    "RelationSphere"
  ],
  "electronicForm": null,
  "isTypical": false,
  "typicalServiceTitle": "title"
}

На выходе ID карточки услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание новой карточки услуги.

Команда Путь
sed_createServiceCard Kafka Topic "sed_commands"

GetServiceCard

На входе ID карточки услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты карточки услуги

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "ServiceCard",
  "title": "ServiceCard 261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "source": "sed",
  "created": 1695700709769,
  "modified": 1695700782760,
  "version": 2,
  "number": "0000003",
  "serviceType": "Municipal",
  "idFrgu1": "idFrgu1",
  "idFrgu2": "idFrgu2",
  "fullTitle": "fullTitle",
  "shortTitle": "shortTitle",
  "administrativeLevel": "administrativeLevel",
  "municipality": "municipality",
  "federalSubject": "federalSubject",
  "department": "department",
  "provideDepartment": "provide",
  "provideDepartmentsInfo": [
    "info",
    "info"
  ],
  "cooperativeDepartments": [
    "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
  ],
  "socialRelationsSphere": [
    "RelationSphere"
  ],
  "provideDepartmentLink": [
    {
      "provideDepartment": "f0d76e47-7b53-44d3-9b86-e3f03d44a15c",
      "dateConnected": 1765517187593,
      "status": "Published"
    }
  ],
  "electronicForm": null,
  "isTypical": false,
  "typicalServiceTitle": "title",
  "actWithProvideAuthority": [
    "act"
  ]
}

Получение карточки услуги по идентификатору. В теле ответа значения по ключу provideDepartmentLink фильтруются по условию dateConnected != null.

Команда Путь
sed_getServiceCard HTTP POST "/v1/service-card/get"

ListServiceCards

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой карточки услуги

{
  "items": [
    {
      "id": "d64350c2-9d18-471f-a8fb-34d7412b926b",
      "entityType": "ServiceCard",
      "title": "ServiceCard d64350c2-9d18-471f-a8fb-34d7412b926b",
      "source": "sed",
      "created": 1695646185787,
      "modified": 1695646185787,
      "version": 1,
      "number": "0000001",
      "serviceType": "Other",
      "idFrgu1": "idFrgu1",
      "idFrgu2": null,
      "fullTitle": "fullTitle",
      "shortTitle": "shortTitle",
      "administrativeLevel": "administrativeLevel",
      "municipality": "municipality",
      "federalSubject": "federalSubject",
      "department": "department",
      "provideDepartment": "provide",
      "provideDepartmentsInfo": [
        "info",
        "info"
      ],
      "cooperativeDepartments": [
        "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
      ],
      "socialRelationsSphere": [
        "RelationSphere"
      ],
      "electronicForm": null,
      "isTypical": false,
      "typicalServiceTitle": "title",
      "actWithProvideAuthority": null
    },
    {
      "id": "fcdf19af-316e-4ebe-900f-62d46b4a2797",
      "entityType": "ServiceCard",
      "title": "ServiceCard fcdf19af-316e-4ebe-900f-62d46b4a2797",
      "source": "sed",
      "created": 1695646205648,
      "modified": 1695646205648,
      "version": 1,
      "number": "0000002",
      "serviceType": "Municipal",
      "idFrgu1": "idFrgu1",
      "idFrgu2": null,
      "fullTitle": "fullTitle",
      "shortTitle": "shortTitle",
      "administrativeLevel": "administrativeLevel",
      "municipality": "municipality",
      "federalSubject": "federalSubject",
      "department": "department",
      "provideDepartment": "provide",
      "provideDepartmentsInfo": [
        "info",
        "info"
      ],
      "cooperativeDepartments": [
        "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
      ],
      "socialRelationsSphere": [
        "RelationSphere"
      ],
      "electronicForm": null,
      "isTypical": false,
      "typicalServiceTitle": "title",
      "actWithProvideAuthority": [
        "act"
      ]
    }
  ],
  "total": 2
}

Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServiceCards HTTP POST "/v1/service-card/list"

UpdateServiceCard

На входе необходимые для обновления атрибуты карточки услуги, а также ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "department": "Новое ведомство"
  }
}

На выходе признак успешности

true

Обновление карточки услуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateServiceCard Kafka Topic "sed_commands"

DeleteServiceCard

На входе ID карточки услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление карточки услуги по идентификатору.

Команда Путь
sed_deleteServiceCard Kafka Topic "sed_commands"

CreateServicePassport

На входе ServicePassportCreateDTO

{
  "serviceType": "Municipal",
  "topics": [
    "Topic_1"
  ],
  "isDraft": true,
  "isPermitting": false,
  "startDate": 1697803088531,
  "isAvailableAroundTheClock": true,
  "isSociallyImportantService": true,
  "maxDeliveryPeriodAmount": 6,
  "maxDeliveryPeriodUnit": "Month",
  "isTerritorialProvided": false,
  "counselingOffices": [
    "office"
  ],
  "refuseMFC": true,
  "isOnlineProvided": true,
  "isMaximumDateSpecified": true,
  "isSpecialProcedureSpecified": true,
  "availabilityIndicators": [
    "indicatorAvailability"
  ],
  "qualityIndicators": [
    "indicatorQuality"
  ],
  "premisesRequirements": [
    "requirement"
  ],
  "informingMethods": [
    "method"
  ],
  "abbreviationDepartment": "Сокращение органа власти (организации) для отображения в печатной форме",
  "paymentsCreate": [
    {
      "fee": 200,
      "feeType": "feetype",
      "feeMethod": [
        "feemethod"
      ],
      "isFreeForm": false,
      "feeCurrency": "Ruble"
    }
  ],
  "documentsCreate": [
    {
      "order": 1,
      "documentCategory": "Category",
      "document": "Document",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "submissionMethodsCreate": [
        {
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        },
        {
          "submissionMethod": "1",
          "documentRequirements": ["1"]
        }
      ]
    }
  ],
  "interdepartmentalInteractionsCreate": [
    {
      "order": 1,
      "interactionType": "SIEI4",
      "supplierId": "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec",
      "isSupplierFreeForm": false,
      "serviceTitle": null,
      "typeInformationTitle": null,
      "dataMartTitle": "Межведомственный департамент при создании паспорта",
      "interdepartmentalRequestTitle": "Межведомственный департамент при создании паспорта",
      "deadlineRequestUnit": null,
      "deadlineRequestAmount": null,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    }
  ],
  "mandatoryServiceCardPublish": [
    "3da21337-e3ad-4272-b6d0-005545bdfbb3"
  ],
  "applicationMethodsCreate": [
    {
      "order": 1,
      "submissionMethod": "a1f3e5749b1a11ecb9090242ac120002",
      "maxDeliveryPeriodAmount": 2,
      "maxDeliveryPeriodUnit": "",
      "isMaxPeriodAmountAuto": true,
      "identificationMethod": "",
      "isProfilingMethod": false
    }
  ],
  "responsiblePersonCreate": [
    {
      "fullName": "Наименование ответственного лица",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (113) 694-32-66",
      "email": "Не заполнено",
      "order": 0
    },
    {
      "fullName": "Наименование ответственного лица 2",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица 2",
      "phoneNumber": "+7 (122) 312-92-56",
      "email": "Не заполнено",
      "order": 1
    }
  ]
}

На выходе ID паспорта услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового паспорта услуги.

Ключ paymentsCreate опционален, принимает на вход список PaymentCreateDTO и передается для паспортов типа MandatoryServicePassport, OtherServicePassport и ShortServicePassport

Ключ responsiblePersonCreate опционален, принимает на вход список ResponsiblePersonCreateDTO и передаётся для паспортов типа Municipal, Other, Short, StateTask.

Команда Путь
sed_createServicePassport Kafka Topic "sed_commands"

GetServicePassport

На входе ID паспорта услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты паспорта услуги

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "ServicePassport",
  "title": "ServicePassport 396506fd-e3ca-4144-9b93-e563f2ce7405",
  "source": "sed",
  "created": 1704955499217,
  "modified": 1704955499217,
  "version": 1,
  "originalId": null,
  "isDraft": true,
  "serviceType": "Municipal",
  "topics": [
    "Topic_1"
  ],
  "isPermitting": false,
  "startDate": 1697803088531,
  "endDate": null,
  "isAvailableAroundTheClock": true,
  "isSociallyImportantService": true,
  "maxDeliveryPeriodAmount": 5,
  "maxDeliveryPeriodUnit": "Day",
  "isTerritorialProvided": false,
  "counselingOffices": [
    "office"
  ],
  "isOnlineProvided": true,
  "isMaximumDateSpecified": true,
  "approvingActDetails": null,
  "lostForceActDetails": null,
  "isSpecialProcedureSpecified": true,
  "regulationDate": null,
  "availabilityIndicators": [
    "indicatorAvailability"
  ],
  "qualityIndicators": [
    "indicatorQuality"
  ],
  "premisesRequirements": [
    "requirement"
  ],
  "informingMethods": [
    "method"
  ],
  "abbreviationDepartment": "Сокращение органа власти (организации) для отображения в печатной форме",
  "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
  "refuseMFC": true,
  "suspensionReason": [
    {
      "id": "ae38065b-878f-4223-a785-205a9c0a44e1",
      "entityType": "SuspensionReason",
      "title": "SuspensionReasonPublish ae38065b-878f-4223-a785-205a9c0a44e1",
      "created": 1744182560191,
      "modified": 1744182560191,
      "version": 1,
      "originalId": null,
      "order": 1,
      "suspensionReason": "suspensionReason",
      "maxSuspensionPeriodAmount": 1,
      "maxSuspensionPeriodUnit": "WorkDay",
      "renewalBasis": [
        "suspensionReason"
      ]
    },
    {
      "id": "44b644d6-6363-470f-88aa-c43de9182f7f",
      "entityType": "SuspensionReason",
      "title": "SuspensionReasonPublish 44b644d6-6363-470f-88aa-c43de9182f7f",
      "created": 1744182560191,
      "modified": 1744182560191,
      "version": 1,
      "originalId": null,
      "order": 2,
      "suspensionReason": "suspensionReason",
      "maxSuspensionPeriodAmount": 1,
      "maxSuspensionPeriodUnit": "WorkDay",
      "renewalBasis": [
        "basis"
      ]
    }
  ],
  "rejectReason": [
    {
      "id": "9dfec147-c970-4eda-9691-d814e3b989ae",
      "entityType": "RejectReason",
      "title": "RejectReasonPublish 9dfec147-c970-4eda-9691-d814e3b989ae",
      "created": 1744182560693,
      "modified": 1744182560693,
      "version": 1,
      "originalId": null,
      "order": 1,
      "rejectionReason": "reason",
      "solutionType": "solutionType"
    },
    {
      "id": "b8baa208-7dcd-4ade-ad98-afcc815ed81c",
      "entityType": "RejectReason",
      "title": "RejectReasonPublish b8baa208-7dcd-4ade-ad98-afcc815ed81c",
      "created": 1744182560693,
      "modified": 1744182560693,
      "version": 1,
      "originalId": null,
      "order": 2,
      "rejectionReason": "reason",
      "solutionType": "solutionType"
    }
  ],
  "mandatoryServiceCardPublish": [
    "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec"
  ],
  "applicationMethod": [
    {
      "id": "b8baa208-7dcd-4ade-ad98-afcc815ed81c",
      "entityType": "ApplicationMethod",
      "title": "ApplicationMethodPublish b8baa208-7dcd-4ade-ad98-afcc815ed81c",
      "created": 1744182560693,
      "modified": 1744182560693,
      "version": 1,
      "originalId": null,
      "order": 1,
      "submissionMethod": "a1f3e5749b1a11ecb9090242ac120002",
      "maxDeliveryPeriodAmount": 2,
      "maxDeliveryPeriodUnit": "",
      "isMaxPeriodAmountAuto": true,
      "identificationMethod": "",
      "isProfilingMethod": false
    }
  ],
  "responsiblePerson": [
    {
      "id": "8574c0b3-816d-48cc-91af-654c2e6880e2",
      "entityType": "ResponsiblePerson",
      "title": "ResponsiblePersonPublish 8574c0b3-816d-48cc-91af-654c2e6880e2",
      "created": 1744182560693,
      "modified": 1744182560693,
      "version": 1,
      "order": 1
    },
    {
      "id": "1e46a751-f988-4830-8d07-59199dd55911",
      "entityType": "ResponsiblePerson",
      "title": "ResponsiblePersonPublish 1e46a751-f988-4830-8d07-59199dd55911",
      "created": 1744182560693,
      "modified": 1744182560693,
      "version": 1,
      "order": 2
    }
  ]
}

Получение паспорта услуги по идентификатору.

Команда Путь
sed_getServicePassport HTTP POST "/v1/service-passport/get"

ListServicePassports

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого паспорта услуги

{
  "items": [
    {
      "id": "346a2af0-51ed-4431-905c-64df6a0c8420",
      "entityType": "ServicePassport",
      "title": "ServicePassport 346a2af0-51ed-4431-905c-64df6a0c8420",
      "source": "sed",
      "serviceType": "Municipal",
      "created": 1704955295296,
      "modified": 1704955322529,
      "version": 2,
      "originalId": null,
      "topics": [
        "Topic_1"
      ],
      "isDraft": true,
      "isPermitting": false,
      "startDate": 1697803088531,
      "endDate": null,
      "refuseMFC": true,
      "isAvailableAroundTheClock": true,
      "isSociallyImportantService": true,
      "maxDeliveryPeriodAmount": 77,
      "maxDeliveryPeriodUnit": "Day",
      "isTerritorialProvided": false,
      "counselingOffices": [
        "office"
      ],
      "isOnlineProvided": true,
      "isMaximumDateSpecified": true,
      "approvingActDetails": null,
      "lostForceActDetails": null,
      "isSpecialProcedureSpecified": true,
      "regulationDate": null,
      "availabilityIndicators": [
        "indicatorAvailability"
      ],
      "qualityIndicators": [
        "indicatorQuality"
      ],
      "premisesRequirements": [
        "requirement"
      ],
      "informingMethods": [
        "method"
      ],
      "abbreviationDepartment": "Сокращение органа власти (организации) для отображения в печатной форме",
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1"
    },
    {
      "id": "396506fd-e3ca-4144-9b93-e563f2ce7405",
      "entityType": "ServicePassport",
      "title": "ServicePassport 396506fd-e3ca-4144-9b93-e563f2ce7405",
      "source": "sed",
      "created": 1704955499217,
      "modified": 1704955499217,
      "version": 1,
      "originalId": null,
      "lifeSituations": [
        "life1",
        "life2"
      ],
      "topics": [
        "Topic_1"
      ],
      "isPermitting": false,
      "isDraft": false,
      "startDate": 1697803088531,
      "endDate": null,
      "isAvailableAroundTheClock": true,
      "isSociallyImportantService": true,
      "maxDeliveryPeriodAmount": 5,
      "maxDeliveryPeriodUnit": "Month",
      "isTerritorialProvided": false,
      "counselingOffices": [
        "office"
      ],
      "isOnlineProvided": true,
      "isMaximumDateSpecified": true,
      "approvingActDetails": null,
      "lostForceActDetails": null,
      "isSpecialProcedureSpecified": true,
      "regulationDate": null,
      "availabilityIndicators": [
        "indicatorAvailability"
      ],
      "qualityIndicators": [
        "indicatorQuality"
      ],
      "premisesRequirements": [
        "requirement"
      ],
      "informingMethods": [
        "method"
      ],
      "refuseMFC": true,
      "abbreviationDepartment": "Сокращение органа власти (организации) для отображения в печатной форме",
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
      "mandatoryServiceCardPublish": [
        "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec"
      ],
      "applicationMethod": [
        "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec"
      ],
      "responsiblePerson": [
        "dabbb866-5804-45e1-9f6c-e5245da093e2",
        "1b9c1c5f-26f5-42e7-b5a1-afa2e14916fd"
      ]
    }
  ],
  "total": 2
}

Получение списка паспортов услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServicePassports HTTP POST "/v1/service-passport/list"

UpdateServicePassport

На входе необходимые для обновления атрибуты паспорта услуги, а также ID и версия

{
  "servicePassportUpdate": {
    "id": "8f730a01-65ed-4864-af48-415f8edcc985",
    "version": 1,
    "data": {
      "maxDeliveryPeriodAmount": 10
    }
  },
  "documentsCreate": [
    {
      "order": 1,
      "documentCategory": "Category",
      "document": "Document",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "refuseMFC": true,
      "submissionMethodsCreate": [
        {
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        },
        {
          "submissionMethod": "1",
          "documentRequirements": ["1"]
        }
      ]
    }
  ],
  "documentsUpdate": [
    {
      "documentUpdate": {
        "id": "8f730a01-65ed-4864-af48-415f8edcc985",
        "version": 1,
        "data": {
          "isMandatory": true
        }
      },
      "submissionMethodCreate": [
        {
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        }
      ],
      "submissionMethodUpdate": [
        {
          "id": "8f730a01-65ed-4864-af48-415f8edcc985",
          "version": 1,
          "data": {
            "documentRequirements": ["2"]
          }
        }
      ],
      "submissionMethodDelete": [
        "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
      ]
    }
  ],
  "documentsDelete": [
    "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
  ],
  "interdepartmentalInteractionsCreate": [
    {
      "order": 1,
      "interactionType": "SIEI4",
      "supplierId": "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec",
      "isSupplierFreeForm": false,
      "serviceTitle": null,
      "typeInformationTitle": null,
      "dataMartTitle": "Межведомственный департамент при создании паспорта",
      "interdepartmentalRequestTitle": "Межведомственный департамент при создании паспорта",
      "deadlineRequestUnit": null,
      "deadlineRequestAmount": null,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    }
  ],
  "interdepartmentalInteractionsUpdate": [
    {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "version": 1,
      "data": {
        "responseTimeUnit": "Day"
      }
    }
  ],
  "interdepartmentalInteractionsDelete": [
    "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
  ],
  "applicationMethodsCreate": [
    {
      "order": 1,
      "submissionMethod": "a1f3e5749b1a11ecb9090242ac120002",
      "maxDeliveryPeriodAmount": 2,
      "maxDeliveryPeriodUnit": "",
      "isMaxPeriodAmountAuto": true,
      "identificationMethod": "",
      "isProfilingMethod": false
    }
  ],
  "applicationMethodsUpdate": [
    {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "version": 1,
      "data": {
        "maxDeliveryPeriodAmount": 2
      }
    }
  ],
  "applicationMethodsDelete": [
    "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
  ],
  "responsiblePersonCreate": [
    {
      "fullName": "Наименование ответственного лица",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (113) 694-32-66",
      "email": "Не заполнено",
      "order": 0
    },
    {
      "fullName": "Наименование ответственного лица 2",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица 2",
      "phoneNumber": "+7 (122) 312-92-56",
      "email": "Не заполнено",
      "order": 1
    }
  ],
  "responsiblePersonUpdate": [
    {
      "id": "19b4fcaa-90f3-4c4c-a879-c38825df170c",
      "version": 1,
      "data": {
        "fullName": "Новое ФИО ответственного лица",
        "position": "Новая должность ответственного лица"
      }
    }
  ],
  "responsiblePersonDelete": [
    "4ca49398-1b4e-4741-955c-d4205d046828",
    "e4bc29f4-78c2-47b6-96e4-cebb42575a73"
  ]
}

На выходе признак успешности

true

Обновление паспорта услуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateServicePassport Kafka Topic "sed_commands"

DeleteServicePassport

На входе ID паспорта услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление паспорта услуги по идентификатору.

Команда Путь
sed_deleteServicePassport Kafka Topic "sed_commands"

StartRoute

Тип запроса и payload для его создания

Создание ServiceRequest При "routeId" = ServiceCardRoute, поля data задаются в зависимости от типа услуги OtherServiceCardCreateDTO или MunicipalServiceCardCreateDTO или MandatoryServiceCardCreateDTO или StateServiceCardCreateDTO

Создание InternalApprovalRequest При "routeId" = InternalApprovalRoute, поля data InternalApprovalRequestCreateDTO

Создание запроса шаблона, routeEntityClassCode = ServiceRequestTemplate, routeId = ServiceCardTemplateRoute, data = ServiceCardTemplateCreateDTO

Создание запроса шаблона паспорта, routeEntityClassCode = ServiceRequestTemplate, routeId = ServicePassportTemplateRoute, data = ServicePassportTemplateCreateDTO

{
  "routeEntityClassCode": "InternalApprovalRequest",
  "routeId": "InternalApprovalRoute",
  "data": {
    "entityType": "BusinessProcessRequest",
    "requestId": "03ae21dc-65ca-4f40-be46-15e712f10447"
  }
}

На выходе id запроса

"9154eb65-6c14-4b83-b35d-7162bdb92e0d"

Запускает маршрут по запросу

Команда Путь
sed_startRoute Kafka Topic "sed_commands"

StartRouteNewVersion

На входе ID опубликованной карточки услуги

"57fa5963-796e-4a19-96e5-a094db6cb895"

На выходе ID услуги

"57fa5963-796e-4a19-96e5-a094db6cb895"

Создание новой версии услуги на основе опубликованной карточки

Команда Путь
sed_startRouteNewVersion Kafka Topic "sed_commands"

StartRouteFromTemplate

На входе ID опубликованного шаблона карточки услуги и DTO для создания карточки. Поле serviceType обозначает создаваемый тип карточки.

{
  "serviceCardTemplateId": "9c393dbf-6a23-4f7e-91f6-1081d39ff3f2",
  "serviceCardCreateDTO": {
    "serviceType": "Municipal",
    "idFrgu1": null,
    "idFrgu2": null,
    "fullTitle": "Полное название",
    "shortTitle": "Краткое название",
    "administrativeLevel": "b9a7c17e-5545-498c-84a6-6d8c7d4c2fd1",
    "administrativeProvisionLevel": "c9a7c17e-5545-498c-84a6-6d8c7d4c2fd1",
    "federalSubject": null,
    "department": "f0d76e47-7b53-44d3-9b86-e3f03d44a15c",
    "provideDepartmentsInfo": [
      "f0d76e47-7b53-44d3-9b86-e3f03d44a15c"
    ],
    "provideDepartment": "Ведомство",
    "isTypical": true,
    "typicalService": null,
    "actWithProvideAuthority": [
      "НПА"
    ],
    "powerType": "476df69a-87f7-4d24-82f0-f763ddf280cc",
    "transmittedPowerType": null,
    "cooperativeDepartments": [
      "d0d76e47-7b53-44d3-9b86-e3f03d44a15c",
      "e0d76e47-7b53-44d3-9b86-e3f03d44a15c"
    ],
    "socialRelationsSphere": [
      "0ff20be2-1d99-431c-a451-da5fbfdd98d7"
    ]
  }
}

На выходе ID услуги

"57fa5963-796e-4a19-96e5-a094db6cb895"

Создание услуги на основе опубликованного шаблона карточки

Команда Путь
sed_startRouteFromTemplate Kafka Topic "sed_commands"

RestartRouteArchived

На входе ID запроса и его тип

{
  "requestId": "57fa5963-796e-4a19-96e5-a094db6cb895",
  "requestEntityType": "ServiceRequest"
}

На выходе ID запроса

"57fa5963-796e-4a19-96e5-a094db6cb895"

Восстановление архивированного маршрута. Поддерживает ServiceRequest, ServiceRequestTemplate, ArchiveFullRequest, ArchiveShortRequest

Команда Путь
sed_restartRouteArchived Kafka Topic "sed_commands"

GetArchiveShortRequest

На входе ID запроса на архивацию

"57fa5963-796e-4a19-96e5-a094db6cb895"

На выходе информация о запросе

{
  "id": "c39fcde7-60be-46ec-b095-bad65676735c",
  "originalId": null,
  "created": 1727415869238,
  "modified": 1727415872701,
  "version": 1,
  "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "status": "InterdepartmentalApproval",
  "reason": "Причина",
  "serviceCard": {
    "id": "1f94c5e2-b96f-4219-aec6-e8c8e5cc7f5b",
    "entityType": "ServiceCardPublish",
    "versionOf": null,
    "versionNumber": 1,
    "canCreateNewVersion": true,
    "title": "ServiceCardPublish 1f94c5e2-b96f-4219-aec6-e8c8e5cc7f5b",
    "source": "sed",
    "created": 1727265117568,
    "modified": 1727265181569,
    "version": 4,
    "originalId": null,
    "number": "0000000319",
    "status": "Published",
    "serviceType": "Municipal",
    "idFrgu1": null,
    "idFrgu2": null,
    "fullTitle": "Изменение сведений в реестре по аккредитованной организации или ИП",
    "shortTitle": "Изменение сведений в реестре по аккредитованной организации или ИП",
    "administrativeLevel": "Federal",
    "municipality": null,
    "federalSubject": null,
    "department": "01b963fe-6447-4976-b9fe-3cf6da783c78",
    "provideDepartment": "Орган, предоставляющий услугу",
    "isTypical": false,
    "typicalService": null,
    "actWithProvideAuthority": [
      "НПА, которым установлены полномочия на предоставление услуги"
    ],
    "administrativeProvisionLevel": "Regional",
    "powerType": "Transmitted",
    "transmittedPowerType": "TransmittedPowerType_1",
    "servicePassportPublish": {"id":"4117ea6c-ba23-430a-ab14-9b58d11aa3eb"},
    "regulation": {"id":"9a303f64-3bff-4343-91db-7fafee206d52"},
    "serviceRequestId": null
  }
}

Получение информации о запросе на архивацию

Команда Путь
sed_getArchiveShortRequest HTTP POST "/v1/archive-short-request/get"

GetArchiveFullRequest

На входе ID запроса на архивацию

"57fa5963-796e-4a19-96e5-a094db6cb895"

На выходе информация о запросе

{
  "id": "94caae48-e5f0-4014-a733-83cef0439e13",
  "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "originalId": null,
  "created": 1727416716597,
  "modified": 1727416719215,
  "version": 1,
  "status": "IntradepartmentalApproval",
  "isSpecialProcedureSpecified": true,
  "date": 1726568364,
  "invalidationAct": {"id":"7b2a0157-4f34-4d33-95f3-699c308192a4"},
  "serviceCard": {
    "id": "1f94c5e2-b96f-4219-aec6-e8c8e5cc7f5b",
    "entityType": "ServiceCardPublish",
    "title": "ServiceCardPublish 1f94c5e2-b96f-4219-aec6-e8c8e5cc7f5b",
    "source": "sed",
    "created": 1727265117568,
    "modified": 1727265181569,
    "version": 4,
    "servicePassportPublish": {"id":"4117ea6c-ba23-430a-ab14-9b58d11aa3eb"},
    "regulation": {"id":"9a303f64-3bff-4343-91db-7fafee206d52"},
    "serviceType": "Municipal",
    "status": "Published",
    "shortTitle": "Изменение сведений в реестре по аккредитованной организации или ИП",    
    "number": "0000000319"
  }
}

Получение информации о запросе на архивацию

Команда Путь
sed_getArchiveFullRequest HTTP POST "/v1/archive-full-request/get"

ListArchiveShortRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "id",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список запросов на архивацию

{
  "items": [
    {
      "id": "ad4ca220-b601-4cdb-9f8c-ee29c8cfca5d",
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
      "version": 1,
      "reason": "Причина",
      "serviceCardId": "5c215213-9e44-44f3-a874-f3fc0f2ceb07"
    }
  ],
  "total": 1
}

Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listArchiveShortRequests HTTP POST "/v1/archive-short-request/list"

ListArchiveFullRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "id",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список запросов на архивацию

{
  "items": [
    {
      "id": "5c215213-9e44-44f3-a874-f3fc0f2ceb07",
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
      "version": 1,
      "serviceCardId": "5c215213-9e44-44f3-a874-f3fc0f2ceb07"
    }
  ],
  "total": 1
}

Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listArchiveRequests HTTP POST "/v1/archive-full-request/list"

ListArchiveRequests

На входе параметры фильтрации, сортировки и пагинации Обязательно указание фильтра по archiveShortRequest, либо archiveFullRequest, c указанием что id не пустой Иначе возникнет ошибка

 {
  "archiveShortRequest.id": {
    "values": [
      "null"
    ],
    "kind": "any",
    "negation": true
  }
}
{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "id",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список запросов на архивацию

{
  "items": [
    {
      "id": "5c215213-9e44-44f3-a874-f3fc0f2ceb07",
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
      "version": 1,
      "serviceCardId": "5c215213-9e44-44f3-a874-f3fc0f2ceb07"
    }
  ],
  "total": 1
}

Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listArchiveRequests HTTP POST "/v1/archive-request/list"

UpdateArchiveShortRequest

На входе данные для обновления запроса

{
  "id": "42f4be24-1831-4bfb-bac8-4f2e9c4551c6",
  "version": 1,
  "data": {
    "reason": "Причина тряски"
  }
}

На выходе результат обновления

true

Обновление запроса на архивацию

Команда Путь Action ResourceType ResourceId
sed_updateArchiveShortRequest Kafka Topic "sed_commands" UpdateArchiveShortRequest ArchiveShortRequest id

GetInvalidationAct

На входе ID акта архивации

"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"

На выходе акт архивации

{
  "id": "16ec128f-d8bf-4d4c-a4d7-52164c7b0f96",
  "created": 1727762010708,
  "modified": 1727762010708,
  "version": 1,
  "originalId": null,
  "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "regulationProject": [
    {
      "additional": {
        "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31"
      },
      "fileId": "8002781b-01d6-46fe-9e52-53095efb1c85",
      "name": "report (19).docx",
      "extension": "docx",
      "size": 45549,
      "url": "datamodel/InvalidationActPublish/8002781b-01d6-46fe-9e52-53095efb1c85",
      "created": 1727762010735,
      "modified": 1727762010735,
      "md5": "35E13285F2DACB44D4D33A4AA98E6578"
    }
  ],
  "regulationProjectAuthorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "isSpecialProcedureSpecified": null,
  "regulationDate": 1727762010735,
  "examinationReport": null,
  "examinationReportAuthorId": null,
  "signedRegulation": null,
  "signedRegulationAuthorId": null,
  "departmentRegistrationDate": null,
  "departmentRegistrationNumber": null,
  "electronicSignature": null,
  "electronicSignatureAuthorId": null,
  "responsibilityDocument": null,
  "responsibilityDocumentAuthorId": null,
  "regulationCancellationAct": null,
  "regulationCancellationActAuthorId": null,
  "governmentRegistrationDate": null,
  "governmentRegistrationNumber": null,
  "registrationReport": null,
  "registrationReportAuthorId": null,
  "registeredRegulation": null,
  "registeredRegulationAuthorId": null,
  "archiveRequest": null
}

Получение акта архивации

Команда Путь
sed_getInvalidationAct HTTP POST "/v1/invalidation-act/get"

ListInvalidationActs

На входе параметры поиска

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список актов архивации

{
  "items": [
    {
      "id": "16ec128f-d8bf-4d4c-a4d7-52164c7b0f96",
      "created": 1727762010708,
      "modified": 1727762010708,
      "version": 1,
      "originalId": null,
      "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
      "regulationProject": [
        {
          "additional": {
            "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31"
          },
          "fileId": "8002781b-01d6-46fe-9e52-53095efb1c85",
          "name": "report (19).docx",
          "extension": "docx",
          "size": 45549,
          "url": "datamodel/InvalidationActPublish/8002781b-01d6-46fe-9e52-53095efb1c85",
          "created": 1727762010735,
          "modified": 1727762010735,
          "md5": "35E13285F2DACB44D4D33A4AA98E6578"
        }
      ],
      "regulationProjectAuthorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
      "isSpecialProcedureSpecified": null,
      "regulationDate": 1727762010735,
      "examinationReport": null,
      "examinationReportAuthorId": null,
      "signedRegulation": null,
      "signedRegulationAuthorId": null,
      "departmentRegistrationDate": null,
      "departmentRegistrationNumber": null,
      "electronicSignature": null,
      "electronicSignatureAuthorId": null,
      "responsibilityDocument": null,
      "responsibilityDocumentAuthorId": null,
      "regulationCancellationAct": null,
      "regulationCancellationActAuthorId": null,
      "governmentRegistrationDate": null,
      "governmentRegistrationNumber": null,
      "registrationReport": null,
      "registrationReportAuthorId": null,
      "registeredRegulation": null,
      "registeredRegulationAuthorId": null,
      "archiveRequest": null
    }
  ],
  "total": 1
}

Получение списка актов архивации

Команда Путь
sed_listInvalidationActs HTTP POST "/v1/invalidation-act/list"

GetPublishedInvalidationAct

На входе ID опубликованного акта архивации

"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"

На выходе акт архивации

{
  "id": "16ec128f-d8bf-4d4c-a4d7-52164c7b0f96",
  "created": 1727762010708,
  "modified": 1727762010708,
  "version": 1,
  "originalId": null,
  "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "regulationProject": [
    {
      "additional": {
        "authorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31"
      },
      "fileId": "8002781b-01d6-46fe-9e52-53095efb1c85",
      "name": "report (19).docx",
      "extension": "docx",
      "size": 45549,
      "url": "datamodel/InvalidationActPublish/8002781b-01d6-46fe-9e52-53095efb1c85",
      "created": 1727762010735,
      "modified": 1727762010735,
      "md5": "35E13285F2DACB44D4D33A4AA98E6578"
    }
  ],
  "regulationProjectAuthorId": "1f40f95e-0e89-41ef-906f-e0efe39c5d31",
  "isSpecialProcedureSpecified": null,
  "regulationDate": 1727762010735,
  "examinationReport": null,
  "examinationReportAuthorId": null,
  "signedRegulation": null,
  "signedRegulationAuthorId": null,
  "departmentRegistrationDate": null,
  "departmentRegistrationNumber": null,
  "electronicSignature": null,
  "electronicSignatureAuthorId": null,
  "responsibilityDocument": null,
  "responsibilityDocumentAuthorId": null,
  "regulationCancellationAct": null,
  "regulationCancellationActAuthorId": null,
  "governmentRegistrationDate": null,
  "governmentRegistrationNumber": null,
  "registrationReport": null,
  "registrationReportAuthorId": null,
  "registeredRegulation": null,
  "registeredRegulationAuthorId": null,
  "archiveRequest": null
}

Получение опубликованного акта архивации

Команда Путь
sed_getPublishedInvalidationAct HTTP POST "/v1/publish/get-invalidation-act"

CreateInvalidationAct

На входе параметры акта архивации

{
  "requestId": "7e4994df-16e4-4e1b-8107-4955ec2bfda2",
  "regulationProjectFileId": "4b0fec17-6946-4eeb-95e4-bd0b516346a5"
}

На выходе ID акта архивации

"16ec128f-d8bf-4d4c-a4d7-52164c7b0f96"

Создание акта архивации

Команда Путь
sed_createInvalidationAct Kafka Topic "sed_commands"

UpdateInvalidationAct

На входе параметры акта архивации

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "regulationDate": 1704969595304
  }
}

На выходе результат обновления

true

Обновление акта архивации

Команда Путь
sed_updateInvalidationAct Kafka Topic "sed_commands"

UpdateInvalidationActGovernmentRegistration

На входе необходимые для обновления атрибуты гос. регистрации

{
  "id": "0f63c0e0-c45b-4757-92fd-89da8d3c8572",
  "version": 1,
  "governmentRegistrationDate": 35,
  "governmentRegistrationNumber": "number"
}

На выходе признак успешности

true

Обновление гос. регистрации регламента услуги.

Команда Путь Action ResourceType ResourceId
sed_updateInvalidationActGovernmentRegistration Kafka Topic "sed_commands" UpdateGovernmentRegistration InvalidationAct id

CreateInvalidationActTemplate

На входе id файла во временном бакете

"32859e2e-8b92-4816-b043-dd33b6484936"

На выходе результат выполнения

true

Создание или обновление шаблона акта архивации.

Команда Путь
sed_createInvalidationActTemplate Kafka Topic "sed_commands"

GetInvalidationActTemplate

На входе пустое тело

{}

На выходе информация о шаблоне

{
  "file": {
    "fileId": "32859e2e-8b92-4816-b043-dd33b6484936",
    "name": "checklist.txt",
    "extension": "txt",
    "size": 28,
    "url": "datamodel/InvalidationActTemplate/32859e2e-8b92-4816-b043-dd33b6484936",
    "additional": {},
    "created": 1722933055104,
    "modified": 1722933055104,
    "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
  }
}

Получение шаблона акта архивации.

Команда Путь
sed_getInvalidationActTemplate HTTP POST "/v1/invalidationActTemplate/get"

SubmitRegisteredInvalidationAct

На входе ID акта архивации

"e51054f7-bdbc-4f9a-af1d-53270fc0a02a"

На выходе ссылка на файл

"datamodel/InvalidationAct/f67f3370-0753-437d-a758-edb797d43c09"

Регистрация акта архивации с проставлением штампа

Команда Путь
sed_submitRegisteredInvalidationAct Kafka Topic "sed_commands"

CreateSubService

На входе SubServiceCreateDTO

{
  "requestId": "57fa5963-796e-4a19-96e5-a094db6cb895",
  "idFrgu1": "1",
  "idFrgu2": "2",
  "fullTitle": "title",
  "applicantCategory": [
    "aplCategory"
  ],
  "isDraft": true,
  "representativePossibility": true,
  "preregistrationMethod": [
    "preregistrationMethod"
  ],
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "resultTitleTypesCreate": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "isRegistryModel": true,
  "isResultReceivedElectronically": true,
  "waysObtainService": [
    "way"
  ],
  "hasLimitedResources": true,
  "hasApplicantAssessments": true,
  "requestForm": {
    "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
    "name": "file.txt",
    "extension": "txt",
    "size": 28,
    "url": "datamodel/SubService/d6699e46-6110-4137-b435-4839dc37ef3e",
    "additional": {},
    "created": 1722249306309,
    "modified": 1722249306309,
    "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
  },
  "featuresPeriod": null,
  "administrativeProceduresCreate": [
    {
      "administrativeProcedure": "administrativeProcedure",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "proactiveOrder": 1,
      "isAffectingDate": false,
      "administrativeActions": [
        "action"
      ],
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus2",
          "implementationInforming": true
        }
      ]
    },
    {
      "administrativeProcedure": "administrativeProcedure2",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "proactiveOrder": 2,
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus3",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus4",
          "implementationInforming": true
        }
      ]
    }
  ]
}

На выходе ID подуслуги

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание новой подуслуги с административными процедурами и статусами закрытия.

Команда Путь
sed_createSubService Kafka Topic "sed_commands"

GetSubService

На входе ID подуслуги

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты карточки услуги

{
  "id": "aa658886-937b-487f-b46d-2a930e1f72b9",
  "entityType": "SubService",
  "title": "mock SubService title",
  "source": "sed",
  "created": 1704969595304,
  "modified": 1704969595304,
  "version": 1,
  "originalId": null,
  "number": "0000001-01",
  "idFrgu1": "",
  "idFrgu2": "",
  "fullTitle": "title",
  "isDraft": true,
  "applicantCategory": [
    ""
  ],
  "representativePossibility": true,
  "preregistrationMethod": [
    ""
  ],
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "requestForm": {
    "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
    "name": "file.txt",
    "extension": "txt",
    "size": 28,
    "url": "datamodel/SubService/d6699e46-6110-4137-b435-4839dc37ef3e",
    "additional": {},
    "created": 1722249306309,
    "modified": 1722249306309,
    "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
  },
  "featuresPeriod": null,
  "resultTitleTypes": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "isRegistryModel": true,
  "registryName": "registryName",
  "hasLimitedResources": true
}

Получение карточки услуги по идентификатору.

Команда Путь
sed_getSubService HTTP POST "/v1/sub-service/get"

ListSubServices

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов подуслуги

{
  "items": [
    {
      "id": "aa658886-937b-487f-b46d-2a930e1f72b9",
      "entityType": "SubService",
      "title": "mock SubService title",
      "source": "sed",
      "created": 1704969595304,
      "modified": 1704969595304,
      "version": 1,
      "originalId": null,
      "number": "0000001-01",
      "isDraft": false,
      "idFrgu1": "",
      "idFrgu2": "",
      "fullTitle": "title",
      "applicantCategory": [
        ""
      ],
      "representativePossibility": true,
      "preregistrationMethod": [
        ""
      ],
      "registryModel": true,
      "isMaxPinTimeProvisionSubservices": true,
      "maxPeriodUnit": "maxPeriodUnit",
      "maxPeriodAmount": 1,
      "isProvidedExtraterritorial": true,
      "hasPreEntry": true,
      "requestForm": {
        "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
        "name": "file.txt",
        "extension": "txt",
        "size": 28,
        "url": "datamodel/SubService/d6699e46-6110-4137-b435-4839dc37ef3e",
        "additional": {},
        "created": 1722249306309,
        "modified": 1722249306309,
        "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
      },
      "featuresPeriod": null,
      "resultTitleTypes": [
        {
          "resultType": "resultType",
          "titleType": [
            "titleType"
          ]
        }
      ],
      "titleType": [
        "titleType"
      ],
      "isRegistryModel": true,
      "registryName": "registryName",
      "hasLimitedResources": true
    }
  ],
  "total": 1
}

Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listSubServices HTTP POST "/v1/sub-service/list"

UpdateSubService

На входе необходимые для обновления атрибуты подуслуги, ее административных процедур и статусов закрытия Если поле data у сущности на обновление пустое, то оно не будет обновляться и будут выполнены операции только со связанными с ней сущностями.

{
  "subServiceUpdate": {
    "id": "260216e0-7d67-41c6-9825-6895c2c65258",
    "version": 2,
    "data": {
    }
  },
  "administrativeProceduresCreate": [
    {
      "administrativeProcedure": "administrativeProcedure",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": false,
      "isAffectingDate": true,
      "administrativeActions": [
        "action"
      ],
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus2",
          "implementationInforming": true
        }
      ]
    }
  ],
  "administrativeProceduresUpdate": [
    {
      "administrativeProcedureUpdate": {
        "id": "8f730a01-65ed-4864-af48-415f8edcc985",
        "version": 2,
        "data": {}
      },
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus8",
          "implementationInforming": true
        }
      ],
      "closeStatusesUpdate": [
        {
          "id": "3a35deaa-2596-475d-b190-01014f003e05",
          "version": 1,
          "data": {
            "implementationInforming": true
          }
        }
      ],
      "closeStatusesDelete": [
        "57fa5963-796e-4a19-96e5-a094db6cb895"
      ]
    }
  ],
  "administrativeProceduresDelete": [
    "356de63b-818b-421e-9ef0-6798e1048fba"
  ],
  "resultTitleTypesCreate": [
    {
      "resultType": "ResultType_51",
      "titleType": [
        "11",
        "21"
      ]
    }
  ],
  "resultTitleTypesUpdate": [
    {
      "resultTitleTypesCreate": [],
      "resultTitleTypesUpdate": [
        {
          "id": "4576c0b5-3de6-472a-8f34-d12de7637001",
          "version": 1,
          "data": {
            "resultType": "ResultType_511",
            "titleType": [
              "31",
              "51"
            ]
          }
        }
      ],
      "resultTitleTypesDelete": []
    }
  ],
  "resultTitleTypesDelete": [
    "2e9c665a-1829-47b0-953f-3940f2b43cd7"
  ]
}

На выходе признак успешности

true

Обновление подуслуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateSubService Kafka Topic "sed_commands"

DeleteSubServices

На входе список ID подуслуг

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе результат удаления

true

Удаление подуслуги по идентификатору.

Команда Путь
sed_deleteSubServices Kafka Topic "sed_commands"

CreateAdministrativeProcedureBatch

На входе атрибуты для создания административной процедуры и способов закрытия

[
  {
    "administrativeProcedure": "administrativeProcedure",
    "electronicForm": true,
    "maxPeriodAmount": 1,
    "maxPeriodUnit": "maxPeriodUnit",
    "proactiveMode": true,
    "proactiveOrder": 1,
    "isAffectingDate": false,
    "obtainingAdditionalInformationReason": [
      "obtainingAdditionalInformationReason"
    ],
    "assessmentGenitive": "assessmentGenitive",
    "assessmentSubject": [
      "assessmentSubject"
    ],
    "assessmentObject": [
      "assessmentObject"
    ],
    "assessmentPlace": [
      "assessmentPlace"
    ],
    "assessmentDocument": [
      "assessmentDocument"
    ],
    "administrativeActions": [
      "action"
    ],
    "order": 1,
    "closeStatusesCreate": [
      {
        "closeStatus": "closeStatus",
        "implementationInforming": true
      },
      {
        "closeStatus": "closeStatus2",
        "implementationInforming": true
      }
    ]
  }
]

На выходе список ID административных процедур

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

Создание списка новых административных процедур.

Команда Путь
sed_createAdministrativeProcedureBatch Kafka Topic "sed_commands"

UpdateAdministrativeProcedureBatch

На входе необходимые для обновления атрибуты административной процедуры, а также ID и версия

[
  {
    "administrativeProcedureUpdate": {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "version": 2,
      "data": {}
    },
    "closeStatusesCreate": [
      {
        "closeStatus": "closeStatus8",
        "implementationInforming": true
      }
    ],
    "closeStatusesUpdate": [
      {
        "id": "3a35deaa-2596-475d-b190-01014f003e05",
        "version": 1,
        "data": {
          "implementationInforming": true
        }
      }
    ],
    "closeStatusesDelete": [
      "57fa5963-796e-4a19-96e5-a094db6cb895"
    ]
  }
]

На выходе пустое тело ответа


Обновление списка административных процедур. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateAdministrativeProcedureBatch Kafka Topic "sed_commands"

DeleteAdministrativeProcedureBatch

На входе список ID административных процедур

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе пустое тело ответа

Удаление списка административных процедур по идентификаторам

Команда Путь
sed_deleteAdministrativeProcedureBatch Kafka Topic "sed_commands"

GetAdministrativeProcedure

На входе ID административной процедуры

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты адм. процедуры

{
  "id": "08725c6d-9944-4f7a-be18-6373cb73414a",
  "entityType": "AdministrativeProcedure",
  "title": "mock AdministrativeProcedure title",
  "source": "sed",
  "created": 1704971617571,
  "modified": 1704971617571,
  "version": 1,
  "originalId": null,
  "administrativeProcedure": "adminProc",
  "electronicForm": true,
  "maxPeriodAmount": null,
  "maxPeriodUnit": "Years",
  "order": 1,
  "proactiveMode": true,
  "proactiveOrder": 1,
  "closeStatus": [
    {
      "id": "1e63ba03-2595-4ca5-8586-4732b5926959",
      "title": "mock CloseStatus title",
      "created": 1704971710811,
      "modified": 1704971710811,
      "version": 1,
      "originalId": null,
      "closeStatus": "closeStatus",
      "implementationInforming": true
    }
  ]
}

Получение административной процедуры по идентификатору.

Команда Путь
sed_getAdministrativeProcedure HTTP POST "/v1/administrative-procedure/get"

ListAdministrativeProcedures

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой карточки услуги

{
  "items": [
    {
      "id": "08725c6d-9944-4f7a-be18-6373cb73414a",
      "entityType": "AdministrativeProcedure",
      "title": "mock AdministrativeProcedure title",
      "source": "sed",
      "created": 1704971617571,
      "modified": 1704971617571,
      "version": 1,
      "originalId": null,
      "administrativeProcedure": "adminProc",
      "electronicForm": true,
      "maxPeriodAmount": null,
      "maxPeriodUnit": "Years",
      "proactiveMode": true,
      "proactiveOrder": 1,
      "order": 1,
      "closeStatus": [
        {
          "id": "1e63ba03-2595-4ca5-8586-4732b5926959",
          "title": "mock CloseStatus title",
          "created": 1704971710811,
          "modified": 1704971710811,
          "version": 1,
          "originalId": null,
          "closeStatus": "closeStatus",
          "implementationInforming": true
        }
      ]
    }
  ],
  "total": 1
}

Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listAdministrativeProcedures HTTP POST "/v1/administrative-procedure/list"

GetCloseStatus

На входе ID статуса закрытия

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты адм. процедуры

{
  "id": "9c6aec2a-27d9-4024-a63b-556661c07cab",
  "entityType": "CloseStatus",
  "title": "mock CloseStatus title",
  "source": "sed",
  "created": 1704973550646,
  "modified": 1704973550646,
  "version": 1,
  "originalId": null,
  "closeStatus": "closeStatus",
  "implementationInforming": true
}

Получение статуса закрытия по идентификатору.

Команда Путь
sed_getCloseStatus HTTP POST "/v1/close-status/get"

ListCloseStatuses

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой карточки услуги

{
  "items": [
    {
      "id": "9c6aec2a-27d9-4024-a63b-556661c07cab",
      "entityType": "CloseStatus",
      "title": "mock CloseStatus title",
      "source": "sed",
      "created": 1704973550646,
      "modified": 1704973550646,
      "version": 1,
      "originalId": null,
      "closeStatus": "closeStatus",
      "implementationInforming": true
    }
  ],
  "total": 1
}

Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listCloseStatuses HTTP POST "/v1/close-status/list"

UpdateSubServiceOrder

На входе массив с идентификаторами и новыми порядковыми номерами подуслуг

[
  {
    "id": "d21495b9-b7bd-42ac-b7c8-7864906811b7",
    "order": 7
  },
  {
    "id": "3fcfb914-4311-4d40-a896-6e5e14ae3eb1",
    "order": 8
  }
]

На выходе Boolean

true

Обновление порядкового номера подуслуг

Команда Путь
sed_updateSubServiceOrder Kafka Topic "sed_commands"

ImportJobCalendar

Для импротра первоначально необходимо загрузить файл в хранилище S3 при помощи команды upload сервиса api-gateway На входе id файла в хранилище S3 (результат команды upload) Обработанный календарь будет сохранен, либо обновлен в сервисе tech-constants, с кодом jobCalendar

"1c689788-9617-4c93-bcee-6eae8909a0ba"

На выходе результат обработки файла

Импорт производственного календаря

Команда Путь
sed_importJobCalendar HTTP POST "/v1/job-calendar/import"

UpdateResponsibleDepartment

На входе UpdateResponsibleDepartmentDTO[], если не задан federalSubject, обновляет ответственного у папки "Правительство"

[
  {
    "federalSubject": "AdygeaRepublic",
    "responsibleDepartmentId": "c084327e-a592-4eaf-9ed1-9616e53e6ae8",
    "responsibleAdministrativeLevelCode": "Municipal",
    "responsibilityType": "Informational"
  },
  {
    "federalSubject": "AdygeaRepublic",
    "responsibleDepartmentId": "c084327e-a592-4eaf-9ed1-9616e53e6ae8",
    "responsibleAdministrativeLevelCode": "Municipal",
    "responsibilityType": "Subject"
  }
]

Пустое тело ответа

{}

Обновление ответственного органа власти.

Команда Путь
sed_updateResponsibleDepartment Kafka Topic "sed_commands"

Области (типы) ответственности ведомства (responsibilityType):

Тип ответственности Описание
Subject Орган, ответственный за ведение реестра услуг
Informational Орган, уполномоченный на проведение экспертизы на предмет соответствия требованиям информационной инфраструктуры
Registration Орган, осуществляющий государственную регистрацию АР

UpdateApprovalResponsibleDepartment

На входе UpdateApprovalResponsibleDepartmentDTO, если не задан federalSubject, обновляет ответственного у папки "Правительство"

{
  "federalSubject": "AdygeaRepublic",
  "responsibleDepartmentIds": ["c084327e-a592-4eaf-9ed1-9616e53e6ae8"],
  "responsibleAdministrativeLevelCode": "Municipal"
}

Пустое тело ответа

{}

Структура ведомства после обновления

{
  "id": "2a68b3ce-4259-4a30-9200-dcd63611ead1",
  "hierarchyEntityId": "Department",
  "data": {
    "responsibilities": [
      {
        "responsibilityType": "Approval",
        "administrativeLevelCode": [
          "Municipal"
        ]
      }
    ]
  }
}

Обновление ответственных за утверждение АР ведомств. Обновленное ведомство будет иметь ответственность с типом Approval.

При обновлении ведомства, Approval будут иметь только ведомства списка responsibleDepartmentIds в теле запроса.

Отсутствующим в responsibleDepartmentIds будут удалены ответственности Approval.

Команда Путь
sed_updateApprovalResponsibleDepartment Kafka Topic "sed_commands"

RemoveResponsibleDepartment

На входе RemoveResponsibleDepartmentDTO, если не задан federalSubject, обновляет ответственного у папки "Правительство"

[
  {
    "federalSubject": "AdygeaRepublic",
    "responsibleAdministrativeLevelCode": "Municipal",
    "responsibilityType": "Informational"
  }
]

Пустое тело ответа

{}

Снимает ответственность со всех ведомств, для которых federalSubject и responsibleAdministrativeLevelCode совпадут с телом запросом

Команда Путь Action ResourceType ResourceId
sed_removeResponsibleDepartment Kafka Topic "sed_commands" RemoveResponsibleDepartment Department null

GetCurrentUserDepartmentOrCatalogRequest

Пустое тело запроса

{}

Ведомство (entityType = Department) или запрос (entityType = CatalogRequest) текущего пользователя

{
  "entityType": "Department",
  "objectId": "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
}

Получение ведомства / запроса на создание ведомства текущего пользователя. Если запрос не найден, создаёт новый и возвращает его.

Команда Путь
sed_getCurrentUserDepartmentOrCatalogRequest Kafka Topic "sed_commands"

CreateCatalogRequest

На входе CatalogRequestCreateDTO Поля catalog и newCatalogValue имеют определенный формат в зависимости от типа изменения справочника

Тип изменения справочника catalog newCatalogValue
Addition alexandrina[CreateCatalogItemDTO], либо hierarchy-entities[HierarchyEntityObjectCreateDTO] Не используется
Change alexandrina[CatalogItem], либо hierarchy-entities[HierarchyEntityObject] alexandrina[UpdateCatalogItemDTO], либо hierarchy-entities[HierarchyEntityObjectUpdateDTO]
Archiving alexandrina[CreateCatalogItem], либо hierarchy-entities[HierarchyEntityObject] Не используется
{
  "requestType": "RequestType",
  "catalog": "catalog",
  "catalogItemCode": "catalogItemCode",
  "catalogValue": "value",
  "newCatalogValue": "newValue",
  "reason": "reason",
  "responsiblePersonCreate": [
    {
      "fullName": "Наименование ответственного лица",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (129) 694-54-56",
      "email": "Не заполнено",
      "order": 0
    }
  ]
}

На выходе ID запроса на изменение справочников

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового запроса на изменение справочников.

Команда Путь
sed_createCatalogRequest Kafka Topic "sed_commands"

GetCatalogRequest

На входе ID запроса на изменение справочников

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты запроса на изменение справочников

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "CatalogRequest",
  "title": "CatalogRequest 396506fd-e3ca-4144-9b93-e563f2ce7405",
  "source": "sed",
  "created": 1704955499217,
  "modified": 1704955499217,
  "version": 1,
  "number": "000001",
  "authorId": "8f730a01-65ed-4864-af48-415f8edcc985",
  "requestType": "RequestType",
  "requestStatus": "RequestStatus",
  "rejectionReason": "rejected",
  "solutionAuthorId": "6c72658f-c498-45d6-8ed1-8bfde9e9a64b",
  "catalog": "catalog",
  "catalogItemCode": "catalogItemCode",
  "catalogValue": "value",
  "newCatalogValue": "newValue",
  "reason": "reason",
  "responsiblePerson": [
    {
      "fullName": "Наименование ответственного лица",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (129) 694-54-56",
      "email": "Не заполнено",
      "order": 0
    }
  ]
}

Получение запроса на изменение справочников по идентификатору.

Команда Путь
sed_getCatalogRequest HTTP POST "/v1/catalog-request/get"

ListCatalogRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого запроса на изменение справочников

{
  "items": [
    {
      "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "entityType": "CatalogRequest",
      "title": "CatalogRequest 396506fd-e3ca-4144-9b93-e563f2ce7405",
      "source": "sed",
      "created": 1704955499217,
      "modified": 1704955499217,
      "version": 1,
      "number": "000001",
      "authorId": "8f730a01-65ed-4864-af48-415f8edcc985",
      "requestType": "RequestType",
      "requestStatus": "RequestStatus",
      "rejectionReason": "rejected",
      "solutionAuthorId": "6c72658f-c498-45d6-8ed1-8bfde9e9a64b",
      "catalog": "catalog",
      "catalogItemCode": "catalogItemCode",
      "catalogValue": "value",
      "newCatalogValue": "newValue",
      "reason": "reason"
    }
  ],
  "total": 1
}

Получение списка запросов на изменение справочников с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listCatalogRequests HTTP POST "/v1/catalog-request/list"

UpdateCatalogRequest

На входе необходимые для обновления атрибуты запроса на изменение справочников, а также ID и версия

{
  "catalogRequestUpdate": {
    "id": "8f730a01-65ed-4864-af48-415f8edcc985",
    "version": 1,
    "data": {
      "newCatalogValue": "newValue"
    }
  },
  "responsiblePersonCreate": [
    {
      "fullName": "Наименование ответственного лица",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (113) 694-32-66",
      "email": "Не заполнено",
      "order": 0
    },
    {
      "fullName": "Наименование ответственного лица 2",
      "responsiblePersonType": "QualityResponsible",
      "position": "Должность ответственного лица 2",
      "phoneNumber": "+7 (122) 312-92-56",
      "email": "Не заполнено",
      "order": 1
    }
  ],
  "responsiblePersonUpdate": [
    {
      "id": "2a063e8e-c50e-4c4c-a5f7-ef85de864e06",
      "version": 1,
      "data": {
        "fullName": "Новое ФИО ответственного лица",
        "position": "Новая должность ответственного лица"
      }
    }
  ],
  "responsiblePersonDelete": [
    "de0b6f14-8cd1-4721-98e4-871a27855790",
    "1ba023e4-4b53-49e3-9b4b-efdead9b8959"
  ]
}

На выходе признак успешности

true

Обновление запроса на изменение справочников. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateCatalogRequest Kafka Topic "sed_commands"

DeleteCatalogRequests

На входе ID запроса на изменение справочников

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе результат удаления

true

Удаление запроса на изменение справочников по идентификатору.

Команда Путь
sed_deleteCatalogRequests Kafka Topic "sed_commands"

SolveCatalogRequest

На входе атрибуты принятия решения

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "requestStatus": "Declined",
  "rejectionReason": "some reason"
}

На выходе результат удаления

{}

Принятие решения по запросу на изменение справочников.

Команда Путь
sed_solveCatalogRequest Kafka Topic "sed_commands"

ListPublishedServiceCards

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой опубликованной карточки услуги

{
  "items": [
    {
      "id": "8561ac05-dbd4-41ae-b5a4-96122357129b",
      "entityType": "ServiceCardPublish",
      "title": "ServiceCardPublish 8561ac05-dbd4-41ae-b5a4-96122357129b",
      "created": 1716899243976,
      "modified": 1716899277096,
      "version": 2,
      "shortTitle": "ShortMunicipal1",
      "serviceType": "Municipal",
      "administrativeLevel": "Municipal",
      "federalSubject": "Altai",
      "department": "Department",
      "number": "0006372",
      "status": "OnChange",
      "fullTitle": "full",
      "idFrgu1": "frgu1",
      "idFrgu2": "frgu2",
      "municipality": "Get",
      "originalId": null,
      "servicePassportPublish": {"id":"4117ea6c-ba23-430a-ab14-9b58d11aa3eb"},
      "regulation": {"id":"9a303f64-3bff-4343-91db-7fafee206d52"}
    }
  ],
  "total": 1
}

Получение списка опубликованных карточек услуг на изменение справочников с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedServiceCards HTTP POST "/v1/publish/list-cards"

ListPublishedServiceCardsForChange

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов опубликованных карточек услуг, для которых разрешено изменение или архивация

{
  "items": [
    {
      "id": "8561ac05-dbd4-41ae-b5a4-96122357129b",
      "entityType": "ServiceCardPublish",
      "title": "ServiceCardPublish 8561ac05-dbd4-41ae-b5a4-96122357129b",
      "created": 1716899243976,
      "modified": 1716899277096,
      "version": 2,
      "shortTitle": "ShortMunicipal1",
      "serviceType": "Municipal",
      "administrativeLevel": "Municipal",
      "federalSubject": "Altai",
      "department": "Department",
      "number": "0006372",
      "status": "OnChange",
      "fullTitle": "full",
      "idFrgu1": "frgu1",
      "idFrgu2": "frgu2",
      "municipality": "Get",
      "originalId": null,
      "servicePassportPublish": {"id":"4117ea6c-ba23-430a-ab14-9b58d11aa3eb"},
      "regulation": {"id":"9a303f64-3bff-4343-91db-7fafee206d52"}
    }
  ],
  "total": 1
}

Получение списка опубликованных карточек услуг для которых разрешено изменение или архивация

Команда Путь
sed_listPublishedServiceCardsForChange HTTP POST "/v1/publish/list-cards-for-change"

GetPublishedServiceCard

На входе ID опубликованной карточки услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе атрибуты опубликованной карточки услуги

{
  "id": "12afe87c-7cdb-421a-86f4-06ac59c1d2e8",
  "servicePassportPublish": {"id":"1014eb6f-cc89-4d2d-bac5-4e9e9776a8a0"},
  "entityType": "ServiceCardPublish",
  "title": "ServiceCardPublish 12afe87c-7cdb-421a-86f4-06ac59c1d2e8",
  "source": "sed",
  "created": 1716897277143,
  "modified": 1716897451694,
  "version": 3,
  "originalId": null,
  "number": "0006370",
  "status": "Published",
  "serviceType": "Municipal",
  "idFrgu1": "frgu1",
  "idFrgu2": "frgu2",
  "fullTitle": "full",
  "shortTitle": "ShortMunicipal1",
  "administrativeLevel": "Municipal",
  "municipality": "Get",
  "federalSubject": "Altai",
  "department": "Department",
  "provideDepartment": "provide",
  "providingDivisions": [
    "123",
    "567"
  ],
  "providingDivisionsManual": null,
  "isTypical": null,
  "typicalService": "title",
  "actWithProvideAuthority": [
    "act"
  ],
  "invalidationAct": {"id":"16ec128f-d8bf-4d4c-a4d7-52164c7b0f96"}
}

Получение опубликованной карточки услуги по идентификатору.

Команда Путь
sed_getPublishedServiceCard HTTP POST "/v1/publish/get-card"

GetPublishedServiceCardRequests

На входе ID опубликованной карточки услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе запросы разработки и архивации услуги. Типы для request могут быть ServiceRequest, ServiceChangeRequest. Типы для newRequest могут быть ServiceRequest, ServiceChangeRequest, ArchiveShortRequest, ArchiveFullRequest. Типы для archiveRequest могут быть ArchiveShortRequest, ArchiveFullRequest.

{
  "request": {
    "entityType": "ServiceChangeRequest",
    "objectId": "d3797cfe-3e24-4bb9-b4b2-64b8e934e39d"
  },
  "newRequest": null,
  "archiveRequest": {
    "entityType": "ArchiveShortRequest",
    "objectId": "2ba7c59f-5185-4546-ae55-63c497fc826b"
  }
}

Получение списка запросов опубликованной услуги.

Команда Путь
sed_getPublishedServiceCardRequests HTTP POST "/v1/publish/get-card-requests"

GetPublishedServiceCardByRequest

На входе EntityObjectIdentity запроса

{
  "entityType": "ServiceChangeRequest",
  "objectId": "d3797cfe-3e24-4bb9-b4b2-64b8e934e39d"
}

На выходе опциональный ID опубликованной карточки.

"2ba7c59f-5185-4546-ae55-63c497fc826b"

Получение опубликованной услуги по запросу.

Команда Путь
sed_getPublishedServiceCardByRequest HTTP POST "/v1/publish/get-card-by-request"

GetPublishedServicePassport

На входе ID опубликованного паспорта услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе атрибуты опубликованного паспорта услуги

{
  "id": "76931120-cd5b-4b1e-b110-f5bbe63f9084",
  "entityType": "ServicePassportPublish",
  "title": "ServicePassportPublish 76931120-cd5b-4b1e-b110-f5bbe63f9084",
  "source": "sed",
  "created": 1716899048909,
  "modified": 1716899048909,
  "version": 1,
  "originalId": null,
  "lifeSituations": [
    "LifeSituation_1",
    "LifeSituation_2"
  ],
  "topics": [
    "Topic_1"
  ],
  "isPermitting": false,
  "startDate": 1697803088531,
  "endDate": null,
  "isAvailableAroundTheClock": true,
  "isSociallyImportantService": true,
  "maxDeliveryPeriodAmount": 5,
  "maxDeliveryPeriodUnit": "Day",
  "isTerritorialProvided": false,
  "counselingOffices": [
    "office"
  ],
  "isOnlineProvided": true,
  "isMaximumDateSpecified": true,
  "approvingActDetails": null,
  "lostForceActDetails": null,
  "isSpecialProcedureSpecified": true,
  "regulationDate": null,
  "availabilityIndicators": [
    "indicatorAvailability"
  ],
  "qualityIndicators": [
    "indicatorQuality"
  ],
  "premisesRequirements": [
    "requirement"
  ],
  "informingMethods": [
    "method"
  ],
  "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
  "mandatoryServiceCardPublish": [
    "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec"
  ]
}

Получение опубликованного паспорта по идентификатору.

Команда Путь
sed_getPublishedServicePassport HTTP POST "/v1/publish/get-passport"

ListPublishedSubServices

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой опубликованной подуслуги

{
  "items": [
    {
      "id": "012098d3-6504-42c1-bad3-9e4020c927df",
      "entityType": "SubServicePublish",
      "title": "SubServicePublish 012098d3-6504-42c1-bad3-9e4020c927df",
      "source": "sed",
      "created": 1716899048978,
      "modified": 1716899048978,
      "version": 1,
      "originalId": null,
      "number": "0006371-01",
      "idFrgu1": "1",
      "idFrgu2": "2",
      "fullTitle": "title",
      "applicantCategory": [
        "aplCategory3"
      ],
      "representativePossibility": true,
      "preregistrationMethod": [
        "preregistrationMethod"
      ],
      "registryModel": true,
      "isMaxPinTimeProvisionSubservices": true,
      "maxPeriodUnit": "maxPeriodUnit",
      "maxPeriodAmount": 1,
      "isProvidedExtraterritorial": true,
      "hasPreEntry": true,
      "resultTitleTypes": [
        {
          "resultType": "resultType",
          "titleType": [
            "titleType"
          ]
        }
      ],
      "titleType": [
        "titleType"
      ],
      "isRegistryModel": true,
      "registryName": "registryName",
      "hasLimitedResources": true
    }
  ],
  "total": 1
}

Получение списка опубликованных подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedSubServices HTTP POST "/v1/publish/list-sub-services"

GetPublishedSubService

На входе ID опубликованной подуслуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе список атрибутов опубликованной подуслуги

{
  "id": "012098d3-6504-42c1-bad3-9e4020c927df",
  "entityType": "SubServicePublish",
  "title": "SubServicePublish 012098d3-6504-42c1-bad3-9e4020c927df",
  "source": "sed",
  "created": 1716899048978,
  "modified": 1716899048978,
  "version": 1,
  "originalId": null,
  "number": "0006371-01",
  "idFrgu1": "1",
  "idFrgu2": "2",
  "fullTitle": "title",
  "applicantCategory": [
    "aplCategory3"
  ],
  "representativePossibility": true,
  "preregistrationMethod": [
    "preregistrationMethod"
  ],
  "registryModel": true,
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "resultTitleTypes": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "titleType": [
    "titleType"
  ],
  "isRegistryModel": true,
  "registryName": "registryName",
  "hasLimitedResources": true
}

Получение опубликованной подуслуги по идентификатору.

Команда Путь
sed_getPublishedSubService HTTP POST "/v1/publish/get-sub-service"

ListPublishedAdministrativeProcedures

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой опубликованной административной процедуры

{
  "items": [
    {
      "id": "4b17a7d9-33bf-4739-a18f-8869f6d0599f",
      "entityType": "AdministrativeProcedurePublish",
      "title": "AdministrativeProcedurePublish 4b17a7d9-33bf-4739-a18f-8869f6d0599f",
      "source": "sed",
      "created": 1722492412733,
      "modified": 1722492412733,
      "version": 1,
      "originalId": null,
      "administrativeProcedure": "AdministrativeProcedure_1",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "order": 1,
      "proactiveMode": true,
      "proactiveOrder": 1,
      "administrativeActions": [
        "action"
      ],
      "isAffectingDate": false,
      "closeStatus": [
        {
          "id": "fbaa76fb-01db-4e41-9795-b368ddad45d9",
          "title": "CloseStatusPublish fbaa76fb-01db-4e41-9795-b368ddad45d9",
          "created": 1722492413332,
          "modified": 1722492413332,
          "version": 1,
          "originalId": null,
          "closeStatus": "CloseStatus_1",
          "implementationInforming": true
        },
        {
          "id": "a15c25d7-301e-4e08-a138-51067c3090be",
          "title": "CloseStatusPublish a15c25d7-301e-4e08-a138-51067c3090be",
          "created": 1722492413332,
          "modified": 1722492413332,
          "version": 1,
          "originalId": null,
          "closeStatus": "CloseStatus_2",
          "implementationInforming": true
        }
      ]
    }
  ],
  "total": 1
}

Получение списка опубликованных административных процедур с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedAdministrativeProcedures HTTP POST "/v1/publish/list-administrative-procedures"

ListPublishedDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного документа

{
  "items": [
    {
      "id": "dcdd4075-2889-43b9-ad30-e631c114c58d",
      "entityType": "DocumentPublish",
      "title": "DocumentPublish dcdd4075-2889-43b9-ad30-e631c114c58d",
      "source": "sed",
      "created": 1722497835804,
      "modified": 1722497835804,
      "version": 1,
      "originalId": null,
      "order": 1,
      "documentCategory": "text",
      "document": "text",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": null,
      "submissionMethod": [
        {
          "id": "a2f02a70-b382-4723-b3d5-e018df091c9c",
          "title": "SubmissionMethodPublish a2f02a70-b382-4723-b3d5-e018df091c9c",
          "created": 1722497836330,
          "modified": 1722497836330,
          "version": 1,
          "originalId": null,
          "submissionMethod": "text",
          "documentRequirements": [
            "2"
          ]
        },
        {
          "id": "c5906e26-dd42-4c89-96bd-9141c8a934f3",
          "title": "SubmissionMethodPublish c5906e26-dd42-4c89-96bd-9141c8a934f3",
          "created": 1722497836330,
          "modified": 1722497836330,
          "version": 1,
          "originalId": null,
          "submissionMethod": "text",
          "documentRequirements": [
            "2"
          ]
        }
      ]
    }
  ],
  "total": 1
}

Получение списка опубликованных документов с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedDocuments HTTP POST "/v1/publish/list-documents"

ListPublishedInterdepartmentalInteractions

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного межведомственного взаимодействия

{
  "items": [
    {
      "id": "9abb8244-977c-4b20-abcc-c1d1a3a757bc",
      "entityType": "InterdepartmentalInteractionPublish",
      "title": "InterdepartmentalInteractionPublish 9abb8244-977c-4b20-abcc-c1d1a3a757bc",
      "source": "sed",
      "created": 1722497836038,
      "modified": 1722497836038,
      "version": 1,
      "originalId": null,
      "order": 1,
      "interactionType": "secondIN",
      "supplierId": "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec",
      "isSupplierFreeForm": false,
      "serviceTitle": null,
      "typeInformationTitle": null,
      "dataMartTitle": "Межведомственный департамент при создании паспорта",
      "interdepartmentalRequestTitle": "Межведомственный департамент при создании паспорта",
      "deadlineRequestUnit": null,
      "deadlineRequestAmount": null,
      "responseTimeUnit": null,
      "responseTimeAmount": null
    }
  ],
  "total": 1
}

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

Команда Путь
sed_listPublishedInterdepartmentalInteractions HTTP POST "/v1/publish/list-interdepartmental-interactions"

GetPublishedRegulation

На входе ID опубликованного регламента услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты опубликованного регламента услуги

{
  "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "entityType": "Regulation",
  "title": "Regulation 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "source": "sed",
  "created": 1703485846022,
  "modified": 1720443237958,
  "version": 3,
  "originalId": null,
  "authorId": "8ef792f0-aad5-42fe-b167-e196ea2a5cac",
  "prefilledRegulation": null,
  "prefilledRegulationAuthorId": null,
  "regulationProject": null,
  "regulationProjectAuthorId": null,
  "signedRegulation": null,
  "signedRegulationAuthorId": null,
  "electronicSignature": null,
  "electronicSignatureAuthorId": null,
  "customerAssessment": null,
  "customerAssessmentAuthorId": null,
  "regulationGovLink": null,
  "examinationEndDate": null,
  "departmentRegistrationDate": null,
  "departmentRegistrationNumber": "number",
  "governmentRegistrationDate": null,
  "governmentRegistrationNumber": null,
  "regulationCancellationAct": null,
  "regulationCancellationActAuthorId": null,
  "responsibilityDocument": null,
  "responsibilityDocumentAuthorId": null,
  "examinationStartDate": null,
  "examinationReport": null,
  "examinationReportAuthorId": null,
  "disagreementsProtocol": null,
  "disagreementsProtocolAuthorId": null,
  "registrationReport": null,
  "registrationReportAuthorId": null
}

Получение опубликованного регламента услуги по идентификатору.

Команда Путь
sed_getPublishedRegulation HTTP POST "/v1/publish/get-regulation"

ListPublishedApprovalDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного документа согласования

{
  "items": [
    {
      "id": "b8b86339-818e-4b2c-940a-7e8ed61929dd",
      "file": {
        "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
        "name": "checklist.txt",
        "extension": "txt",
        "size": 28,
        "url": "datamodel/ApprovalDocument/d6699e46-6110-4137-b435-4839dc37ef3e",
        "additional": {},
        "created": 1722249306309,
        "modified": 1722249306309,
        "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
      },
      "departmentId": "545da9bb-278b-407e-87a4-a24ed5e5dc0b",
      "routeStageId": "5608c4a9-5c95-4d3d-b331-46e316fbe893",
      "authorId": "00000000-0000-0000-0000-000000000000",
      "created": 1722249306254,
      "modified": 1722249306254,
      "version": 1
    }
  ],
  "total": 1
}

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

Команда Путь
sed_listPublishedApprovalDocuments HTTP POST "/v1/publish/list-approval-documents"

GetPublishedServiceCardTemplate

На входе ID опубликованной карточки шаблона услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты опубликованной карточки шаблона услуги

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "ServiceCardTemplatePublish",
  "title": "ServiceCardTemplatePublish b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
  "created": 1726560094839,
  "modified": 1726560094839,
  "version": 1,
  "originalId": null,
  "number": "0000000558",
  "idFrgu2": "frgu2",
  "status": "Published",
  "serviceType": "Municipal",
  "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
  "typicalService": "title",
  "administrativeLevel": "Regional",
  "administrativeProvisionLevel": "level",
  "powerType": "power",
  "transmittedPowerType": "transim",
  "actWithProvideAuthority": [
    "act"
  ]
}

Получение опубликованной карточки шаблона услуги по идентификатору.

Команда Путь
sed_getPublishedServiceCardTemplate HTTP POST "/v1/publish-template/get-card"

GetPublishedServicePassportTemplate

На входе ID опубликованного шаблона паспорта услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе атрибуты опубликованного шаблона паспорта услуги

{
  "id": "9421d3f4-c691-4063-80b3-03540e4f30a4",
  "entityType": "ServicePassportTemplatePublish",
  "title": "ServicePassportTemplatePublish 9421d3f4-c691-4063-80b3-03540e4f30a4",
  "created": 1727177444783,
  "modified": 1727177444783,
  "version": 1,
  "originalId": null,
  "status": "InterdepartmentalApproval",
  "lifeSituations": [
    "LifeSituation_1",
    "LifeSituation_2"
  ],
  "topics": [
    "Topic_1"
  ],
  "isPermitting": false,
  "isAvailableAroundTheClock": true,
  "isSociallyImportantService": true,
  "maxDeliveryPeriodAmount": 6,
  "maxDeliveryPeriodUnit": "Month",
  "isOnlineProvided": true,
  "isMaximumDateSpecified": true,
  "availabilityIndicators": [
    "indicatorAvailability"
  ],
  "qualityIndicators": [
    "indicatorQuality"
  ],
  "premisesRequirements": [
    "requirement"
  ],
  "informingMethods": [
    "method"
  ],
  "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
  "document": [
    {
      "id": "879d76a8-03c7-469e-b833-ba85624cea10",
      "title": "DocumentTemplatePublish 879d76a8-03c7-469e-b833-ba85624cea10",
      "created": 1727177445058,
      "modified": 1727177445058,
      "originalId": null,
      "documentCategory": "Category",
      "document": "document",
      "isMandatory": false,
      "approvedByRegulations": false
    },
    {
      "id": "8e9afff9-2b12-4da2-ac8c-2c1e8cf87771",
      "title": "DocumentTemplatePublish 8e9afff9-2b12-4da2-ac8c-2c1e8cf87771",
      "created": 1727177445058,
      "modified": 1727177445058,
      "originalId": null,
      "documentCategory": "Category",
      "document": "document",
      "isMandatory": false,
      "approvedByRegulations": false
    }
  ],
  "mandatoryServiceCardPublish": [
    "aa20d88d-d278-4ef6-a2dd-0c1d7bd9afb2",
    "d502bc4d-16d9-42c1-af6e-5c135cb40671"
  ]
}

Получение опубликованного паспорта по идентификатору.

Команда Путь
sed_getPublishedServicePassportTemplate HTTP POST "/v1/publish-template/get-passport"

GetPublishedSubServiceTemplate

На входе ID опубликованного шаблона подуслуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе список атрибутов опубликованного шаблона подуслуги

{
  "id": "012098d3-6504-42c1-bad3-9e4020c927df",
  "entityType": "SubServiceTemplatePublish",
  "title": "SubServiceTemplatePublish 012098d3-6504-42c1-bad3-9e4020c927df",
  "source": "sed",
  "created": 1716899048978,
  "modified": 1716899048978,
  "version": 1,
  "originalId": null,
  "number": "0006371-01",
  "fullTitle": "title",
  "applicantCategory": [
    "aplCategory3"
  ],
  "representativePossibility": true,
  "preregistrationMethod": [
    "preregistrationMethod"
  ],
  "registryModel": true,
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "resultTitleTypes": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "titleType": [
    "titleType"
  ],
  "isRegistryModel": true,
  "hasLimitedResources": true
}

Получение опубликованного шаблона подуслуги по идентификатору.

Команда Путь
sed_getPublishedSubServiceTemplate HTTP POST "/v1/publish-template/get-sub-service"

ListPublishedAdministrativeProcedureTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного шаблона административной процедуры

{
  "items": [
    {
      "id": "4b17a7d9-33bf-4739-a18f-8869f6d0599f",
      "entityType": "AdministrativeProcedureTemplatePublish",
      "title": "AdministrativeProcedureTemplatePublish 4b17a7d9-33bf-4739-a18f-8869f6d0599f",
      "source": "sed",
      "created": 1722492412733,
      "modified": 1722492412733,
      "version": 1,
      "originalId": null,
      "administrativeProcedure": "AdministrativeProcedure_1",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "order": 1,
      "proactiveMode": true,
      "proactiveOrder": 1,
      "administrativeActions": [
        "action"
      ],
      "isAffectingDate": false,
      "closeStatus": [
        {
          "id": "fbaa76fb-01db-4e41-9795-b368ddad45d9",
          "title": "CloseStatusTemplatePublish fbaa76fb-01db-4e41-9795-b368ddad45d9",
          "created": 1722492413332,
          "modified": 1722492413332,
          "version": 1,
          "originalId": null,
          "closeStatus": "CloseStatus_1",
          "implementationInforming": true
        },
        {
          "id": "a15c25d7-301e-4e08-a138-51067c3090be",
          "title": "CloseStatusTemplatePublish a15c25d7-301e-4e08-a138-51067c3090be",
          "created": 1722492413332,
          "modified": 1722492413332,
          "version": 1,
          "originalId": null,
          "closeStatus": "CloseStatus_2",
          "implementationInforming": true
        }
      ]
    }
  ],
  "total": 1
}

Получение списка опубликованных шаблонов административных процедур с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedAdministrativeProcedureTemplates HTTP POST "/v1/publish-template/list-administrative-procedures"

CheckCommentResolution

На входе ID запроса

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе пустое тело или ошибки ResolutionRequiredError при отсутствии резолюций на комментарии к запросу

{}

Проверка резолюций.

Команда Путь
sed_checkCommentResolution HTTP POST "/v1/check-comment-resolution/check"

GetRegulation

На входе ID регламента услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты регламента услуги

{
  "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "entityType": "Regulation",
  "title": "Regulation 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "source": "sed",
  "created": 1703485846022,
  "modified": 1720443237958,
  "version": 3,
  "originalId": null,
  "authorId": "8ef792f0-aad5-42fe-b167-e196ea2a5cac",
  "prefilledRegulation": null,
  "prefilledRegulationAuthorId": null,
  "regulationProject": null,
  "regulationProjectAuthorId": null,
  "signedRegulation": null,
  "signedRegulationAuthorId": null,
  "electronicSignature": null,
  "electronicSignatureAuthorId": null,
  "customerAssessment": null,
  "customerAssessmentAuthorId": null,
  "regulationGovLink": null,
  "examinationEndDate": null,
  "departmentRegistrationDate": null,
  "departmentRegistrationNumber": "number",
  "governmentRegistrationDate": null,
  "governmentRegistrationNumber": null,
  "regulationCancellationAct": null,
  "regulationCancellationActAuthorId": null,
  "responsibilityDocument": null,
  "responsibilityDocumentAuthorId": null,
  "examinationStartDate": null,
  "examinationReport": null,
  "examinationReportAuthorId": null,
  "disagreementsProtocol": null,
  "disagreementsProtocolAuthorId": null,
  "registrationReport": null,
  "registrationReportAuthorId": null
}

Получение регламента услуги по идентификатору.

Команда Путь
sed_getRegulation HTTP POST "/v1/regulation/get"

ListRegulations

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого регламента услуги

{
  "items": [
    {
      "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "entityType": "Regulation",
      "title": "Regulation 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "source": "sed",
      "created": 1703485846022,
      "modified": 1720443237958,
      "version": 3,
      "originalId": null,
      "authorId": "8ef792f0-aad5-42fe-b167-e196ea2a5cac",
      "prefilledRegulation": null,
      "prefilledRegulationAuthorId": null,
      "regulationProject": null,
      "regulationProjectAuthorId": null,
      "signedRegulation": null,
      "signedRegulationAuthorId": null,
      "electronicSignature": null,
      "electronicSignatureAuthorId": null,
      "customerAssessment": null,
      "customerAssessmentAuthorId": null,
      "regulationGovLink": null,
      "examinationEndDate": null,
      "departmentRegistrationDate": null,
      "departmentRegistrationNumber": "number",
      "governmentRegistrationDate": null,
      "governmentRegistrationNumber": null,
      "regulationCancellationAct": null,
      "regulationCancellationActAuthorId": null,
      "responsibilityDocument": null,
      "responsibilityDocumentAuthorId": null,
      "examinationStartDate": null,
      "examinationReport": null,
      "examinationReportAuthorId": null,
      "disagreementsProtocol": null,
      "disagreementsProtocolAuthorId": null,
      "registrationReport": null,
      "registrationReportAuthorId": null
    }
  ],
  "total": 1
}

Получение списка регламентов услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listRegulations HTTP POST "/v1/regulation/list"

UpdateRegulation

На входе необходимые для обновления атрибуты регламента услуги, а также ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "governmentRegistrationNumber": "10"
  }
}

На выходе признак успешности

true

Обновление регламента услуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateRegulation Kafka Topic "sed_commands"

UpdateGovernmentRegistration

На входе необходимые для обновления атрибуты гос. регистрации

{
  "id": "0f63c0e0-c45b-4757-92fd-89da8d3c8572",
  "version": 1,
  "governmentRegistrationDate": 35,
  "governmentRegistrationNumber": "number"
}

На выходе признак успешности

true

Обновление гос. регистрации регламента услуги.

Команда Путь Action ResourceType ResourceId
sed_updateGovernmentRegistration Kafka Topic "sed_commands" UpdateGovernmentRegistration Regulation id

UpdateExaminationReport

На входе ID, версия и файл

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "file": {
    "fileId": "8f730a01-65ed-4864-af48-415f8edcc985"
  }
}

На выходе признак успешности

true

Загрузка экспертизы уполномоченного органа.

Команда Путь
sed_updateExaminationReport Kafka Topic "sed_commands"

DeleteExaminationReport

На входе ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1
}

На выходе признак успешности

true

Удаление экспертизы уполномоченного органа.

Команда Путь
sed_deleteExaminationReport Kafka Topic "sed_commands"

UpdateDigitalExaminationReport

На входе ID, версия и файл

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "file": {
    "fileId": "8f730a01-65ed-4864-af48-415f8edcc985"
  }
}

На выходе признак успешности

true

Загрузка экспертизы уполномоченного Минцифры.

Команда Путь
sed_updateDigitalExaminationReport Kafka Topic "sed_commands"

DeleteDigitalExaminationReport

На входе ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1
}

На выходе признак успешности

true

Удаление экспертизы уполномоченного Минцифры.

Команда Путь
sed_deleteDigitalExaminationReport Kafka Topic "sed_commands"

DeleteRegulation

На входе ID регламента услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление регламента услуги по идентификатору.

Команда Путь
sed_deleteRegulation Kafka Topic "sed_commands"

SendSmevRegulationRequest

На входе ID регламента услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе пустое тело ответа

Отправляет запрос в СМЭВ для получения информации об антикоррупционной экспертизе из Regulation.

Команда Путь
sed_sendRegulationSmevRequest Kafka Topic "sed_commands"

CreateRegulationReport

На входе ID услуги

"d6699e46-6110-4137-b435-4839dc37ef3e"

На выходе ссылка на сформированный файл

"report/cebf6086-ef90-4102-b468-4a324c1df603"

Заполнение шаблона регламента данными сервиса

Команда Путь
sed_createRegulationReport Kafka Topic "sed_commands"

CreateRegulationTemplate

На входе id файла во временном бакете

"32859e2e-8b92-4816-b043-dd33b6484936"

На выходе результат выполнения

true

Создание или обновление шаблона регламента.

Команда Путь
sed_createRegulationTemplate Kafka Topic "sed_commands"

GetRegulationTemplate

На входе пустое тело

{}

На выходе информация о шаблоне

{
  "file": {
    "fileId": "32859e2e-8b92-4816-b043-dd33b6484936",
    "name": "checklist.txt",
    "extension": "txt",
    "size": 28,
    "url": "datamodel/RegulationTemplate/32859e2e-8b92-4816-b043-dd33b6484936",
    "additional": {},
    "created": 1722933055104,
    "modified": 1722933055104,
    "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
  }
}

Получение шаблона регламента.

Команда Путь
sed_getRegulationTemplate HTTP POST "/v1/regulationTemplate/get"

SubmitRegulationReport

На входе ID услуги и измененный файл регламента

{
  "requestId": "e51054f7-bdbc-4f9a-af1d-53270fc0a02a",
  "report": "temp/f67f3370-0753-437d-a758-edb797d43c09"
}

Если документ прошел валидацию - на выходе ссылка на файл

"datamodel/Regulation/f67f3370-0753-437d-a758-edb797d43c09"

Если документ не прошел валидацию, то возвращается ошибка BadRequest и массив недостающих строк

{
  "missingStrings": [
    "Такое-то название"
  ]
}

Прикрепление файла регламента к услуге после ручного редактирования пользователем

Команда Путь
sed_submitRegulationReport Kafka Topic "sed_commands"

SubmitRegisteredRegulation

На входе ID регламента

"e51054f7-bdbc-4f9a-af1d-53270fc0a02a"

На выходе ссылка на файл

"datamodel/Regulation/f67f3370-0753-437d-a758-edb797d43c09"

Регистрация регламента с проставлением штампа

Команда Путь
sed_submitRegisteredRegulation Kafka Topic "sed_commands"

CreateResponsibilityDocument

На входе ResponsibilityDocumentCreateDTO

{
  "regulationId": "e9c3894d-3c31-4f38-be97-bdb5451f5590",
  "file": {
    "fileId": "baaa75ea-84cb-4f82-8eb2-c857d057cbaf"
  }
}

На выходе ID документа о возложении обязанностей

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового документа о возложении обязанностей.

Команда Путь Action ResourceType ResourceId
sed_createResponsibilityDocument Kafka Topic "sed_commands" CreateResponsibilityDocument Regulation regulationId

GetResponsibilityDocument

На входе ID документа о возложении обязанностей

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты документа о возложении обязанностей

{
  "id": "c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
  "entityType": "ResponsibilityDocument",
  "title": "ResponsibilityDocument c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
  "created": 1732603266505,
  "modified": 1732603266505,
  "version": 1,
  "originalId": "1ec7dda9-6d3d-4cdb-a4c6-b42787aa7e79",
  "file": {
    "fileId": "1f4f4ed8-e829-4784-bc76-52f21029d2bc",
    "name": "document.docx",
    "extension": "xlsx",
    "size": 9778,
    "url": "datamodel/ResponsibilityDocument/1f4f4ed8-e829-4784-bc76-52f21029d2bc",
    "additional": {},
    "created": 1732603266601,
    "modified": 1732603266601,
    "md5": "7DD8AAC64FAF686BF262A141B5BA31FA"
  },
  "authorId": "182c0f55-b43f-4e62-874e-ed8743206d51",
  "departmentId": "abd66f50-46f0-42a1-8df5-6781df626593"
}

Получение документа о возложении обязанностей по идентификатору.

Команда Путь
sed_getResponsibilityDocument HTTP POST "/v1/responsibility-document/get"

ListResponsibilityDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого документа о возложении обязанностей

{
  "items": [
    {
      "id": "c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
      "entityType": "ResponsibilityDocument",
      "title": "ResponsibilityDocument c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
      "created": 1732603266505,
      "modified": 1732603266505,
      "version": 1,
      "originalId": "1ec7dda9-6d3d-4cdb-a4c6-b42787aa7e79",
      "file": {
        "fileId": "1f4f4ed8-e829-4784-bc76-52f21029d2bc",
        "name": "document.docx",
        "extension": "xlsx",
        "size": 9778,
        "url": "datamodel/ResponsibilityDocument/1f4f4ed8-e829-4784-bc76-52f21029d2bc",
        "additional": {},
        "created": 1732603266601,
        "modified": 1732603266601,
        "md5": "7DD8AAC64FAF686BF262A141B5BA31FA"
      },
      "authorId": "182c0f55-b43f-4e62-874e-ed8743206d51",
      "departmentId": "abd66f50-46f0-42a1-8df5-6781df626593"
    }
  ],
  "total": 1
}

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

Команда Путь
sed_listResponsibilityDocuments HTTP POST "/v1/responsibility-document/list"

DeleteResponsibilityDocument

На входе ID документа о возложении обязанностей

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе результат удаления

true

Удаление документа о возложении обязанностей по идентификатору.

Команда Путь Action ResourceType ResourceId
sed_deleteResponsibilityDocument Kafka Topic "sed_commands" DeleteResponsibilityDocument ResponsibilityDocument id

CreateInterdepartmentalInteractionBatch

На входе атрибуты для создания Межведомственных Взаимодействий

[
  {
    "order": 1,
    "interactionType": "SIEI4",
    "supplierId": "4a1b9b4a-65c3-48e5-90aa-aff5364ba0ec",
    "isSupplierFreeForm": false,
    "serviceTitle": null,
    "typeInformationTitle": null,
    "dataMartTitle": "Межведомственный департамент при создании паспорта",
    "interdepartmentalRequestTitle": "Межведомственный департамент при создании паспорта",
    "deadlineRequestUnit": null,
    "deadlineRequestAmount": null,
    "responseTimeUnit": null,
    "responseTimeAmount": null
  }
]

На выходе список ID межведомственных взаимодействий

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

Создание списка новых Межведомственного взаимодействия.

Команда Путь
sed_createInterdepartmentalInteractionBatch Kafka Topic "sed_commands"

UpdateInterdepartmentalInteractionBatch

На входе необходимые для обновления атрибуты Межведомственного взаимодействия, а также ID и версия

[
  {
    "id": "8f730a01-65ed-4864-af48-415f8edcc985",
    "version": 1,
    "data": {
      "interactionType": "type"
    }
  }
]

На выходе пустое тело ответа


Обновление межведомственного взаимодействия. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateInterdepartmentalInteractionBatch Kafka Topic "sed_commands"

DeleteInterdepartmentalInteractionBatch

На входе список ID Межведомственных взаимодействий

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе пустое тело ответа

Удаление списка Межведомственных взаимодействий по идентификаторам

Команда Путь
sed_deleteInterdepartmentalInteractionBatch Kafka Topic "sed_commands"

GetInterdepartmentalInteraction

На входе ID Межведомственного взаимодействия

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты Межведомственного взаимодействия

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "InterdepartmentalInteraction",
  "title": "InterdepartmentalInteraction 261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "created": 1703485846022,
  "modified": 1720443237958,
  "order": 1,
  "interactionType": "null",
  "supplierId": null,
  "isSupplierFreeForm": false,
  "serviceTitle": null,
  "typeInformationTitle": null,
  "dataMartTitle": null,
  "interdepartmentalRequestTitle": null,
  "deadlineRequestUnit": null,
  "deadlineRequestAmount": null,
  "responseTimeUnit": null,
  "responseTimeAmount": null,
  "originalId": "261637f1-4981-4ddb-ba66-1a6d98e6fc30"
}

Получение Межведомственного взаимодействия по идентификатору.

Команда Путь
sed_getInterdepartmentalInteraction HTTP POST "/v1/service-interdepartmental-interaction/get"

ListInterdepartmentalInteraction

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого регламента услуги

{
  "items": [
    {
      "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "entityType": "InterdepartmentalInteraction",
      "title": "InterdepartmentalInteraction 261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "created": 1703485846022,
      "modified": 1720443237958,
      "order": 1,
      "interactionType": "null",
      "supplierId": null,
      "isSupplierFreeForm": false,
      "serviceTitle": null,
      "typeInformationTitle": null,
      "dataMartTitle": null,
      "interdepartmentalRequestTitle": null,
      "deadlineRequestUnit": null,
      "deadlineRequestAmount": null,
      "responseTimeUnit": null,
      "responseTimeAmount": null,
      "originalId": "261637f1-4981-4ddb-ba66-1a6d98e6fc30"
    }
  ],
  "total": 1
}

Получение списка Межведомственных взаимодействий.

Команда Путь
sed_listInterdepartmentalInteractions HTTP POST "/v1/service-interdepartmental-interaction/list"

ListAvailableInterdepartmentalInteractions

На входе ID паспорта и название ведомства для фильтрации

{
  "passportId": "068cecd5-43f6-460c-bd0e-eb0c10f03c2b",
  "name": "ведомство"
}

На выходе список доступных ведомств

[
  {
    "name": "Ведомство",
    "supplierId": null
  },
  {
    "name": "Минспорт России",
    "supplierId": "2557336e-c1be-4538-a4d3-e95088d097e5"
  },
  {
    "name": "Росимущество",
    "supplierId": "1533e4b3-d147-42b8-808e-38426b99449d"
  }
]

Получение списка доступных Межведомственных взаимодействий.

Команда Путь
sed_listAvailableInterdepartmentalInteractions HTTP POST "/v1/service-interdepartmental-interaction/list-available"

CreateVerificationDocument

На входе VerificationDocumentCreateDTO

{
  "regulationId": "e9c3894d-3c31-4f38-be97-bdb5451f5590",
  "file": {
    "fileId": "baaa75ea-84cb-4f82-8eb2-c857d057cbaf"
  }
}

На выходе ID документа о согласовании

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового документа о согласовании.

Команда Путь Action ResourceType ResourceId
sed_createVerificationDocument Kafka Topic "sed_commands" UpdateRegulation Regulation regulationId

GetVerificationDocument

На входе ID документа о согласовании

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты документа о согласовании

{
  "id": "c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
  "entityType": "VerificationDocument",
  "title": "VerificationDocument c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
  "created": 1732603266505,
  "modified": 1732603266505,
  "version": 1,
  "originalId": "1ec7dda9-6d3d-4cdb-a4c6-b42787aa7e79",
  "file": {
    "fileId": "1f4f4ed8-e829-4784-bc76-52f21029d2bc",
    "name": "document.docx",
    "extension": "xlsx",
    "size": 9778,
    "url": "datamodel/VerificationDocument/1f4f4ed8-e829-4784-bc76-52f21029d2bc",
    "additional": {},
    "created": 1732603266601,
    "modified": 1732603266601,
    "md5": "7DD8AAC64FAF686BF262A141B5BA31FA"
  },
  "authorId": "182c0f55-b43f-4e62-874e-ed8743206d51"
}

Получение документа о согласовании по идентификатору.

Команда Путь
sed_getVerificationDocument HTTP POST "/v1/verification-document/get"

ListVerificationDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого документа о согласовании

{
  "items": [
    {
      "id": "c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
      "entityType": "VerificationDocument",
      "title": "VerificationDocument c0c976ae-37e0-48a3-a1e9-36b2eafc293d",
      "created": 1732603266505,
      "modified": 1732603266505,
      "version": 1,
      "originalId": "1ec7dda9-6d3d-4cdb-a4c6-b42787aa7e79",
      "file": {
        "fileId": "1f4f4ed8-e829-4784-bc76-52f21029d2bc",
        "name": "document.docx",
        "extension": "xlsx",
        "size": 9778,
        "url": "datamodel/VerificationDocument/1f4f4ed8-e829-4784-bc76-52f21029d2bc",
        "additional": {},
        "created": 1732603266601,
        "modified": 1732603266601,
        "md5": "7DD8AAC64FAF686BF262A141B5BA31FA"
      },
      "authorId": "182c0f55-b43f-4e62-874e-ed8743206d51"
    }
  ],
  "total": 1
}

Получение списка документов о согласовании с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listVerificationDocuments HTTP POST "/v1/verification-document/list"

DeleteVerificationDocument

На входе ID документа о согласовании

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе результат удаления

true

Удаление документа о согласовании по идентификатору.

Команда Путь Action ResourceType ResourceId
sed_deleteVerificationDocument Kafka Topic "sed_commands" UpdateRegulation VerificationDocument id

CreateApprovalDocument

На входе аттрибуты для создания документа согласования

{
  "file": {
    "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e"
  },
  "departmentId": "545da9bb-278b-407e-87a4-a24ed5e5dc0b",
  "serviceRequestId": "5608c4a9-5c95-4d3d-b331-46e316fbe893"
}

На выходе ID документа согласования

"b8b86339-818e-4b2c-940a-7e8ed61929dd"

Создание нового документа согласования и его прикрепление к текущей стадии.

Команда Путь
sed_createApprovalDocument Kafka Topic "sed_commands"

UpdateApprovalDocument

На входе необходимые для обновления атрибуты, а также ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "departmentId": "8f730a01-65ed-4864-af48-415f8edcc986"
  }
}

На выходе пустое тело ответа


Обновление документа согласования. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateApprovalDocument Kafka Topic "sed_commands"

DeleteApprovalDocument

На входе ID документа согласования

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление документа согласования по идентификатору.

Команда Путь
sed_deleteApprovalDocument Kafka Topic "sed_commands"

ListApprovalDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого документа согласования

{
  "items": [
    {
      "id": "b8b86339-818e-4b2c-940a-7e8ed61929dd",
      "file": {
        "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
        "name": "checklist.txt",
        "extension": "txt",
        "size": 28,
        "url": "datamodel/ApprovalDocument/d6699e46-6110-4137-b435-4839dc37ef3e",
        "additional": {},
        "created": 1722249306309,
        "modified": 1722249306309,
        "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
      },
      "departmentId": "545da9bb-278b-407e-87a4-a24ed5e5dc0b",
      "routeStageId": "5608c4a9-5c95-4d3d-b331-46e316fbe893",
      "authorId": "00000000-0000-0000-0000-000000000000",
      "created": 1722249306254,
      "modified": 1722249306254,
      "version": 1
    }
  ],
  "total": 1
}

Получение списка документов согласования с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listApprovalDocuments HTTP POST "/v1/approval-document/list"

GetApprovalDocument

На входе ID документа согласования

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты документа согласования

{
  "id": "b8b86339-818e-4b2c-940a-7e8ed61929dd",
  "file": {
    "fileId": "d6699e46-6110-4137-b435-4839dc37ef3e",
    "name": "checklist.txt",
    "extension": "txt",
    "size": 28,
    "url": "datamodel/ApprovalDocument/d6699e46-6110-4137-b435-4839dc37ef3e",
    "additional": {},
    "created": 1722249306309,
    "modified": 1722249306309,
    "md5": "CD358CE8F6D3C4D6D5124C77809E5C4E"
  },
  "departmentId": "545da9bb-278b-407e-87a4-a24ed5e5dc0b",
  "routeStageId": "5608c4a9-5c95-4d3d-b331-46e316fbe893",
  "authorId": "00000000-0000-0000-0000-000000000000",
  "created": 1722249306254,
  "modified": 1722249306254,
  "version": 1
}

Получение документа согласования по идентификатору.

Команда Путь
sed_getApprovalDocument HTTP POST "/v1/approval-document/get"

CreateDocumentBatch

На входе атрибуты для создания документа и его способов подачи

[
  {
    "order": 1,
    "documentCategory": "Category",
    "document": "Document",
    "isMandatory": false,
    "approvedByRegulations": false,
    "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
    "submissionMethodsCreate": [
      {
        "submissionMethod": "2",
        "documentRequirements": ["2"]
      },
      {
        "submissionMethod": "1",
        "documentRequirements": ["1"]
      }
    ]
  }
]

На выходе список ID документов

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

Создание списка новых Документов.

Команда Путь
sed_createDocumentBatch Kafka Topic "sed_commands"

UpdateDocumentBatch

На входе необходимые для обновления атрибуты документов, а также ID и версия

[
  {
    "documentUpdate": {
      "id": "8f730a01-65ed-4864-af48-415f8edcc985",
      "version": 1,
      "data": {
        "isMandatory": true
      }
    },
    "submissionMethodCreate": [
      {
        "submissionMethod": "2",
        "documentRequirements": ["2"]
      }
    ],
    "submissionMethodUpdate": [
      {
        "id": "8f730a01-65ed-4864-af48-415f8edcc985",
        "version": 1,
        "data": {
          "documentRequirements": ["1"]
        }
      }
    ],
    "submissionMethodDelete": [
      "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
    ]
  }
]

На выходе пустое тело ответа


Обновление списка документов. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateDocumentBatch Kafka Topic "sed_commands"

DeleteDocumentBatch

На входе список ID Документов

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе пустое тело ответа

Удаление списка Документов по идентификаторам

Команда Путь
sed_deleteDocumentBatch Kafka Topic "sed_commands"

GetDocument

На входе ID документа

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты документа

{
  "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "entityType": "Document",
  "title": "Document 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "source": "sed",
  "created": 1703485846022,
  "modified": 1720443237958,
  "version": 3,
  "originalId": null,
  "order": 1,
  "documentCategory": "Category",
  "document": "Document",
  "isMandatory": false,
  "approvedByRegulations": false,
  "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "submissionMethod": [
    {
      "id": "ae2ea221-a6bb-49d6-b293-1895b084aca6",
      "title": "SubmissionMethod ae2ea221-a6bb-49d6-b293-1895b084aca6",
      "created": 1721110958030,
      "modified": 1721110958030,
      "version": 1,
      "originalId": "4da21337-e3ad-4272-b6d0-005545bdfbb3",
      "submissionMethod": "2",
      "documentRequirements": ["2"]
    },
    {
      "id": "7726af59-4bfe-4097-b192-c38407f219ed",
      "title": "SubmissionMethod 7726af59-4bfe-4097-b192-c38407f219ed",
      "created": 1721110958058,
      "modified": 1721110958058,
      "version": 1,
      "originalId": "3da21337-e3ad-4272-b6d0-005545bdfbb3",
      "submissionMethod": "1",
      "documentRequirements": ["1"]
    }
  ]
}

Получение документа по идентификатору.

Команда Путь
sed_getDocument HTTP POST "/v1/document/get"

ListDocuments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого регламента услуги

{
  "items": [
    {
      "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "entityType": "Document",
      "title": "Document 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "source": "sed",
      "created": 1703485846022,
      "modified": 1720443237958,
      "version": 3,
      "originalId": null,
      "order": 1,
      "documentCategory": "Category",
      "document": "Document",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "submissionMethod": [
        {
          "id": "ae2ea221-a6bb-49d6-b293-1895b084aca6",
          "title": "SubmissionMethod ae2ea221-a6bb-49d6-b293-1895b084aca6",
          "created": 1721110958030,
          "modified": 1721110958030,
          "version": 1,
          "originalId": "4da21337-e3ad-4272-b6d0-005545bdfbb3",
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        },
        {
          "id": "7726af59-4bfe-4097-b192-c38407f219ed",
          "title": "SubmissionMethod 7726af59-4bfe-4097-b192-c38407f219ed",
          "created": 1721110958058,
          "modified": 1721110958058,
          "version": 1,
          "originalId": "3da21337-e3ad-4272-b6d0-005545bdfbb3",
          "submissionMethod": "1",
          "documentRequirements": ["1"]
        }
      ]
    }
  ],
  "total": 1
}

Получение списка документов с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listDocuments HTTP POST "/v1/regulation/list"

CreateApplicationMethodBatch

На входе список атрибутов способов подачи заявления

[
  {
    "submissionMethod": "653e3b2f4a1fbd3a2cdef789",
    "maxDeliveryPeriodAmount": 10,
    "maxDeliveryPeriodUnit": "WorkDay",
    "isMaxPeriodAmountAuto": true,
    "identificationMethod": "Passport",
    "isProfilingMethod": false,
    "order": 1
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание способов подачи заявления.

Команда Путь Тип сущности
sed_createApplicationMethodBatch Kafka Topic "sed_commands" ApplicationMethod
sed_createApplicationMethodPublishBatch Kafka Topic "sed_commands" ApplicationMethodPublish

UpdateApplicationMethodBatch

На входе список атрибутов способов подачи заявления, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "submissionMethod": "653e3b2f4a1fbd3a2cdef789"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление способов подачи заявления. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateApplicationMethodBatch Kafka Topic "sed_commands" ApplicationMethod

DeleteApplicationMethodBatch

На входе список UUID сущностей

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление платежей. Внутренняя команда, недоступна из API Gateway

Команда Путь Тип сущности
sed_deleteApplicationMethodBatch Kafka Topic "sed_commands" ApplicationMethod
sed_deleteApplicationMethodPublishBatch Kafka Topic "sed_commands" ApplicationMethodPublish

ListApplicationMethods

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждого способа

{
  "items": [
    {
      "id": "a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91",
      "originalId": "f8c3a0d5-e2d1-445f-a9b9-b2c4d0e6b123",
      "entityType": "ObtainWay",
      "created": 1727381278,
      "modified": 1727385278,
      "version": 3,
      "obtainWay": [
        "653e3b2f4a1fbd3a2cdef789"
      ],
      "maxDeliveryPeriodAmount": 10,
      "maxDeliveryPeriodUnit": "WorkDay",
      "order": 1
    }
  ],
  "total": 1
} 

CreatePaymentBatch

На входе список атрибутов платежей

[
  {
    "fee": 1500,
    "isFreeForm": false,
    "feeCurrency": "Ruble",
    "order": 1
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание платежей.

Команда Путь Тип сущности
sed_createPaymentBatch Kafka Topic "sed_commands" Payment
sed_createPaymentPublishBatch Kafka Topic "sed_commands" PaymentPublish

UpdatePaymentBatch

На входе список атрибутов платежей, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "fee": 230
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление списка платежей. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updatePaymentBatch Kafka Topic "sed_commands" Payment

DeletePaymentBatch

На входе список UUID сущностей платежей

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление платежей

Команда Путь Тип сущности
sed_deletePaymentBatch Kafka Topic "sed_commands" Payment
sed_deletePaymentPublishBatch Kafka Topic "sed_commands" PaymentPublish

GetPayment

На входе UUID платежа

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты платежа

{
  "status": "Completed",
  "timestamp": 1743061121283,
  "value": {
    "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
    "originalId": null,
    "entityType": "Payment",
    "created": 1742884065123,
    "modified": 1742884164749,
    "version": 2,
    "feeType": null,
    "fee": 230,
    "isFreeForm": false,
    "feeFreeForm": null,
    "feeCurrency": "Ruble",
    "receivingFeeProcedure": null,
    "feeMethod": null,
    "order": 1
  }
}

Получение платежа по ID

Команда Путь Тип сущности
sed_getPayment HTTP POST "/v1/payment/get" Payment
sed_getPublishedPayment HTTP POST "/v1/publish/get-payment" PaymentPublish

ListPayments

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждого платежа

{
  "items": [
    {
      "id": "8d1443a1-2b30-41aa-997f-edb28f71931b",
      "originalId": null,
      "entityType": "Payment",
      "created": 1742900726752,
      "modified": 1742900726752,
      "version": 1,
      "feeType": null,
      "fee": 200,
      "isFreeForm": false,
      "feeFreeForm": null,
      "feeCurrency": "Ruble",
      "receivingFeeProcedure": null,
      "feeMethod": null,
      "order": 1
    }
  ],
  "total": 1
} 

Получение списка платежа с фильтрацией, сортировкой и пагинацией

Команда Путь Тип сущности
sed_listPayments HTTP POST "/v1/payment/list" Payment
sed_listPublishedPayments HTTP POST "/v1/publish/list-payments" PaymentPublish

GetObtainWay

На входе id способа

"a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91"

На выходе список атрибутов каждого способа

{
  "id": "a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91",
  "originalId": "f8c3a0d5-e2d1-445f-a9b9-b2c4d0e6b123",
  "entityType": "ObtainWay",
  "created": 1727381278,
  "modified": 1727385278,
  "version": 3,
  "obtainWay": [
    "653e3b2f4a1fbd3a2cdef789"
  ],
  "maxDeliveryPeriodAmount": 10,
  "maxDeliveryPeriodUnit": "WorkDay",
  "order": 1
}

Получение способа получения результата.

Команда Путь
sed_getObtainWay HTTP POST "/v1/obtain-way/get"

ListObtainWays

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждого способа

{
  "items": [
    {
      "id": "a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91",
      "originalId": "f8c3a0d5-e2d1-445f-a9b9-b2c4d0e6b123",
      "entityType": "ApplicationMethod",
      "created": 1727381278,
      "modified": 1727385278,
      "version": 3,
      "submissionMethod": "653e3b2f4a1fbd3a2cdef789",
      "maxDeliveryPeriodAmount": 10,
      "maxDeliveryPeriodUnit": "WorkDay",
      "isMaxPeriodAmountAuto": true,
      "identificationMethod": "Passport",
      "isProfilingMethod": false,
      "order": 1
    }
  ],
  "total": 1
} 

Получение списка способ получения результата с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listObtainWays HTTP POST "/v1/obtain-way/list"

CreateRejectReasonBatch

На входе список атрибутов причин отказа

[
  {
    "order": 2,
    "originalId": "6195400c-9728-4a0c-a7c5-f2f4bc38d5d5",
    "solutionType": "SolutionType_001",
    "rejectionReason": "RejectionReason_001"
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание причин отказа.

Команда Путь Тип сущности
sed_createRejectReasonBatch Kafka Topic "sed_commands" RejectReason
sed_createRejectReasonPublishBatch Kafka Topic "sed_commands" RejectReasonPublish

UpdateRejectReasonBatch

На входе список атрибутов причин отказа, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "solutionType": "SolutionType_002"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление списка причин отказа. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateRejectReasonBatch Kafka Topic "sed_commands" RejectReason

DeleteRejectReasonBatch

На входе список UUID сущностей причин отказа

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление причин отказа

Команда Путь Тип сущности
sed_deleteRejectReasonBatch Kafka Topic "sed_commands" RejectReason
sed_deleteRejectReasonPublishBatch Kafka Topic "sed_commands" RejectReasonPublish

GetRejectReason

На входе UUID причины отказа

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты причины отказа

{
  "status": "Completed",
  "timestamp": 1743061121283,
  "value": {
    "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
    "originalId": null,
    "entityType": "RejectionReason",
    "created": 1742884065123,
    "modified": 1742884164749,
    "version": 1,
    "order": 1,
    "solutionType": "SolutionType_001",
    "rejectionReason": "RejectionReason_001"
  }
}

Получение причины отказа по ID

Команда Путь Тип сущности
sed_getRejectReason HTTP POST "/v1/reject-reason/get" RejectReason

ListRejectReasons

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждой причины отказа

{
  "items": [
    {
      "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
      "originalId": null,
      "entityType": "RejectionReason",
      "created": 1742884065123,
      "modified": 1742884164749,
      "version": 1,
      "order": 1,
      "solutionType": "SolutionType_001",
      "rejectionReason": "RejectionReason_001"
    }
  ],
  "total": 1
} 

Получение списка причин отказа с фильтрацией, сортировкой и пагинацией

Команда Путь Тип сущности
sed_listRejectReasons HTTP POST "/v1/reject-reason/list" RejectReason
sed_listPublishedRejectReasons HTTP POST "/v1/publish/reject-reason" RejectReasonPublish

CreateSuspensionReasonBatch

На входе список атрибутов причин приостановления

[
  {
    "order": 1,
    "renewalBasis": [
      "RenewalBasis_001"
    ],
    "suspensionReason": "SuspensionReason_001",
    "maxSuspensionPeriodUnit": "WorkDay",
    "maxSuspensionPeriodAmount": 5
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание причин приостановления.

Команда Путь Тип сущности
sed_createSuspensionReasonBatch Kafka Topic "sed_commands" SuspensionReason
sed_createSuspensionReasonPublishBatch Kafka Topic "sed_commands" SuspensionReasonPublish

UpdateSuspensionReasonBatch

На входе список атрибутов причин приостановления, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "suspensionReason": "SuspensionReason_002"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление списка причин приостановления. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateSuspensionReasonBatch Kafka Topic "sed_commands" SuspensionReason

DeleteSuspensionReasonBatch

На входе список UUID сущностей причин приостановления

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление причин приостановления

Команда Путь Тип сущности
sed_deleteSuspensionReasonBatch Kafka Topic "sed_commands" SuspensionReason
sed_deleteSuspensionReasonPublishBatch Kafka Topic "sed_commands" SuspensionReasonPublish

GetSuspensionReason

На входе UUID причины приостановления

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты причины приостановления

{
  "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
  "originalId": null,
  "entityType": "SuspensionReason",
  "created": 1742884065123,
  "modified": 1742884164749,
  "version": 1,
  "order": 1,
  "renewalBasis": [
    "RenewalBasis_001"
  ],
  "suspensionReason": "SuspensionReason_001",
  "maxSuspensionPeriodUnit": "WorkDay",
  "maxSuspensionPeriodAmount": 5
}

Получение причины приостановления по ID

Команда Путь Тип сущности
sed_getSuspensionReason HTTP POST "/v1/suspension-reason/get" SuspensionReason

ListSuspensionReasons

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждой причины приостановления

{
  "items": [
    {
      "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
      "originalId": null,
      "entityType": "SuspensionReason",
      "created": 1742884065123,
      "modified": 1742884164749,
      "version": 1,
      "order": 1,
      "renewalBasis": [
        "RenewalBasis_001"
      ],
      "suspensionReason": "SuspensionReason_001",
      "maxSuspensionPeriodUnit": "WorkDay",
      "maxSuspensionPeriodAmount": 5
    }
  ],
  "total": 1
} 

Получение списка причин приостановления с фильтрацией, сортировкой и пагинацией

Команда Путь Тип сущности
sed_listSuspensionReasons HTTP POST "/v1/suspension-reason/list" SuspensionReason
sed_listPublishedSuspensionReasons HTTP POST "/v1/publish/suspension-reason" SuspensionReasonPublish

GetServiceRequestTemplate

На входе ID запроса шаблона услуги

"039ecfe4-e9d9-470c-9f37-3630b396b3ab"

На выходе атрибуты карточки услуги

{
  "id": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "entityType": "ServiceRequestTemplate",
  "title": "ServiceRequestTemplate 039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "source": "sed",
  "created": 1697784695411,
  "modified": 1697784695411,
  "version": 1,
  "originalId": null,
  "authorId": "a912a0e0-719a-4d81-835b-d15c7080755b",
  "serviceCard": {
    "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
    "entityType": "ServiceCardTemplate",
    "title": "ServiceCardTemplate b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
    "created": 1726560094839,
    "modified": 1726560094839,
    "version": 1,
    "originalId": null,
    "number": "0000000558",
    "idFrgu2": "frgu2",
    "status": "Published",
    "serviceType": "Municipal",
    "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
    "typicalService": "title",
    "administrativeLevel": "Regional",
    "administrativeProvisionLevel": "level",
    "powerType": "power",
    "transmittedPowerType": "transim",
    "actWithProvideAuthority": [
      "act"
    ]
  },
  "servicePassport": {"id":"c7ab5004-fff5-4258-b3ad-3966fbd7edac"}
}

Получение карточки услуги по идентификатору.

Команда Путь
sed_getServiceRequestTemplate HTTP POST "/v1/service-request-template/get"

ListServiceRequestTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого элемента запроса услуги

{
  "items": [
    {
      "id": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "entityType": "ServiceRequest",
      "title": "ServiceRequest 039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "source": "sed",
      "created": 1697784695411,
      "modified": 1697784695411,
      "version": 1,
      "originalId": null,
      "authorId": "a912a0e0-719a-4d81-835b-d15c7080755b",
      "serviceCard": {
        "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
        "entityType": "ServiceCardTemplate",
        "title": "ServiceCardTemplate b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
        "created": 1726560094839,
        "modified": 1726560094839,
        "version": 1,
        "originalId": null,
        "number": "0000000558",
        "idFrgu2": "frgu2",
        "status": "Published",
        "serviceType": "Municipal",
        "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
        "typicalService": "title",
        "administrativeLevel": "Regional",
        "administrativeProvisionLevel": "level",
        "powerType": "power",
        "transmittedPowerType": "transim",
        "actWithProvideAuthority": [
          "act"
        ]
      },
      "servicePassport": {"id": "c7ab5004-fff5-4258-b3ad-3966fbd7edac"}
    }
  ],
  "total": 1
}

Получение списка элементов запросов шаблона услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServiceRequestTemplates HTTP POST "/v1/service-request-template/list"

DeleteServiceRequestTemplate

На входе ID Запроса шаблона услуги

"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"

На выходе результат удаления

true

Удаление Запроса услуги Также удаляет связанные сущности - снапшоты, StageHistory и ServiceCard

Команда Путь
sed_deleteServiceRequestTemplate Kafka Topic "sed_commands"

GetServiceCardTemplate

На входе ID карточки шаблона услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты карточки шаблона услуги

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "ServiceCardTemplate",
  "title": "ServiceCardTemplate b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
  "created": 1726560094839,
  "modified": 1726560094839,
  "version": 1,
  "originalId": null,
  "number": "0000000558",
  "idFrgu2": "frgu2",
  "status": "Published",
  "serviceType": "Municipal",
  "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
  "typicalService": "title",
  "administrativeLevel": "Regional",
  "administrativeProvisionLevel": "level",
  "powerType": "power",
  "transmittedPowerType": "transim",
  "actWithProvideAuthority": [
    "act"
  ]
}

Получение карточки шаблона услуги по идентификатору.

Команда Путь
sed_getServiceCardTemplate HTTP POST "/v1/service-card-template/get"

ListServiceCardTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой карточки шаблона услуги

{
  "items": [
    {
      "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "entityType": "ServiceCardTemplate",
      "title": "ServiceCardTemplate b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
      "created": 1726560094839,
      "modified": 1726560094839,
      "version": 1,
      "originalId": null,
      "number": "0000000558",
      "idFrgu2": "frgu2",
      "status": "Published",
      "serviceType": "Municipal",
      "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
      "typicalService": "title",
      "administrativeLevel": "Regional",
      "administrativeProvisionLevel": "level",
      "powerType": "power",
      "transmittedPowerType": "transim",
      "actWithProvideAuthority": [
        "act"
      ]
    }
  ],
  "total": 1
}

Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServiceCardTemplates HTTP POST "/v1/service-card-template/list"

UpdateServiceCardTemplate

На входе необходимые для обновления атрибуты карточки шаблона услуги, а также ID и версия

{
  "id": "8f730a01-65ed-4864-af48-415f8edcc985",
  "version": 1,
  "data": {
    "idFrgu2": "000000501"
  }
}

На выходе признак успешности

true

Обновление карточки шаблона услуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateServiceCardTemplate Kafka Topic "sed_commands"

DeleteServiceCardTemplate

На входе ID карточки шаблона услуги

"8f730a01-65ed-4864-af48-415f8edcc985"

На выходе результат удаления

true

Удаление карточки шаблона услуги по идентификатору.

Команда Путь
sed_deleteServiceCardTemplate Kafka Topic "sed_commands"

GetServicePassportTemplate

На входе ID паспорта услуги

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты паспорта услуги

{
  "id": "34f45acb-bf74-4a3e-8aa8-8d35c18fd946",
  "entityType": "ServicePassportTemplate",
  "title": "ServicePassportTemplate 34f45acb-bf74-4a3e-8aa8-8d35c18fd946",
  "created": 1727095247764,
  "modified": 1727163787800,
  "version": 10,
  "originalId": null,
  "status": "InterdepartmentalApproval",
  "lifeSituations": [
    "LifeSituation_1",
    "LifeSituation_2"
  ],
  "topics": [
    "Topic_1"
  ],
  "isPermitting": true,
  "isAvailableAroundTheClock": true,
  "isSociallyImportantService": true,
  "maxDeliveryPeriodAmount": 6,
  "maxDeliveryPeriodUnit": "Month",
  "isOnlineProvided": true,
  "isMaximumDateSpecified": true,
  "availabilityIndicators": [
    "indicatorAvailability"
  ],
  "qualityIndicators": [
    "indicatorQuality"
  ],
  "premisesRequirements": [
    "requirement"
  ],
  "informingMethods": [
    "method"
  ],
  "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
  "document": [
    {
      "id": "a894d783-bb3b-4cb1-ac94-da1ee663c566",
      "title": "DocumentTemplate a894d783-bb3b-4cb1-ac94-da1ee663c566",
      "created": 1727099402703,
      "modified": 1727099402703,
      "originalId": null,
      "documentCategory": "category",
      "document": "document",
      "isMandatory": false,
      "approvedByRegulations": false
    },
    {
      "id": "da96bb3d-95a9-44eb-852f-4ee8b45d8237",
      "title": "DocumentTemplate da96bb3d-95a9-44eb-852f-4ee8b45d8237",
      "created": 1727095247884,
      "modified": 1727099402972,
      "originalId": null,
      "documentCategory": "category",
      "document": "document",
      "isMandatory": true,
      "approvedByRegulations": false
    }
  ],
  "mandatoryServiceCardPublish": [
    "71849c0b-fa18-4971-86ff-8869da2ae4ed",
    "e8ab111e-d0e2-4273-bdca-c3d59207322e"
  ]
}

Получение шаблона паспорта услуги по идентификатору.

Команда Путь
sed_getServicePassportTemplate HTTP POST "/v1/service-passport-template/get"

ListServicePassportTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого паспорта услуги

{
  "items": [
    {
      "id": "34f45acb-bf74-4a3e-8aa8-8d35c18fd946",
      "entityType": "ServicePassportTemplate",
      "title": "ServicePassportTemplate 34f45acb-bf74-4a3e-8aa8-8d35c18fd946",
      "created": 1727095247764,
      "modified": 1727163787800,
      "version": 10,
      "originalId": null,
      "status": "InterdepartmentalApproval",
      "lifeSituations": [
        "LifeSituation_1",
        "LifeSituation_2"
      ],
      "topics": [
        "Topic_1"
      ],
      "isPermitting": true,
      "isAvailableAroundTheClock": true,
      "isSociallyImportantService": true,
      "maxDeliveryPeriodAmount": 6,
      "maxDeliveryPeriodUnit": "Month",
      "isOnlineProvided": true,
      "isMaximumDateSpecified": true,
      "availabilityIndicators": [
        "indicatorAvailability"
      ],
      "qualityIndicators": [
        "indicatorQuality"
      ],
      "premisesRequirements": [
        "requirement"
      ],
      "informingMethods": [
        "method"
      ],
      "authorId": "46abb0ac-f867-4041-9948-90361b6283e1",
      "document": null,
      "mandatoryServiceCardPublish": null
    }
  ],
  "total": 1
}

Получение списка шаблонов паспортов услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServicePassportTemplatess HTTP POST "/v1/service-passport-template/list"

UpdateServicePassportTemplate

На входе необходимые для обновления атрибуты шаблона паспорта услуги, а также ID и версия

{
  "servicePassportUpdate": {
    "id": "8f730a01-65ed-4864-af48-415f8edcc985",
    "version": 1,
    "data": {
      "maxDeliveryPeriodAmount": 10
    }
  },
  "documentsCreate": [
    {
      "documentCategory": "Category",
      "document": "Document",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "submissionMethodsCreate": [
        {
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        },
        {
          "submissionMethod": "1",
          "documentRequirements": ["1"]
        }
      ]
    }
  ],
  "documentsUpdate": [
    {
      "documentUpdate": {
        "id": "8f730a01-65ed-4864-af48-415f8edcc985",
        "version": 1,
        "data": {
          "isMandatory": true
        }
      },
      "submissionMethodCreate": [
        {
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        }
      ],
      "submissionMethodUpdate": [
        {
          "id": "8f730a01-65ed-4864-af48-415f8edcc985",
          "version": 1,
          "data": {
            "documentRequirements": ["1"]
          }
        }
      ],
      "submissionMethodDelete": [
        "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
      ]
    }
  ],
  "documentsDelete": [
    "039ecfe4-e9d9-470c-9f37-3630b396b3ab"
  ]
}

На выходе признак успешности

true

Обновление паспорта услуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null. При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты

Команда Путь
sed_updateServicePassportTemplate Kafka Topic "sed_commands"

GetDocumentTemplate

На входе ID шаблона документа

"261637f1-4981-4ddb-ba66-1a6d98e6fc30"

На выходе атрибуты шаблона документа

{
  "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "entityType": "Document",
  "title": "Document 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
  "source": "sed",
  "created": 1703485846022,
  "modified": 1720443237958,
  "version": 3,
  "originalId": null,
  "documentCategory": "Category",
  "document": "Document",
  "isMandatory": false,
  "approvedByRegulations": false,
  "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "submissionMethod": [
    {
      "id": "ae2ea221-a6bb-49d6-b293-1895b084aca6",
      "title": "SubmissionMethod ae2ea221-a6bb-49d6-b293-1895b084aca6",
      "created": 1721110958030,
      "modified": 1721110958030,
      "version": 1,
      "originalId": "4da21337-e3ad-4272-b6d0-005545bdfbb3",
      "submissionMethod": "2",
      "documentRequirements": ["2"]
    },
    {
      "id": "7726af59-4bfe-4097-b192-c38407f219ed",
      "title": "SubmissionMethod 7726af59-4bfe-4097-b192-c38407f219ed",
      "created": 1721110958058,
      "modified": 1721110958058,
      "version": 1,
      "originalId": "3da21337-e3ad-4272-b6d0-005545bdfbb3",
      "submissionMethod": "1",
      "documentRequirements": ["1"]
    }
  ]
}

Получение документа по идентификатору.

Команда Путь
sed_getDocumentTemplate HTTP POST "/v1/document-template/get"

ListDocumentTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого шаблона документа

{
  "items": [
    {
      "id": "8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "entityType": "Document",
      "title": "Document 8ef792f0-aad5-42fe-b167-e196ea2a5cab",
      "source": "sed",
      "created": 1703485846022,
      "modified": 1720443237958,
      "version": 3,
      "originalId": null,
      "documentCategory": "Category",
      "document": "Document",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "submissionMethod": [
        {
          "id": "ae2ea221-a6bb-49d6-b293-1895b084aca6",
          "title": "SubmissionMethod ae2ea221-a6bb-49d6-b293-1895b084aca6",
          "created": 1721110958030,
          "modified": 1721110958030,
          "version": 1,
          "originalId": "4da21337-e3ad-4272-b6d0-005545bdfbb3",
          "submissionMethod": "2",
          "documentRequirements": ["2"]
        },
        {
          "id": "7726af59-4bfe-4097-b192-c38407f219ed",
          "title": "SubmissionMethod 7726af59-4bfe-4097-b192-c38407f219ed",
          "created": 1721110958058,
          "modified": 1721110958058,
          "version": 1,
          "originalId": "3da21337-e3ad-4272-b6d0-005545bdfbb3",
          "submissionMethod": "1",
          "documentRequirements": ["1"]
        }
      ]
    }
  ],
  "total": 1
}

Получение списка документов с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listDocumentTemplates HTTP POST "/v1/document-template/list"

CreateRejectReasonTemplateBatch

На входе список атрибутов причин отказа

[
  {
    "order": 2,
    "originalId": "6195400c-9728-4a0c-a7c5-f2f4bc38d5d5",
    "solutionType": "SolutionType_001",
    "rejectionReason": "RejectionReason_001"
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание шаблонов причин отказа.

Команда Путь Тип сущности
sed_createRejectReasonTemplateBatch Kafka Topic "sed_commands" RejectReasonTemplate
sed_createRejectReasonTemplatePublishBatch Kafka Topic "sed_commands" RejectReasonTemplatePublish

UpdateRejectReasonTemplateBatch

На входе список атрибутов шаблонов причин отказа, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "solutionType": "SolutionType_002"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление списка шаблонов причин отказа. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateRejectReasonTemplateBatch Kafka Topic "sed_commands" RejectReasonTemplate

DeleteRejectReasonTemplateBatch

На входе список UUID сущностей шаблонов причин отказа

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление шаблонов причин отказа

Команда Путь Тип сущности
sed_deleteRejectReasonTemplateBatch Kafka Topic "sed_commands" RejectReasonTemplate
sed_deleteRejectReasonTemplatePublishBatch Kafka Topic "sed_commands" RejectReasonTemplatePublish

GetRejectReasonTemplate

На входе UUID шаблона причины отказа

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты шаблона причины отказа

{
  "status": "Completed",
  "timestamp": 1743061121283,
  "value": {
    "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
    "originalId": null,
    "entityType": "RejectionReason",
    "created": 1742884065123,
    "modified": 1742884164749,
    "version": 1,
    "order": 1,
    "solutionType": "SolutionType_001",
    "rejectionReason": "RejectionReason_001"
  }
}

Получение причины отказа по ID

Команда Путь Тип сущности
sed_getRejectReasonTemplate HTTP POST "/v1/reject-reason-template/get" RejectReasonTemplate

ListRejectReasonTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждого шаблона причины отказа

{
  "items": [
    {
      "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
      "originalId": null,
      "entityType": "RejectionReason",
      "created": 1742884065123,
      "modified": 1742884164749,
      "version": 1,
      "order": 1,
      "solutionType": "SolutionType_001",
      "rejectionReason": "RejectionReason_001"
    }
  ],
  "total": 1
} 

Получение списка шаблонов причин отказа с фильтрацией, сортировкой и пагинацией

Команда Путь Тип сущности
sed_listRejectReasonTemplates HTTP POST "/v1/reject-reason-template/list" RejectReasonTemplate
sed_listPublishedRejectReasonTemplates HTTP POST "/v1/publish/reject-reason-template" RejectReasonTemplatePublish

CreateSuspensionReasonTemplateBatch

На входе список атрибутов шаблонов причин приостановления

[
  {
    "order": 1,
    "renewalBasis": [
      "RenewalBasis_001"
    ],
    "suspensionReason": "SuspensionReason_001",
    "maxSuspensionPeriodUnit": "WorkDay",
    "maxSuspensionPeriodAmount": 5
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание шаблонов причин приостановления.

Команда Путь Тип сущности
sed_createSuspensionReasonTemplateBatch Kafka Topic "sed_commands" SuspensionReasonTemplate
sed_createSuspensionReasonTemplatePublishBatch Kafka Topic "sed_commands" SuspensionReasonTemplatePublish

UpdateSuspensionReasonTemplateBatch

На входе список атрибутов шаблноов причин приостановления, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "suspensionReason": "SuspensionReason_002"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление списка причин приостановления. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateSuspensionReasonTemplateBatch Kafka Topic "sed_commands" SuspensionReasonTemplate

DeleteSuspensionReasonTemplateBatch

На входе список UUID сущностей шаблонов причин приостановления

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление шаблонов причин приостановления

Команда Путь Тип сущности
sed_deleteSuspensionReasonTemplateBatch Kafka Topic "sed_commands" SuspensionReasonTemplate
sed_deleteSuspensionReasonTemplatePublishBatch Kafka Topic "sed_commands" SuspensionReasonTemplatePublish

GetSuspensionReasonTemplate

На входе UUID причины приостановления

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты причины приостановления

{
  "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
  "originalId": null,
  "entityType": "SuspensionReason",
  "created": 1742884065123,
  "modified": 1742884164749,
  "version": 1,
  "order": 1,
  "renewalBasis": [
    "RenewalBasis_001"
  ],
  "suspensionReason": "SuspensionReason_001",
  "maxSuspensionPeriodUnit": "WorkDay",
  "maxSuspensionPeriodAmount": 5
}

Получение причины приостановления по ID

Команда Путь Тип сущности
sed_getSuspensionReasonTemplate HTTP POST "/v1/suspension-reason-template/get" SuspensionReasonTemplate

ListSuspensionReasonTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждой причины приостановления

{
  "items": [
    {
      "id": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
      "originalId": null,
      "entityType": "SuspensionReason",
      "created": 1742884065123,
      "modified": 1742884164749,
      "version": 1,
      "order": 1,
      "renewalBasis": [
        "RenewalBasis_001"
      ],
      "suspensionReason": "SuspensionReason_001",
      "maxSuspensionPeriodUnit": "WorkDay",
      "maxSuspensionPeriodAmount": 5
    }
  ],
  "total": 1
} 

Получение списка шаблонов причин приостановления с фильтрацией, сортировкой и пагинацией

Команда Путь Тип сущности
sed_listSuspensionReasonTemplates HTTP POST "/v1/suspension-reason-template/list" SuspensionReasonTemplate
sed_listPublishedSuspensionReasonTemplates HTTP POST "/v1/publish/suspension-reason-template" SuspensionReasonTemplatePublish

CreateResponsiblePerson

На входе атрибуты ответственного лица

{
  "originalId": "cdc4e8c3-eeaf-43c7-9271-dcabc3c56c95",
  "email": "Не заполнено",
  "order": 1,
  "fullName": "Наименование ответственного лица",
  "position": "Должность ответственного лица",
  "phoneNumber": "+7 (129) 694-54-56",
  "responsiblePersonType": "QualityResponsible"
}

На выходе список id созданных сущностей

"6e3adf02-b1ca-4fc2-a16e-ca-4fcd070e4"

Пакетное создание ответственных лиц.

-Input: ResponsiblePersonCreateDTO -Output: UUID

Команда Путь
sed_createResponsiblePerson Kafka Topic "sed_commands"

DeleteResponsiblePersonBatch

На входе список UUID сущностей ответственных лиц

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление ответственных лиц

Команда Путь Тип сущности
sed_deleteResponsiblePersonBatch Kafka Topic "sed_commands" ResponsiblePerson
sed_deleteResponsiblePersonPublishBatch Kafka Topic "sed_commands" ResponsiblePersonPublish

UpdateResponsiblePerson

На входе список атрибутов ответственного лица, ID и версия оптимистической блокировки.

{
  "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
  "version": 1,
  "data": {
    "fullName": "Наименование ответственного лица",
    "position": "Должность ответственного лица"
  }
}

На выходе пустое тело со статусом 200 ОК.

true

Обновление ответственного лица. Обновить можно только неопубликованную сущность.

-Input: UpdateDTO -Output: boolean

Команда Путь
sed_updateResponsiblePerson Kafka Topic "sed_commands"

GetResponsiblePerson

На входе UUID ответственного лица

"1f4039f0-e7ba-4d5c-9cec-00fc408c3331"

На выходе атрибуты ответственного лица.

{
  "originalId": "cdc4e8c3-eeaf-43c7-9271-dcabc3c56c95",
  "email": "Не заполнено",
  "order": 1,
  "fullName": "Наименование ответственного лица",
  "position": "Должность ответственного лица",
  "phoneNumber": "+7 (129) 694-54-56",
  "responsiblePersonType": "QualityResponsible"
}

Получение ответственного лица по ID.

-Input: UUID -Output: ResponsiblePerson

Команда Путь Тип сущности
sed_getResponsiblePerson HTTP POST "/v1/responsible-person/get" ResponsiblePerson

ListResponsiblePersons

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе атрибуты ответственного лица.

{
  "items": [
    {
      "originalId": "cdc4e8c3-eeaf-43c7-9271-dcabc3c56c95",
      "email": "Не заполнено",
      "order": 1,
      "fullName": "Наименование ответственного лица",
      "position": "Должность ответственного лица",
      "phoneNumber": "+7 (129) 694-54-56",
      "responsiblePersonType": "QualityResponsible"
    }
  ],
  "total": 1
}

Получение списка ответственных лиц с фильтрацией, сортировкой и пагинацией.

-Input: Search -Output: PageResponsiblePerson

Команда Путь Тип сущности
sed_listResponsiblePersons HTTP POST "/v1/responsible-person/list" ResponsiblePerson

CreateSubServiceTemplate

На входе SubServiceTemplateCreateDTO

{
  "requestId": "57fa5963-796e-4a19-96e5-a094db6cb895",
  "fullTitle": "title",
  "applicantCategory": [
    "aplCategory"
  ],
  "representativePossibility": true,
  "preregistrationMethod": [
    "preregistrationMethod"
  ],
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "resultTitleTypesCreate": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "isRegistryModel": true,
  "isResultReceivedElectronically": true,
  "waysObtainService": [
    "way"
  ],
  "hasLimitedResources": true,
  "hasApplicantAssessments": true,
  "administrativeProceduresCreate": [
    {
      "administrativeProcedure": "administrativeProcedure",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "proactiveOrder": 1,
      "isAffectingDate": false,
      "administrativeActions": [
        "action"
      ],
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus2",
          "implementationInforming": true
        }
      ]
    },
    {
      "administrativeProcedure": "administrativeProcedure2",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": true,
      "proactiveOrder": 2,
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus3",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus4",
          "implementationInforming": true
        }
      ]
    }
  ]
}

На выходе ID шаблона подуслуги

"8f730a01-65ed-4864-af48-415f8edcc985"

Создание нового шаблона подуслуги с административными процедурами и статусами закрытия.

Команда Путь
sed_createSubServiceTemplate Kafka Topic "sed_commands"

GetSubServiceTemplate

На входе ID шаблона подуслуги

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты шаблона подуслуги

{
  "id": "aa658886-937b-487f-b46d-2a930e1f72b9",
  "entityType": "SubServiceTemplate",
  "title": "mock SubService title",
  "created": 1704969595304,
  "modified": 1704969595304,
  "version": 1,
  "originalId": null,
  "number": "0000001-01",
  "fullTitle": "title",
  "applicantCategory": [
    ""
  ],
  "representativePossibility": true,
  "preregistrationMethod": [
    ""
  ],
  "isMaxPinTimeProvisionSubservices": true,
  "maxPeriodUnit": "maxPeriodUnit",
  "maxPeriodAmount": 1,
  "isProvidedExtraterritorial": true,
  "hasPreEntry": true,
  "resultTitleTypes": [
    {
      "resultType": "resultType",
      "titleType": [
        "titleType"
      ]
    }
  ],
  "isRegistryModel": true,
  "hasLimitedResources": true
}

Получение шаблона подуслуги по идентификатору.

Команда Путь
sed_getSubServiceTemplate HTTP POST "/v1/sub-service-template/get"

ListSubServiceTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов шаблонов подуслуги

{
  "items": [
    {
      "id": "aa658886-937b-487f-b46d-2a930e1f72b9",
      "entityType": "SubService",
      "title": "mock SubServiceTemplate title",
      "source": "sed",
      "created": 1704969595304,
      "modified": 1704969595304,
      "version": 1,
      "originalId": null,
      "number": "0000001-01",
      "fullTitle": "title",
      "applicantCategory": [
        ""
      ],
      "representativePossibility": true,
      "preregistrationMethod": [
        ""
      ],
      "registryModel": true,
      "isMaxPinTimeProvisionSubservices": true,
      "maxPeriodUnit": "maxPeriodUnit",
      "maxPeriodAmount": 1,
      "isProvidedExtraterritorial": true,
      "hasPreEntry": true,
      "resultTitleTypes": [
        {
          "resultType": "resultType",
          "titleType": [
            "titleType"
          ]
        }
      ],
      "titleType": [
        "titleType"
      ],
      "isRegistryModel": true,
      "hasLimitedResources": true
    }
  ],
  "total": 1
}

Получение списка шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listSubServiceTemplates HTTP POST "/v1/sub-service-template/list"

UpdateSubServiceTemplate

На входе необходимые для обновления атрибуты шаблона подуслуги, ее административных процедур и статусов закрытия Если поле data у сущности на обновление пустое, то оно не будет обновляться и будут выполнены операции только со связанными с ней сущностями.

{
  "subServiceUpdate": {
    "id": "260216e0-7d67-41c6-9825-6895c2c65258",
    "version": 2,
    "data": {
    }
  },
  "administrativeProceduresCreate": [
    {
      "administrativeProcedure": "administrativeProcedure",
      "electronicForm": true,
      "maxPeriodAmount": 1,
      "maxPeriodUnit": "maxPeriodUnit",
      "proactiveMode": false,
      "isAffectingDate": true,
      "administrativeActions": [
        "action"
      ],
      "order": 1,
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus",
          "implementationInforming": true
        },
        {
          "closeStatus": "closeStatus2",
          "implementationInforming": true
        }
      ]
    }
  ],
  "administrativeProceduresUpdate": [
    {
      "administrativeProcedureUpdate": {
        "id": "8f730a01-65ed-4864-af48-415f8edcc985",
        "version": 2,
        "data": {}
      },
      "closeStatusesCreate": [
        {
          "closeStatus": "closeStatus8",
          "implementationInforming": true
        }
      ],
      "closeStatusesUpdate": [
        {
          "id": "3a35deaa-2596-475d-b190-01014f003e05",
          "version": 1,
          "data": {
            "implementationInforming": true
          }
        }
      ],
      "closeStatusesDelete": [
        "57fa5963-796e-4a19-96e5-a094db6cb895"
      ]
    }
  ],
  "administrativeProceduresDelete": [
    "356de63b-818b-421e-9ef0-6798e1048fba"
  ],
  "resultTitleTypesCreate": [
    {
      "resultType": "ResultType_51",
      "titleType": [
        "11",
        "21"
      ]
    }
  ],
  "resultTitleTypesUpdate": [
    {
      "id": "4576c0b5-3de6-472a-8f34-d12de7637001",
      "version": 1,
      "data": {
        "resultType": "ResultType_511",
        "titleType": [
          "31",
          "51"
        ]
      }
    }
  ],
  "resultTitleTypesDelete": [
    "2e9c665a-1829-47b0-953f-3940f2b43cd7"
  ]
}

На выходе признак успешности

true

Обновление шаблона подуслуги. Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно явно передать null.

Команда Путь
sed_updateSubServiceTemplate Kafka Topic "sed_commands"

DeleteSubServiceTemplates

На входе список ID шаблонов подуслуг

[
  "8f730a01-65ed-4864-af48-415f8edcc985"
]

На выходе результат удаления

true

Удаление подуслуги по идентификатору.

Команда Путь
sed_deleteSubServiceTemplates Kafka Topic "sed_commands"

UpdateSubServiceTemplateOrder

На входе массив с идентификаторами и новыми порядковыми номерами шаблонов подуслуг

[
  {
    "id": "d21495b9-b7bd-42ac-b7c8-7864906811b7",
    "order": 7
  },
  {
    "id": "3fcfb914-4311-4d40-a896-6e5e14ae3eb1",
    "order": 8
  }
]

На выходе Boolean

true

Обновление порядкового номера шаблонов подуслуг

Команда Путь
sed_updateSubServiceTemplateOrder Kafka Topic "sed_commands"

GetAdministrativeProcedureTemplate

На входе ID шаблона административной процедуры

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты шаблона административной процедуры

{
  "id": "08725c6d-9944-4f7a-be18-6373cb73414a",
  "entityType": "AdministrativeProcedureTemplate",
  "title": "mock AdministrativeProcedure title",
  "source": "sed",
  "created": 1704971617571,
  "modified": 1704971617571,
  "version": 1,
  "originalId": null,
  "administrativeProcedure": "adminProc",
  "electronicForm": true,
  "maxPeriodAmount": null,
  "maxPeriodUnit": "Years",
  "order": 1,
  "proactiveMode": true,
  "proactiveOrder": 1,
  "closeStatus": [
    {
      "id": "1e63ba03-2595-4ca5-8586-4732b5926959",
      "title": "mock CloseStatus title",
      "created": 1704971710811,
      "modified": 1704971710811,
      "version": 1,
      "originalId": null,
      "closeStatus": "closeStatus",
      "implementationInforming": true
    }
  ]
}

Получение шаблона административной процедуры по идентификатору.

Команда Путь
sed_getAdministrativeProcedureTemplate HTTP POST "/v1/administrative-procedure-template/get"

ListAdministrativeProcedureTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого шаблона административной процедуры

{
  "items": [
    {
      "id": "08725c6d-9944-4f7a-be18-6373cb73414a",
      "entityType": "AdministrativeProcedureTemplate",
      "title": "mock AdministrativeProcedure title",
      "source": "sed",
      "created": 1704971617571,
      "modified": 1704971617571,
      "version": 1,
      "originalId": null,
      "administrativeProcedure": "adminProc",
      "electronicForm": true,
      "maxPeriodAmount": null,
      "maxPeriodUnit": "Years",
      "proactiveMode": true,
      "proactiveOrder": 1,
      "order": 1,
      "closeStatus": [
        {
          "id": "1e63ba03-2595-4ca5-8586-4732b5926959",
          "title": "mock CloseStatus title",
          "created": 1704971710811,
          "modified": 1704971710811,
          "version": 1,
          "originalId": null,
          "closeStatus": "closeStatus",
          "implementationInforming": true
        }
      ]
    }
  ],
  "total": 1
}

Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listAdministrativeProcedureTemplates HTTP POST "/v1/administrative-procedure-template/list"

GetCloseStatusTemplate

На входе ID шаблона статуса закрытия

"aa658886-937b-487f-b46d-2a930e1f72b9"

На выходе атрибуты шаблона статуса закрытия

{
  "id": "9c6aec2a-27d9-4024-a63b-556661c07cab",
  "entityType": "CloseStatusTemplate",
  "title": "mock CloseStatus title",
  "source": "sed",
  "created": 1704973550646,
  "modified": 1704973550646,
  "version": 1,
  "originalId": null,
  "closeStatus": "closeStatus",
  "implementationInforming": true
}

Получение шаблона статуса закрытия по идентификатору.

Команда Путь
sed_getCloseStatusTemplate HTTP POST "/v1/close-status-template/get"

ListCloseStatuseTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого шаблона статуса закрытия

{
  "items": [
    {
      "id": "9c6aec2a-27d9-4024-a63b-556661c07cab",
      "entityType": "CloseStatusTemplate",
      "title": "mock CloseStatus title",
      "source": "sed",
      "created": 1704973550646,
      "modified": 1704973550646,
      "version": 1,
      "originalId": null,
      "closeStatus": "closeStatus",
      "implementationInforming": true
    }
  ],
  "total": 1
}

Получение списка шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listCloseStatusTemplates HTTP POST "/v1/close-status-template/list"

ListPublishedServiceCardTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждой опубликованной карточки шаблона услуги

{
  "items": [
    {
      "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "entityType": "ServiceCardTemplate",
      "title": "ServiceCardTemplate b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
      "created": 1726560094839,
      "modified": 1726560094839,
      "version": 1,
      "originalId": null,
      "number": "0000000558",
      "idFrgu2": "frgu2",
      "status": "Published",
      "serviceType": "Municipal",
      "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
      "typicalService": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
      "isTypical": true,
      "actWithProvideAuthority": [
        "act"
      ]
    }
  ],
  "total": 1
}

Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedServiceCardTemplates HTTP POST "/v1/publish-template/list-cards"

ListAvailableTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов опубликованных шаблонов карточек услуг, для которых разрешено создание услуги из шаблона

{
  "items": [
    {
      "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
      "entityType": "ServiceCardTemplatePublish",
      "title": "ServiceCardTemplatePublish b1fe7884-9ab6-4517-9c9c-63ba50d6ac8d",
      "created": 1726560094839,
      "modified": 1726560094839,
      "version": 1,
      "originalId": null,
      "number": "0000000558",
      "idFrgu2": "frgu2",
      "status": "Published",
      "department": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
      "typicalService": "1a81e382-d26d-4bd4-a884-12c2d0d0a372",
      "isTypical": true,
      "actWithProvideAuthority": [
        "act"
      ]
    }
  ],
  "total": 1
}

Получение списка опубликованных шаблонов карточек услуг для которых разрешено создание услуги из шаблона

Команда Путь
sed_listAvailableTemplates HTTP POST "/v1/publish-template/list-available"

ListPublishedDocumentTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного шаблона документа

{
  "items": [
    {
      "id": "dcdd4075-2889-43b9-ad30-e631c114c58d",
      "entityType": "DocumentTemplatePublish",
      "title": "DocumentTemplatePublish dcdd4075-2889-43b9-ad30-e631c114c58d",
      "source": "sed",
      "created": 1722497835804,
      "modified": 1722497835804,
      "version": 1,
      "originalId": null,
      "documentCategory": "text",
      "document": "text",
      "isMandatory": false,
      "approvedByRegulations": false,
      "documentForm": null,
      "submissionMethod": [
        {
          "id": "a2f02a70-b382-4723-b3d5-e018df091c9c",
          "title": "SubmissionMethodTemplatePublish a2f02a70-b382-4723-b3d5-e018df091c9c",
          "created": 1722497836330,
          "modified": 1722497836330,
          "version": 1,
          "originalId": null,
          "submissionMethod": "text",
          "documentRequirements": ["2"]
        },
        {
          "id": "c5906e26-dd42-4c89-96bd-9141c8a934f3",
          "title": "SubmissionMethodTemplatePublish c5906e26-dd42-4c89-96bd-9141c8a934f3",
          "created": 1722497836330,
          "modified": 1722497836330,
          "version": 1,
          "originalId": null,
          "submissionMethod": "text",
          "documentRequirements": ["2"]
        }
      ]
    }
  ],
  "total": 1
}

Получение списка опубликованных шаблонов документов с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedDocumentTemplates HTTP POST "/v1/publish-template/list-documents"

ListPublishedSubServiceTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список атрибутов каждого опубликованного шаблона подуслуги

{
  "items": [
    {
      "id": "012098d3-6504-42c1-bad3-9e4020c927df",
      "entityType": "SubServiceTemplatePublish",
      "title": "SubServiceTemplatePublish 012098d3-6504-42c1-bad3-9e4020c927df",
      "source": "sed",
      "created": 1716899048978,
      "modified": 1716899048978,
      "version": 1,
      "originalId": null,
      "number": "0006371-01",
      "fullTitle": "title",
      "applicantCategory": [
        "aplCategory3"
      ],
      "representativePossibility": true,
      "preregistrationMethod": [
        "preregistrationMethod"
      ],
      "registryModel": true,
      "isMaxPinTimeProvisionSubservices": true,
      "maxPeriodUnit": "maxPeriodUnit",
      "maxPeriodAmount": 1,
      "isProvidedExtraterritorial": true,
      "hasPreEntry": true,
      "resultTitleTypes": [
        {
          "resultType": "resultType",
          "titleType": [
            "titleType"
          ]
        }
      ],
      "titleType": [
        "titleType"
      ],
      "isRegistryModel": true,
      "hasLimitedResources": true
    }
  ],
  "total": 1
}

Получение списка опубликованных шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listPublishedSubServiceTemplates HTTP POST "/v1/publish-template/list-sub-services"

ConnectServiceRequestToTemplate

На входе ID ServiceRequest и ID ServiceCardTemplatePublish для привязки

{
  "serviceRequestId": "f0b03134-1cf4-4c3c-91ca-1ce5ee4ab14a",
  "serviceCardTemplatePublishId": "a83caca7-416b-4c34-b299-63b7620bec5a"
}

На выходе измененная карточка с новыми атрибутами из шаблона

{
  "id": "261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "entityType": "ServiceCard",
  "title": "ServiceCard 261637f1-4981-4ddb-ba66-1a6d98e6fc30",
  "source": "sed",
  "created": 1695700709769,
  "modified": 1695700782760,
  "version": 2,
  "number": "0000003",
  "serviceType": "Municipal",
  "idFrgu1": "idFrgu1",
  "idFrgu2": "idFrgu2",
  "serviceCardTemplateId": "a83caca7-416b-4c34-b299-63b7620bec5a",
  "fullTitle": "fullTitle",
  "shortTitle": "shortTitle",
  "administrativeLevel": "administrativeLevel",
  "municipality": "municipality",
  "federalSubject": "federalSubject",
  "department": "department",
  "provideDepartment": "provide",
  "provideDepartmentsInfo": [
    "info",
    "info"
  ],
  "cooperativeDepartments": [
    "c51b1d52-4ea6-4dd5-b822-66e734030c2b"
  ],
  "socialRelationsSphere": [
    "RelationSphere"
  ],
  "electronicForm": null,
  "isTypical": false,
  "typicalServiceTitle": "title",
  "actWithProvideAuthority": [
    "act"
  ]
}

Привязка услуги к шаблону

Команда Путь
sed_connectServiceRequestToTemplate Kafka Topic "sed_commands"

CreateApplicationMethodTemplateBatch

На входе список атрибутов способов подачи заявления

[
  {
    "submissionMethod": "653e3b2f4a1fbd3a2cdef789",
    "maxDeliveryPeriodAmount": 10,
    "maxDeliveryPeriodUnit": "WorkDay",
    "isMaxPeriodAmountAuto": true,
    "identificationMethod": "Passport",
    "isProfilingMethod": false,
    "order": 1
  }
]

На выходе список UUID созданных сущностей

[
  "ac5507e9-3274-43d2-b6a2-aa79d4de295d"
]

Пакетное создание платежей.

Команда Путь Тип сущности
sed_createApplicationMethodTemplateBatch Kafka Topic "sed_commands" ApplicationMethodTemplate
sed_createApplicationMethodTemplatePublishBatch Kafka Topic "sed_commands" ApplicationMethodTemplatePublish

UpdateApplicationMethodTemplateBatch

На входе список атрибутов способов подачи заявления, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "submissionMethod": "653e3b2f4a1fbd3a2cdef789"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Пакетное обновление способов подачи заявления. Обновить возможно только неопубликованную сущность

Команда Путь Тип сущности
sed_updateApplicationMethodTemplateBatch Kafka Topic "sed_commands" ApplicationMethodTemplate

DeleteApplicationMethodTemplateBatch

На входе список UUID сущностей

[
  "cd186efd-b580-4a3b-a701-4cc1b4a5b198",
  "64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]

На выходе результат выполнения

true

Пакетное удаление платежей

Команда Путь Тип сущности
sed_deleteApplicationMethodTemplateBatch Kafka Topic "sed_commands" ApplicationMethodTemplate
sed_deleteApplicationMethodTemplatePublishBatch Kafka Topic "sed_commands" ApplicationMethodTemplatePublish

GetApplicationMethodTemplate

На входе UUID способа подачи заявления

"a08bcb0d-e23a-43af-9120-1f9170f8e5a8"

На выходе атрибуты способа подачи заявления

{
  "id": "a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91",
  "originalId": "f8c3a0d5-e2d1-445f-a9b9-b2c4d0e6b123",
  "entityType": "ApplicationMethodTemplate",
  "created": 1727381278,
  "modified": 1727385278,
  "version": 3,
  "submissionMethod": "653e3b2f4a1fbd3a2cdef789",
  "maxDeliveryPeriodAmount": 10,
  "maxDeliveryPeriodUnit": "WorkDay",
  "isMaxPeriodAmountAuto": true,
  "identificationMethod": "Passport",
  "isProfilingMethod": false,
  "order": 1
}

Получение шаблона способа подачи заявления по ID

Команда Путь Тип сущности
sed_getApplicationMethodTemplate HTTP POST "/v1/application-method/get" ApplicationMethodTemplate
sed_getPublishedApplicationMethodTemplate HTTP POST "/v1/publish/get-application-method" ApplicationMethodTemplatePublish

ListApplicationMethodTemplates

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов каждого платежа

{
  "items": [
    {
      "id": "a3f1b6b8-59d7-4d1a-9e0a-2d35dcbf9c91",
      "originalId": "f8c3a0d5-e2d1-445f-a9b9-b2c4d0e6b123",
      "entityType": "ApplicationMethodTemplate",
      "created": 1727381278,
      "modified": 1727385278,
      "version": 3,
      "submissionMethod": "653e3b2f4a1fbd3a2cdef789",
      "maxDeliveryPeriodAmount": 10,
      "maxDeliveryPeriodUnit": "WorkDay",
      "isMaxPeriodAmountAuto": true,
      "identificationMethod": "Passport",
      "isProfilingMethod": false,
      "order": 1
    }
  ],
  "total": 1
} 

SmevSelfCheckSend

На входе SelfCheckRequest

{
  "messageTypeId": {
    "namespace": "urn://rostelekom.ru/FRGU3/serviceList/1.0.0",
    "localName": "ServiceListRequest"
  },
  "content": {
    "kcrResponsibleOrganization": "fff091d7-529a-49de-8475-48b193f52936",
    "kcrLevel": "Municipal"
  }
}

На выходе id сообщения СМЭВ

"f21a29dd-209d-4417-ab0a-98c3eb262019"

Отправка запроса для самопроверки (имитация запроса из СМЭВ).

Команда Путь
sed_smevSelfCheckSend Kafka Topic "sed_commands

SmevSelfCheckReceive

На входе UUID сообщения самопроверки

"f21a29dd-209d-4417-ab0a-98c3eb262019"

На выходе MessageDTO из iua-adapter

{
  "status": "Completed",
  "timestamp": 1730450713463,
  "value": {
    "id": "02249dbc-35dc-4c0b-b0c5-4ab0b3abf828",
    "refId": "f21a29dd-209d-4417-ab0a-98c3eb262019",
    "messageType": "Response",
    "typeId": {
      "namespace": "urn://rostelekom.ru/FRGU3/serviceList/1.0.0",
      "localName": "ServiceListResponse"
    },
    "content": {
      "serviceInfo": [
        {
          "id": "0000000244",
          "fullName": "full",
          "status": "DRAFT",
          "lightServiceId": "0000000244",
          "responsibleOrganizationId": "fff091d7-529a-49de-8475-48b193f52936"
        },
        {
          "id": "0000000107",
          "fullName": "full",
          "status": "APPROVING_EXTERNAL",
          "lightServiceId": "0000000107",
          "responsibleOrganizationId": "fff091d7-529a-49de-8475-48b193f52936"
        },
        {
          "id": "0000000106",
          "fullName": "full",
          "status": "APPROVING_EXTERNAL",
          "lightServiceId": "0000000106",
          "responsibleOrganizationId": "fff091d7-529a-49de-8475-48b193f52936"
        }
      ]
    },
    "attachments": []
  }
}

Получение ответа на запрос самопроверки.

Команда Путь
sed_smevSelfCheckReceive Kafka Topic "sed_commands

GetRouteStageFiltered

Аналогичная команде sedRoute_getRouteStage, однако возвращает отфильтрованный список участников стадии.

Команда Путь
sed_getRouteStageFiltered HTTP POST "/v1/route-stage-filtered/get"

ListRouteStagesFiltered

Аналогичная команде sedRoute_listRouteStages, однако возвращает отфильтрованный список участников стадии.

Команда Путь
sed_listRouteStagesFiltered HTTP POST "/v1/route-stage-filtered/list"

ListRouteStageLinkFiltered

На входе ID запроса услуги и search для поиск routeStageLinks проксирует метод sedroute_listRouteStageLink и фильтрует переходы

{
  "servicereRequestId": "1c0a4295-52b2-4161-b2ac-3804d84326e1",  
  "search": {
    "query": "",
    "context": {
    }
  }
}

На выходе список отфильтрованных переходов

{
    "status": "Completed",
    "timestamp": 1756440147099,
    "value": {
        "items": [
            {
                "id": "44b4e662-822f-4ae3-833e-45634f65f41f",
                "title": "Отправить регламент на государственную регистрацию",
                "stageFrom": {
                    "id": "a1c87b82-7f1a-4af3-8a8b-0479117c8d36",
                    "title": "Утверждение регламента",
                    "data": {
                        "type": "Review",
                        "number": {
                            "components": [
                                14
                            ],
                            "displayNumber": "14",
                            "sortingNumber": 492581209243648,
                            "stageNumberType": "Intermediate"
                        },
                        "addTask": {
                            "details": {
                                "title": "Утверждение регламента",
                                "taskType": "RegulationApproval",
                                "description": "Необходимо загрузить подписанный регламент"
                            },
                            "responsible": [
                                {
                                    "show": null,
                                    "isDeveloper": false,
                                    "stageUserIds": [
                                        "a6ba967b-a112-4d4d-8692-479223d2c596"
                                    ],
                                    "isAutoAssigned": true,
                                    "stageDepartmentId": "f0d76e47-7b53-44d3-9b86-e3f03d44a15c"
                                }
                            ],
                            "autoFillResponsible": {
                                "authorDepartment": false,
                                "responsibleSubjectDepartment": false,
                                "serviceCardDepartmentResponsible": true,
                                "serviceCardCooperativeDepartments": true,
                                "interdepartmentalInteractionResponsible": false
                            }
                        },
                        "dataType": "base",
                        "parentData": null,
                        "archiveCard": null,
                        "isShortRoute": null,
                        "checkSettings": {
                            "archivedFields": [],
                            "signatureChecks": [
                                "ExaminationReportSignatureExists",
                                "DigitalExaminationReportSignatureExists",
                                "DisagreementsProtocolSignatureExists"
                            ],
                            "checkResponsible": false,
                            "checkSubServices": false,
                            "regulationChecks": [
                                "ExaminationReportExists",
                                "DigitalExaminationReportExists"
                            ],
                            "checkCommentResolutions": false,
                            "checkNotWorkingInSystemSolutions": false
                        },
                        "showAllCycles": null,
                        "developerStage": null,
                        "autoNegotiation": null,
                        "commentSettings": {
                            "commentSections": [],
                            "commentingAbility": false
                        },
                        "entitiesChanges": [
                            {
                                "changes": [
                                    {
                                        "fieldName": "status",
                                        "fieldValue": "RegulationApproval"
                                    }
                                ],
                                "entityType": "ServiceRequest",
                                "contextPath": "id"
                            },
                            {
                                "changes": [
                                    {
                                        "fieldName": "status",
                                        "fieldValue": "RegulationApproval"
                                    }
                                ],
                                "entityType": "Regulation",
                                "contextPath": "serviceRequest.id"
                            }
                        ],
                        "specialAttribute": null,
                        "publishEntityType": null,
                        "deadlineConditions": {
                            "unlimited": true
                        },
                        "isProfilingAllowed": false,
                        "isExpertiseDeclined": null,
                        "canTakeResponsibility": false,
                        "isRegisteredRegulation": null,
                        "internalApprovalAbility": true,
                        "isDepartmentResponsibility": null,
                        "regulationAttributeSettings": {
                            "readAttributes": [
                                "regulationProject",
                                "customerAssessment",
                                "regulationGovLink",
                                "examinationStartDate",
                                "examinationEndDate",
                                "disagreementsProtocol",
                                "examinationReport",
                                "digitalExaminationReport"
                            ],
                            "writeAttributes": [
                                "signedRegulation",
                                "electronicSignature",
                                "departmentRegistrationDate",
                                "departmentRegistrationNumber",
                                "regulationCancellationAct",
                                "responsibilityDocument"
                            ]
                        }
                    },
                    "stageTypeId": "Intermediate"
                },
                "stageTo": {
                    "id": "fed19bda-f0eb-4d78-9bb8-62f9381de78f",
                    "title": "Государственная регистрация",
                    "data": {
                        "type": "Edit",
                        "number": {
                            "components": [
                                15
                            ],
                            "displayNumber": "15",
                            "sortingNumber": 527765581332480,
                            "stageNumberType": "Intermediate"
                        },
                        "addTask": {
                            "details": {
                                "title": "Государственная регистрация",
                                "taskType": "GovernmentRegistration",
                                "description": "Необходимо проверить регламент услуги, при необходимости оставить комментарии и проставить визу"
                            },
                            "responsible": [
                                {
                                    "show": null,
                                    "isDeveloper": false,
                                    "stageUserIds": [],
                                    "isAutoAssigned": true,
                                    "stageDepartmentId": "7b2e9024-de44-4301-9d2d-76315da5e678"
                                }
                            ],
                            "autoFillResponsible": {
                                "authorDepartment": false,
                                "fillOGRNDepartments": {
                                    "ogrn": [
                                        "1037739668834"
                                    ]
                                },
                                "responsibleSubjectDepartment": false,
                                "serviceCardDepartmentResponsible": false,
                                "interdepartmentalInteractionResponsible": false
                            }
                        },
                        "dataType": "base",
                        "parentData": null,
                        "archiveCard": null,
                        "isShortRoute": null,
                        "checkSettings": {
                            "archivedFields": [],
                            "signatureChecks": [
                                "SignedRegulationSignatureExists"
                            ],
                            "checkResponsible": false,
                            "checkSubServices": false,
                            "regulationChecks": [
                                "DepartmentRegistrationExists"
                            ],
                            "checkCommentResolutions": false,
                            "checkNotWorkingInSystemSolutions": false
                        },
                        "showAllCycles": null,
                        "developerStage": null,
                        "autoNegotiation": null,
                        "commentSettings": {
                            "commentSections": [
                                "ServicePassport",
                                "SubService",
                                "Comment"
                            ],
                            "commentingAbility": true
                        },
                        "entitiesChanges": [
                            {
                                "changes": [
                                    {
                                        "fieldName": "status",
                                        "fieldValue": "GovernmentRegistration"
                                    }
                                ],
                                "entityType": "ServiceRequest",
                                "contextPath": "id"
                            },
                            {
                                "changes": [
                                    {
                                        "fieldName": "status",
                                        "fieldValue": "GovernmentRegistration"
                                    }
                                ],
                                "entityType": "Regulation",
                                "contextPath": "serviceRequest.id"
                            }
                        ],
                        "specialAttribute": {
                            "attribute": {
                                "name": "isShortRoute",
                                "value": true,
                                "negateValue": false
                            },
                            "stageNumberToWrite": "9"
                        },
                        "publishEntityType": null,
                        "deadlineConditions": {
                            "unlimited": true
                        },
                        "isProfilingAllowed": false,
                        "isExpertiseDeclined": null,
                        "canTakeResponsibility": false,
                        "isRegisteredRegulation": null,
                        "internalApprovalAbility": true,
                        "isDepartmentResponsibility": null,
                        "regulationAttributeSettings": {
                            "readAttributes": [
                                "regulationProject",
                                "customerAssessment",
                                "regulationGovLink",
                                "examinationStartDate",
                                "examinationEndDate",
                                "disagreementsProtocol",
                                "examinationReport",
                                "signedRegulation",
                                "electronicSignature",
                                "departmentRegistrationDate",
                                "departmentRegistrationNumber",
                                "regulationCancellationAct",
                                "responsibilityDocument",
                                "digitalExaminationReport"
                            ],
                            "writeAttributes": [
                                "governmentRegistrationDate",
                                "governmentRegistrationNumber",
                                "registrationReport",
                                "regulationProject",
                                "registeredRegulation"
                            ]
                        }
                    },
                    "stageTypeId": "Intermediate"
                },
                "conditions": {
                    "rules": [
                        {
                            "default": {
                                "priority": 0
                            }
                        }
                    ],
                    "linkType": "positive",
                    "passToRoute": null,
                    "conditionText": null,
                    "crossRouteLink": null,
                    "alternativeStage": null,
                    "routeStageUpdates": null
                },
                "created": 1753189643549,
                "createdBy": "cff3660d-b6d4-425e-96ff-6f2fcfda21ec",
                "modified": 1753189643549,
                "modifiedBy": "cff3660d-b6d4-425e-96ff-6f2fcfda21ec",
                "removed": false,
                "hidden": false,
                "version": 1
            }
        ],
        "total": 1
    }
}

Фильтрует переходы команды sedroute_listRouteStageLink по условиям

Команда Путь
sed_listRouteStageLinkFiltered HTTP POST "v1/route/list-route-stage-link-filtered"

GetRequestActionStatus

На входе UUID запроса

"c4b0de2c-0a42-458e-8c63-3a56deef4e65"

На выходе RequestStatusWithActions

{
  "requestStatus": {
    "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
    "eventVersion": 5,
    "isRunning": true
  },
  "actionStatuses": [
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "SaveSnapshotsEventAction",
      "isRunning": true,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "CopyRegisteredRegulationEventAction",
      "isRunning": true,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "SaveStageJournalAsyncEventAction",
      "isRunning": false,
      "error": "CannotSend: Can not handle command 'createEvent' []"
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "RequestChangeFieldsEventAction",
      "isRunning": false,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "ArchiveServiceCardEventAction",
      "isRunning": false,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "MarkCardChangeableEventAction",
      "isRunning": false,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "CopyObjectToPublishEventAction",
      "isRunning": false,
      "error": null
    },
    {
      "requestId": "c4b0de2c-0a42-458e-8c63-3a56deef4e65",
      "eventVersion": 5,
      "eventName": "RunInternalApprovalRequestsEventAction",
      "isRunning": false,
      "error": null
    }
  ]
}

Получение статуса выполнения экшенов запроса.

Команда Путь
sed_getRequestActionStatus HTTP POST "/v1/request-status/get"

GetCheckList

На входе UUID запроса и его тип

{
  "entityType": "ServiceRequest",
  "objectId": "e418e97c-4abb-494a-9dec-a46d0d9b457d"
}

На выходе [CheckList]

[
  {
    "routeStageLinkTitle": "Вернуть карточку услуги на доработку",
    "routeStageTitle": "1. Разработка карточки услуги",
    "checkListItems": []
  },
  {
    "routeStageLinkTitle": "Направить паспорт услуги на согласование",
    "routeStageTitle": "5. Разработка паспорта услуги",
    "checkListItems": [
      {
        "order": 0,
        "name": "Создать паспорт услуги",
        "code": "ServicePassport_cc0d4b05-a036-4ffe-8321-1765079e2908",
        "isDone": false,
        "children": [
          {
            "order": 0,
            "name": "Заполнить общие сведения",
            "code": "ServicePassport_servicePassportGeneral_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": false,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportGeneral"
            }
          },
          {
            "order": 1,
            "name": "Заполнить информацию об ответственных лицах",
            "code": "ServicePassport_servicePassportResponsible_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": true,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportResponsible"
            }
          },
          {
            "order": 2,
            "name": "Добавить способы подачи запроса (заявления)",
            "code": "ServicePassport_servicePassportApplicationMethod_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": false,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportApplicationMethod"
            }
          },
          {
            "order": 3,
            "name": "Добавить перечень документов, необходимых для предоставления услуги",
            "code": "ServicePassport_servicePassportDocument_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": false,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportDocument"
            }
          },
          {
            "order": 4,
            "name": "Заполнить межведомственное взаимодействие",
            "code": "ServicePassport_servicePassportInterdepartmentalInteraction_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": false,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportInterdepartmentalInteraction"
            }
          },
          {
            "order": 5,
            "name": "Заполнить причины отказа и приостановления",
            "code": "ServicePassport_servicePassportRejectAndSuspensionReason_cc0d4b05-a036-4ffe-8321-1765079e2908",
            "isDone": false,
            "children": [],
            "data": {
              "id": "cc0d4b05-a036-4ffe-8321-1765079e2908",
              "entityType": "ServicePassport",
              "fieldGroup": "servicePassportRejectAndSuspensionReason"
            }
          }
        ],
        "data": null
      },
      {
        "order": 1,
        "name": "Создать подуслуги",
        "code": "SubService",
        "isDone": false,
        "children": [
          {
            "order": 0,
            "name": "Название подуслуги",
            "code": "SubService_61af31be-c8e7-4c83-a2ce-61dd142661c3",
            "isDone": false,
            "children": [
              {
                "order": 0,
                "name": "Заполнить информацию о подуслуге",
                "code": "SubService_subServiceGeneral_61af31be-c8e7-4c83-a2ce-61dd142661c3",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "61af31be-c8e7-4c83-a2ce-61dd142661c3",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceGeneral"
                }
              },
              {
                "order": 1,
                "name": "Заполнить результат оказания услуги",
                "code": "SubService_subServiceResultTitle_61af31be-c8e7-4c83-a2ce-61dd142661c3",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "61af31be-c8e7-4c83-a2ce-61dd142661c3",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceResultTitle"
                }
              },
              {
                "order": 2,
                "name": "Заполнить состав административных процедур и действий",
                "code": "SubService_subServiceAdminProcedure_61af31be-c8e7-4c83-a2ce-61dd142661c3",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "61af31be-c8e7-4c83-a2ce-61dd142661c3",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceAdminProcedure"
                }
              },
              {
                "order": 3,
                "name": "Настроить профилирование",
                "code": "SubService_subServiceProvisionOption_61af31be-c8e7-4c83-a2ce-61dd142661c3",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "61af31be-c8e7-4c83-a2ce-61dd142661c3",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceProvisionOption"
                }
              }
            ],
            "data": null
          },
          {
            "order": 0,
            "name": "Другая подуслуга",
            "code": "SubService_27755773-7605-4681-b060-23c15ed6fb43",
            "isDone": false,
            "children": [
              {
                "order": 0,
                "name": "Заполнить информацию о подуслуге",
                "code": "SubService_subServiceGeneral_27755773-7605-4681-b060-23c15ed6fb43",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "27755773-7605-4681-b060-23c15ed6fb43",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceGeneral"
                }
              },
              {
                "order": 1,
                "name": "Заполнить результат оказания услуги",
                "code": "SubService_subServiceResultTitle_27755773-7605-4681-b060-23c15ed6fb43",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "27755773-7605-4681-b060-23c15ed6fb43",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceResultTitle"
                }
              },
              {
                "order": 2,
                "name": "Заполнить состав административных процедур и действий",
                "code": "SubService_subServiceAdminProcedure_27755773-7605-4681-b060-23c15ed6fb43",
                "isDone": false,
                "children": [],
                "data": {
                  "id": "27755773-7605-4681-b060-23c15ed6fb43",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceAdminProcedure"
                }
              },
              {
                "order": 3,
                "name": "Настроить профилирование",
                "code": "SubService_subServiceProvisionOption_27755773-7605-4681-b060-23c15ed6fb43",
                "isDone": true,
                "children": [],
                "data": {
                  "id": "27755773-7605-4681-b060-23c15ed6fb43",
                  "entityType": "SubService",
                  "fieldGroup": "subServiceProvisionOption"
                }
              },
              {
                "order": 4,
                "name": "Настроить варианты предоставления",
                "code": "ProvisionOption",
                "isDone": true,
                "children": [
                  {
                    "order": 0,
                    "name": "Вариант 1",
                    "code": "ProvisionOption_9b029a3a-a9ea-4835-ae25-d37d390c3d41",
                    "isDone": true,
                    "children": [
                      {
                        "order": 0,
                        "name": "Заполнить общие сведения",
                        "code": "ProvisionOption_provisionOptionGeneral_9b029a3a-a9ea-4835-ae25-d37d390c3d41",
                        "isDone": true,
                        "children": [],
                        "data": {
                          "id": "9b029a3a-a9ea-4835-ae25-d37d390c3d41",
                          "entityType": "ProvisionOption",
                          "parentId": "27755773-7605-4681-b060-23c15ed6fb43",
                          "fieldGroup": "provisionOptionGeneral"
                        }
                      },
                      {
                        "order": 1,
                        "name": "Заполнить состав административных процедур",
                        "code": "ProvisionOption_provisionOptionAdminProcedures_9b029a3a-a9ea-4835-ae25-d37d390c3d41",
                        "isDone": true,
                        "children": [],
                        "data": {
                          "id": "9b029a3a-a9ea-4835-ae25-d37d390c3d41",
                          "entityType": "ProvisionOption",
                          "parentId": "27755773-7605-4681-b060-23c15ed6fb43",
                          "fieldGroup": "provisionOptionAdminProcedures"
                        }
                      }
                    ],
                    "data": null
                  }
                ],
                "data": null
              }
            ],
            "data": null
          }
        ],
        "data": null
      },
      {
        "order": 3,
        "name": "Настроить участников внутриведомственного согласования",
        "code": "CheckResponsible",
        "isDone": false,
        "children": [],
        "data": null
      },
      {
        "order": 4,
        "name": "Поставить резолюции по всем комментариям",
        "code": "CheckCommentResolution",
        "isDone": false,
        "children": [],
        "data": {
          "entities": [
            {
              "classCode": "ServicePassport",
              "entityId": "c6863b10-ab1b-48bd-96dc-95567cf70363"
            }
          ]
        }
      }
    ]
  },
  {
    "routeStageLinkTitle": "Прервать разработку",
    "routeStageTitle": "Запрос отправлен в архив",
    "checkListItems": []
  }
]

Получение чек-листа стадии запроса.

Команда Путь
sed_getCheckList HTTP POST "/v1/check-list/get"

На входе UUID записи о присоединении

"1f4039f0-e7ba-4d5c-9cec-00fc408c3331"

На выходе атрибуты записи о присоединении

{
  "id": "1f4039f0-e7ba-4d5c-9cec-00fc408c3331",
  "entityType": "ProvideDepartmentLink",
  "created": 1742884065123,
  "modified": 1742884065123,
  "version": 1,
  "provideDepartment": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
  "dateConnected": 1742884065123,
  "dateDisconnected": 1742884065123
}

Получение записи о присоединении к регламенту

Команда Путь Тип сущности
sed_getProvideDepartmentLink HTTP POST "/v1/provide-department-link/get" ProvideDepartmentLink

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов записей о присоединении

{
  "items": [
    {
      "id": "1f4039f0-e7ba-4d5c-9cec-00fc408c3331",
      "entityType": "ProvideDepartmentLink",
      "created": 1742884065123,
      "modified": 1742884065123,
      "version": 1,
      "provideDepartment": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
      "dateConnected": 1742884065123,
      "dateDisconnected": 1742884065123
    }
  ],
  "total": 1
} 

Получение списка записей о присоединении к регламенту

Команда Путь Тип сущности
sed_listProvideDepartments HTTP POST "/v1/provide-department-link/list" ProvideDepartmentLink

На входе ID ServiceCardPublish к которой нужно присоединиться

"6ff1bb6f-a291-4c9c-8e42-3577251542ec"

На выходе созданный ID ProvideDepartmentLinkPublish

"6155cc3a-3c3d-41d6-afd4-adf92e36018c"

Присоединение ведомства к опубликованной карточке

Команда Путь Action ResourceType ResourceId
sed_connectProvideDepartmentToServiceCard Kafka Topic "sed_commands" ConnectDepartmentLink ServiceCardPublish id

На входе ID ServiceCardPublish от которой нужно отсоединиться

"6ff1bb6f-a291-4c9c-8e42-3577251542ec"

На выходе пустое тело ответа

{}

Отсоединение ведомства от опубликованной карточки

Команда Путь Action ResourceType ResourceId
sed_disconnectProvideDepartmentFromServiceCard Kafka Topic "sed_commands" DisconnectDepartmentLink ServiceCardPublish id

SolveProvideDepartmentLinkConnection

На входе ID ServiceCardPublish и решение

{
  "serviceCardPublishId": "9fa2ed86-22b2-4527-bf00-7a2f841e76a7",
  "solution": "Positive"
}

На выходе измененный ProvideDepartmentLinkPublish

{
  "id": "1f4039f0-e7ba-4d5c-9cec-00fc408c3331",
  "entityType": "ProvideDepartmentLink",
  "created": 1742884065123,
  "modified": 1742884065123,
  "version": 1,
  "provideDepartment": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
  "dateConnected": 1742884065123,
  "dateDisconnected": 1742884065123,
  "authorId": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8",
  "solutionAuthorId": "a08bcb0d-e23a-43af-9120-1f9170f8e5a8"
}

Подтверждение присоединения/отсоединения ведомства к опубликованной карточке

Команда Путь Action ResourceType ResourceId
sed_solveProvideDepartmentLinkConnection Kafka Topic "sed_commands" SolveDepartmentLinkConnection ServiceCardPublish serviceCardPublishId

ServiceChangeRoute

Сокращенный маршрут изменения государственной услуги.

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

Всего маршрут включает в себя четыре стадии:

  1. Внесение изменений в услугу
  2. Внутриведомственное согласование
  3. Изменения опубликованы
  4. Запрос отправлен в архив

Инициация маршрута возможна только при следующих условиях (в скобках указаны имена политик в системе авторизации):

Изменение атрибутов паспорта возможно только на 1 стадии (Внесение изменений в услугу)

Список разрешенных атрибутов определяется справочником ChangeImmutableAttributes в сервисе Alexandrina (на стороне фронтенда)

При публикации маршрута изменения услуги публикуются карточка и паспорт услуги. Регламент не затрагивается

Инициация маршрута изменения государственной услуги (ServiceChangeRequest)

{
  "routeId": "ServiceChangeRoute",
  "routeEntityClassCode": "ServiceChangeRequest",
  "data": {
    "publishedServiceCardId": "f1e120e6-2cd3-46d7-ba91-17404897c6a4"
  }
}

На выходе id запроса (он же id сущности ServiceChangeRequest в сервисе DataModel)

"b8871219-f3ed-4e4b-aa30-a166fdfc72eb"

Для инициации маршрута используется команда StartRoute

Поля routeId и routeEntityClassCode являются константными, в publishedServiceCardId подставляется id опубликованной карточки услуги.

Команда есть в описании StartRoute

Команда и путь Action ResourceType ResourceId
Указаны в StartRoute CreateServiceChangeRequest ServiceCardPublish publishedServiceCardId

GetServiceChangeRequest

На входе id запроса

"b8871219-f3ed-4e4b-aa30-a166fdfc72eb"

На выходе атрибуты сущности ServiceChangeRequest

{
  "status": "Completed",
  "timestamp": 1757660125329,
  "value": {
    "id": "b8871219-f3ed-4e4b-aa30-a166fdfc72eb",
    "authorId": "286b3812-877b-4a23-a7e1-b30ab1bc751f",
    "originalId": null,
    "created": 1757660095217,
    "modified": 1757660121678,
    "version": 1,
    "status": "Draft",
    "serviceCardPublish": {
      "id": "f1e120e6-2cd3-46d7-ba91-17404897c6a4"
    },
    "serviceCard": {
      "id": "905e0f0d-4269-4f3a-b4d8-667ab35da36a",
      "entityType": "ServiceCard",
      "fullTitle": "Документация"
    },
    "servicePassport": {"id":"ba56eb15-e74f-4470-88bd-1bfbc317e204","status":"Published"),
    "entityType": "ServiceChangeRequest"
  }
}

Команда возвращает полное дерево запроса изменения государственной услуги (кроме подуслуг и вариантов предоставления)

Команда Путь
sed_getServiceChangeRequest HTTP POST "/v1/change-request/get"

ListServiceChangeRequests

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "id",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список запросов на изменение

[
  {
    "status": "Completed",
    "timestamp": 1757660125329,
    "value": {
      "id": "b8871219-f3ed-4e4b-aa30-a166fdfc72eb",
      "authorId": "286b3812-877b-4a23-a7e1-b30ab1bc751f",
      "originalId": null,
      "created": 1757660095217,
      "modified": 1757660121678,
      "version": 1,
      "status": "Draft",
      "serviceCardPublish": {
        "id": "f1e120e6-2cd3-46d7-ba91-17404897c6a4"
      },
      "serviceCard": {
        "id": "905e0f0d-4269-4f3a-b4d8-667ab35da36a",
        "entityType": "ServiceCard",
        "fullTitle": "Документация"
      },
      "servicePassport": {"id":"ba56eb15-e74f-4470-88bd-1bfbc317e204", "status":"Published"),
      "entityType": "ServiceChangeRequest"
    }
  }
]

Получение списка запросов на изменение с фильтрацией, сортировкой и пагинацией.

Команда Путь
sed_listServiceChangeRequests HTTP POST "/v1/change-request/list"

ListServiceRequestRegistry

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "sorting": {
    "fieldName": "id",
    "order": "desc"
  },
  "paging": {
    "page": 1,
    "count": 5
  }
}

На выходе список запросов

[
  {
    "id": "b8871219-f3ed-4e4b-aa30-a166fdfc72eb",
    "entityType": "ServiceChangeRequest",
    "serviceCard": {
      "serviceType": "Other",
      "idFrgu2": "idFrgu2",
      "fullTitle": "fullTitle",
      "shortTitle": "shortTitle",
      "administrativeLevel": "administrativeLevel"
    }
  },
  {
    "id": "31885943-02f2-44a4-97b0-6a49fafd034a",
    "entityType": "ServiceRequest",
    "serviceCard": {}
  }
]

Получение реестра услуг, включающего в себя следующие типы услуг: - Запрос на создание услуги ServiceRequest - Сокращенный запрос на изменение услуги ServiceChangeRequest

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

Пример структуры, по которой применяются фильтры

{
  "entityType": "ServiceCard",
  "data": {
    "serviceType": "Municipal"
  },
  "serviceRequest": {
    "entityType": "ServiceRequest",
    "data": {
      "status": "RegulationExpertises"
    }
  },
  "serviceChangeRequest": {
    "entityType": "ServiceChangeRequest",
    "data": {
      "status": "Draft"
    }
  }
}

Поэтому все фильтры должны учитывать приблизительно структуру из примера. Важно, что в одной карточке не может быть и serviceRequest, и serviceChangeRequest. Такая структура приведена лишь для примера

Например, если мы хотим найти ServiceChangeRequest для которого id будет 00007363-0001-0000-0000-000000000000, тогда фильтр будет "serviceChangeRequest.id": "00007363-0001-0000-0000-000000000000".

Такая особенность также позволяет фильтроваться и по информации из сущности ServiceCard. Например, мы хотим отфильтроваться по serviceType из карточки и по status из самого запроса. В таком случае, query будет выглядеть: "data.serviceType && serviceRequest.data.status"

Команда Путь
sed_listServiceRequestRegistry HTTP POST "/v1/service-request-registry/list"

GetCustomerCentricity

На входе id объекта

"2e453042-8ef2-48f0-98fc-d1e5ca9605f8"

На выходе атрибуты оценки клиентоцентричности

{
  "id": "2e453042-8ef2-48f0-98fc-d1e5ca9605f8",
  "originalId": null,
  "entityType": "CustomerCentricity",
  "title": "CustomerCentricity 2e453042-8ef2-48f0-98fc-d1e5ca9605f8",
  "version": 1,
  "created": 1759491807385,
  "modified": 1759491807385,
  "source": "sed",
  "isDraft": true,
  "markCriticality": null,
  "checklistCriticalityValue": null,
  "highCriticalityValue": null,
  "mediumCriticalityValue": null,
  "lowCriticalityValue": null,
  "isRealTimeProvidedEPGU": "Yes",
  "isProactiveProvidedEPGU": "Yes",
  "isNonDeclarativeEnabled": "Yes"
}

Получение сущности Оценка клиентоцентричности

Команда Путь Тип сущности
sed_getCustomerCentricity HTTP POST "v1/customer-centricity/get CustomerCentricity
sed_getPublishedCustomerCentricity HTTP POST "v1/customer-centricity-publish/get CustomerCentricityPublish

ListCustomerCentricity

На входе пустое тело, либо параметры фильтрации, сортировки и пагинации

{
  "query": "",
  "context": {},
  "paging": {
    "page": 1,
    "count": 1
  }
}

На выходе список атрибутов записей о присоединении

{
  "items": [
    {
      "id": "2e453042-8ef2-48f0-98fc-d1e5ca9605f8",
      "originalId": null,
      "entityType": "CustomerCentricity",
      "title": "CustomerCentricity 2e453042-8ef2-48f0-98fc-d1e5ca9605f8",
      "version": 1,
      "created": 1759491807385,
      "modified": 1759491807385,
      "source": "sed",
      "isDraft": true,
      "markCriticality": null,
      "checklistCriticalityValue": null,
      "highCriticalityValue": null,
      "mediumCriticalityValue": null,
      "lowCriticalityValue": null,
      "isRealTimeProvidedEPGU": "Yes",
      "isProactiveProvidedEPGU": "Yes",
      "isNonDeclarativeEnabled": "Yes"
    }
  ],
  "total": 1
} 

Получение списка Оценок клиентоцентричности

Команда Путь Тип сущности
sed_listCustomerCentricity HTTP POST "/v1/customer-centricity/list" CustomerCentricity
sed_listPublishedCustomerCentricity HTTP POST "/v1/customer-centricity-publish/list" CustomerCentricityPublish

UpdateCustomerCentricity

На входе список атрибутов оценки клиентоцентричности, ID и версия оптимистической блокировки

[
  {
    "id": "ac5507e9-3274-43d2-b6a2-aa79d4de295d",
    "version": 1,
    "data": {
      "isRealTimeProvidedEPGU": "No"
    }
  }
]

На выходе пустое тело ответа со HTTP статусом OK(200)


Команда Путь Action ResourceType ResourceId
sed_updateCustomerCentricity Kafka Topic "sed_commands" UpdateCustomerCentricity CustomerCentricity id

ListRegistryByCatalog

На входе параметры фильтрации, сортировки и пагинации, а также код справочника и значение. entityType может быть трёх видов, ServiceRequest, ServiceChangeRequest, ServiceRequestTemplate.

{
  "catalogCode": "Document",
  "catalogItemId": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
  "entityType": "ServiceRequest",
  "search": {
    "query": "serviceCard.serviceType",
    "context": {
      "serviceCard.serviceType": "Municipal"
    },
    "sorting": {
      "fieldName": "number",
      "order": "Desc"
    },
    "page": {
      "page": 1,
      "count": 10
    }
  }
}

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

{
  "items": [
    {
      "id": "039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "entityType": "ServiceRequest",
      "title": "ServiceRequest 039ecfe4-e9d9-470c-9f37-3630b396b3ab",
      "source": "sed",
      "created": 1697784695411,
      "modified": 1697784695411,
      "version": 1,
      "originalId": null,
      "authorId": "a912a0e0-719a-4d81-835b-d15c7080755b",
      "serviceCard": {
        "id": "d5341366-8916-4da5-a203-a8db3e84c4c5",
        "shortTitle": "Краткое название",
        "serviceType": "Municipal",
        "administrativeLevel": "Municipal",
        "federalSubject": "Altai",
        "department": "Department",
        "number": "0000016",
        "created": 1698304614647,
        "modified": 1698304614647
      },
      "servicePassport": {
        "id": "c7ab5004-fff5-4258-b3ad-3966fbd7edac",
        "status": "Published"
      }
    }
  ],
  "total": 1
} 

Получение списка услуг

Команда Путь
sed_listRegistryByCatalog HTTP POST "/v1/catalog-registry/list"

Объекты сервиса sed

StartRouteDTO

Поле Тип Обязательное Описание
routeEntityClassCode string да Тип сущности
routeId string да Id маршрута
data object нет Данные для создания запроса

AuthorizeDTO

Поле Тип Обязательное Описание
resourceId uuid нет Идентификатор объекта
resourceType string нет Типа объекта
actions string[] да Список идентификаторов действий
attributes [string, string[]] нет Список аттрибутов объекта
Поле Тип Обязательное Описание
query string да Запрос
context [string, string] да Контекст запроса
sorting Sorting нет Сортировка
paging Paging нет Пагинация

Sorting

Поле Тип Обязательное Описание
fieldName string да Поле сортировки
Order "asc"/"desc" да Направление сортировки

Paging

Поле Тип Обязательное Описание
page int да Номер страницы
count int да Кол-во записей на странице

UpdateDTO

Поле Тип Обязательное Описание
id uuid да ID объекта в модели данных
version int да Версия в модели данных для оптимистичной блокировки
data jsonObject да Атрибуты для обновления

RequestIdWithType

Поле Тип Обязательное Справочник/Сервис Описание
entityType string да EntityType Тип запроса для согласования
requestId uuid да dataModel ID запроса для согласования

StageSolutionCreate

Поле Тип Обязательное Сервис Описание
requestId uuid да ID запроса, к которому относится решение
routeEntityId uuid да sedTaskManager ID маршрута сущности
routeStageId uuid да sedTaskManager ID стадии маршрута
routeStageLinkId uuid да sedTaskManager ID перехода между стадиями маршрута
comment string нет Комментарий
isLegalTechnicalNotes boolean да Признак юр-тех замечаний

StageSolutionDepartmentCreate

Поле Тип Обязательное Сервис Описание
requestId uuid да ID запроса, к которому относится решение
routeEntityId uuid да sedTaskManager ID маршрута сущности
routeStageId uuid да sedTaskManager ID стадии маршрута
routeStageLinkId uuid да sedTaskManager ID перехода между стадиями маршрута
departmentId uuid да hierarchyEntities ID органа власти
comment string нет Комментарий

StageSolution

Поле Тип Обязательное Сервис Описание
id uuid да dataModel ID Решения участника стадии в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
authorId uuid да mon ID пользователя - автора решения
authorEmployeeId uuid да cnmd-api-adapter ID сотрудника - автора решения
taskId uuid нет sedTaskManager ID Задачи (Task): entityId = routeEntityId, responsible = userId;
и есть Вложение (TaskAttach): entityId = routeStageId, taskId = taskId
routeEntityId uuid да sedTaskManager ID маршрута сущности
routeStageId uuid да sedTaskManager ID стадии маршрута
routeStageLinkId uuid да sedTaskManager ID перехода между стадиями маршрута
comment string нет Комментарий
stageHistoryId uuid нет ID истории стадии запроса, к которой относится данное решение
autoNegotiation boolean да Параметр об автоматическом согласовани

ListDepartmentStageSolutionsDTO

Поле Тип Обязательное Сервис Описание
departmentIds uuid[] да hierarchyEntities Список ID ведомств
routeEntityId uuid да sedRoute ID маршрута сущности
routeStageId uuid да sedRoute ID стадии маршрута
stageHistoryId uuid нет ID истории стадии запроса, к которой относится данное решение

StageHistory

Поле Тип Обязательное Сервис Описание
id uuid да ID Решения участника стадии в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
requestEntityType string да Тип сущности запроса, к которому относится данная история
requestId uuid да ID запроса, к которому относится данная история
requestVersionId uuid да Версия запроса, к которой относится данная история
routeStageId uuid да sedRoute Стадия, к которой относится данная история
routeStageSnapshotId uuid да sedRoute Версия стадии маршрута, к которой относится данная история
cycleNumber uuid да Номер цикла стадии
targetDate timestamp да Нормативный срок стадии

GetVoteAbilityDTO

Поле Тип Обязательное Сервис Описание
routeEntityId uuid да sedTaskManager ID маршрута сущности
routeStageId uuid да sedTaskManager ID стадии маршрута

StageHistoryInfo

Поле Тип Обязательное Сервис Описание
stageHistory Stagehistory да sed История Стадии
overdue boolean да sed Флаг просрочки

StageInfo

Поле Тип Обязательное Сервис Описание
stageDetails RouteStage да sedRoute Атрибуты сущности RouteStage
stageHistory StageHistoryInfo[] да sed Список циклов данной стадии
stageStatus string да sed Статус стадии

OtherServiceCard

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
providingDivisions string[] да ProvidingDivision Информация о подразделениях, предоставляющих услугу
providingDivisionsManual string[] нет Информация о подразделениях, предоставляющих услугу (заполняется вручную)
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] нет НПА, которыми установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал
invalidationActId uuid нет dataModel ID акта архивации

OtherServiceCardDTO

Поле Тип Обязательное Сервис Описание
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
providingDivisions string[] да ProvidingDivision Информация о подразделениях, предоставляющих услугу
providingDivisionsManual string[] нет Информация о подразделениях, предоставляющих услугу (заполняется вручную)
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] нет НПА, которым установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал

OtherServiceCardCreateDTO

Поле Тип Обязательное Сервис Описание
requestIdentity EntityObjectIdentity нет DataModel Идентификатор запроса родителя
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
providingDivisions string[] да ProvidingDivision Информация о подразделениях, предоставляющих услугу
providingDivisionsManual string[] нет Информация о подразделениях, предоставляющих услугу (заполняется вручную)
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] нет НПА, которыми установлены полномочия на предоставление услуги

MunicipalServiceCard

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
powerType string да PowerType Тип полномочий
transmittedPowerType string да TransmittedPowerType Тип переданных полномочий
cooperativeDepartments string[] нет Органы, ответственные за совместную разработку административного регламента
socialRelationsSphere string[] нет SocialRelationsSphere Сферы общественных отношений
electronicForm string нет Ссылка на электронную форму
invalidationActId uuid нет dataModel ID акта архивации

MunicipalServiceCardDTO

Поле Тип Обязательное Сервис Описание
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
powerType string да PowerType Тип полномочий
transmittedPowerType string да TransmittedPowerType Тип переданных полномочий
cooperativeDepartments string[] нет Органы, ответственные за совместную разработку административного регламента
socialRelationsSphere string[] нет SocialRelationsSphere Сферы общественных отношений
electronicForm string нет Ссылка на электронную форму

MunicipalServiceCardCreateDTO

Поле Тип Обязательное Сервис Описание
requestIdentity EntityObjectIdentity нет DataModel Идентификатор запроса родителя
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий регламент (порядок)
provideDepartment string да Орган, предоставляющий услугу
isTypical boolean нет Является ли услуга типовой
typicalService string нет TypicalService Наименование типовой услуги
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
powerType string да PowerType Тип полномочий
transmittedPowerType string да TransmittedPowerType Тип переданных полномочий
cooperativeDepartments string[] нет Органы, ответственные за совместную разработку административного регламента
socialRelationsSphere string[] нет SocialRelationsSphere Сферы общественных отношений
electronicForm string нет Ссылка на электронную форму

MandatoryServiceCard

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, ответственный за нормативно-правовое регулирование необходимой и обязательной услуги
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
provideDepartment string да Орган, предоставляющий услугу
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал
invalidationActId uuid нет dataModel ID акта архивации

MandatoryServiceCardDTO

Поле Тип Обязательное Сервис Описание
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, ответственный за нормативно-правовое регулирование необходимой и обязательной услуги
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
provideDepartment string да Орган, предоставляющий услугу
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги
originalId uuid нет dataModel Оригинал

MandatoryServiceCardCreateDTO

Поле Тип Обязательное Сервис Описание
requestIdentity EntityObjectIdentity нет DataModel Идентификатор запроса родителя
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string нет Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, ответственный за нормативно-правовое регулирование необходимой и обязательной услуги
administrativeProvisionLevel string да AdministrativeLevel Административный уровень предоставления
provideDepartment string да Орган, предоставляющий услугу
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги

StateTaskServiceCard

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий услугу
approveAuthority string да Орган, осуществляющий функции утвердившего государственное (муниципальное) задание (заказ)
typicalOrganizations string[] да TypicalOrganization Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа)
typicalOrganizationsManual string[] да Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа) (заполняется вручную)
applicantCategories string[] да ApplicantCategory Категории лиц, которым предоставляется услуга, в рамках госзадания (заказа)
topics string[] да Topic Тематики
provideDocuments string[] да Document Перечень документов, необходимых для предоставления услуги
provideInformation string[] да Перечень сведений, необходимых для предоставления услуги
regulationActs string[] да Перечень НПА, регламентирующих предоставление услуги
resultTypes string[] да ResultType Наименование результата оказания услуги
resultTitle string да Наименование результата оказания услуги
originalId uuid нет dataModel Оригинал
invalidationActId uuid нет dataModel ID акта архивации

StateTaskServiceCardDTO

Поле Тип Обязательное Сервис Описание
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий услугу
approveAuthority string да Орган, осуществляющий функции утвердившего государственное (муниципальное) задание (заказ)
typicalOrganizations string[] да TypicalOrganization Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа)
typicalOrganizationsManual string[] да Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа) (заполняется вручную)
applicantCategories string[] да ApplicantCategory Категории лиц, которым предоставляется услуга, в рамках госзадания (заказа)
topics string[] да Topic Тематики
provideDocuments string[] да Document Перечень документов, необходимых для предоставления услуги
provideInformation string[] да Перечень сведений, необходимых для предоставления услуги
regulationActs string[] да Перечень НПА, регламентирующих предоставление услуги
resultTypes string[] да ResultType Наименование результата оказания услуги
resultTitle string да Наименование результата оказания услуги
originalId uuid нет dataModel Оригинал

StateTaskServiceCardCreateDTO

Поле Тип Обязательное Сервис Описание
requestIdentity EntityObjectIdentity нет DataModel Идентификатор запроса родителя
serviceType string да ServiceType Тип услуги
idFrgu1 string нет Идентификатор ФРГУ 1.0
idFrgu2 string нет Идентификатор ФРГУ 2.0
fullTitle string да Полное наименование услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
municipality string нет Municipality Муниципалитет
department string да Орган, разрабатывающий услугу
approveAuthority string да Орган, осуществляющий функции утвердившего государственное (муниципальное) задание (заказ)
typicalOrganizations string[] да TypicalOrganization Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа)
typicalOrganizationsManual string[] да Учреждения (обособленные подразделения), предоставляющие услугу, в рамках госзадания (заказа) (заполняется вручную)
applicantCategories string[] да ApplicantCategory Категории лиц, которым предоставляется услуга, в рамках госзадания (заказа)
lifeSituations string[] да LifeSituation Жизненные ситуации
topics string[] да Topic Тематики
provideDocuments string[] да Document Перечень документов, необходимых для предоставления услуги
provideInformation string[] да Перечень сведений, необходимых для предоставления услуги
regulationActs string[] да Перечень НПА, регламентирующих предоставление услуги
resultTypes string[] да ResultType Наименование результата оказания услуги
resultTitle string да Наименование результата оказания услуги

ServiceRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
authorId uuid нет mon Id автора запроса
serviceCard ServiceCardMinimalDTO нет dataModel Поля карточки услуги
servicePassport [ObjectIdWithStatusField](#objectidwithstatusfield нет dataModel Id паспорта услуги
regulation [RegulationMinimal](#regulationminimal нет dataModel Регламент

ServiceCardMinimalDTO

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
department string да Ведомство

ServiceCardDTO

Обобщенный тип для всех карточек услуг

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
number string да Идентификатор услуги
status string да ServiceStatus Статус услуги
serviceType string да ServiceType Тип услуги
shortTitle string да Краткое наименование услуги
administrativeLevel string да AdministrativeLevel Административный уровень
federalSubject string нет Subject Субъект
department string да Ведомство
servicePassportPublish ObjectIdField(#objectidfield) нет ID паспорта
regulation ObjectIdField(#objectidfield) нет ID регламента
serviceRequest ObjectIdField(#objectidfield) нет ID услуги

ServiceCardArchive

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
servicePassportPublish ObjectIdField(#objectidfield) нет ID паспорта
regulation ObjectIdField(#objectidfield) нет ID регламента
serviceType string да ServiceType Тип услуги
status string да ServiceStatus Статус услуги
shortTitle string да Краткое наименование услуги
number string да Идентификатор услуги

InternalApprovalRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
parentEntityId uuid да ID родительской сущности
parentEntityType string да Тип родительской сущности
parenStageId uuid да ID стадии маршрута, на которой запускается внутреннее согласование
mainEntityId uuid да ID основной сущности
mainEntityType string да Тип основной сущности
mainStageId uuid да ID стадии основного маршрута, на которой запускается внутреннее согласование
ownerUserId uuid да ID пользователя владельца внутреннего согласования

InternalApprovalRequestCreateDTO

Поле Тип Обязательное Сервис Описание
parentEntityId uuid да ID родительской сущности
parentEntityType string да Тип родительской сущности
parenStageId uuid да ID стадии маршрута, на которой запускается внутреннее согласование
mainEntityId uuid да ID основной сущности
mainEntityType string да Тип основной сущности
mainStageId uuid да ID стадии основного маршрута, на которой запускается внутреннее согласование
ownerUserId uuid да ID пользователя владельца внутреннего согласования
routeStageDetails RouteStageDetails да ID пользователя владельца внутреннего согласования

RouteStageDetails

Поле Тип Обязательное Сервис Описание
stageUserIds uuid да Список ответственных на стадии
deadlineConditions json да Условия завершения стадии

StageResponsibleUpdateDTO

Поле Тип Обязательное Сервис Описание
routeStageId uuid да ID стадии
deadlineDate timestamp нет Срок стадии
stageDepartmentId uuid нет HierarchyEntities ID ведомства
stageUserIds uuid[] да Список ответственных на стадии

StageDepartmentsUpdateDTO

Поле Тип Обязательное Сервис Описание
routeStageId uuid да ID стадии
deadlineDate timestamp нет Срок стадии
stageDepartmentIds uuid[] да HierarchyEntities Список ведомств

AssignCurrentUserAsOneStageResponsibleDTO

Поле Тип Обязательное Сервис Описание
routeStageId uuid да ID стадии
stageDepartmentId uuid нет HierarchyEntities ID ведомства

ServicePassport

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
topics string[] да Topic Тематики
isDraft boolean да Признак черновика
isMFCDocument boolean да Возможность получения в МФЦ заверенного документа на бумажном носителе
isRepresentativeProvided boolean да Услуга предусматривает возможность обращения несовершеннолетних и (или) их законных представителей
isPermitting boolean да Относится ли услуга к разрешительной деятельности
startDate timestamp нет Дата начала оказания услуги
endDate timestamp нет Дата окончания оказания услуги
isAvailableAroundTheClock boolean да Входит ли услуга в перечень Концепции 24/7
isSociallyImportantService boolean да Относится ли услуга к МСЗУ
maxDeliveryPeriodAmount int нет Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string нет Максимальный срок предоставления услуги (единица измерения)
isTerritorialProvided boolean да Услуга предоставляется территориальными органами
counselingOffices string[] нет Офисы консультирования
isOnlineProvided boolean да Предоставление онлайн
isMaximumDateSpecified boolean да Закреплен ли в НПА максимальный срок предоставления услуги
approvingActDetails string нет Реквизиты акта, утверждающего регламент (при наличии)
lostForceActDetails string нет Реквизиты акта, утратившего силу (при наличии)
isSpecialProcedureSpecified boolean да Предусмотрен ли особый порядок вступления в силу
regulationDate timestamp нет Дата вступления в силу регламента
availabilityIndicators string[] да Показатели доступности
qualityIndicators string[] да Показатели качества
premisesRequirements string[] да Требования к помещениям
informingMethods string[] да Способы информирования о порядке предоставления услуги
abbreviationDepartment string да Сокращение органа власти (организации) для отображения в печатной форме
specialCalculatingMaxPeriod string нет Особый порядок исчисления максимального срока предоставления услуги
inForcePeriodAmount integer нет Период, в течении которого регламент вступает в силу (количество)
inForcePeriodUnit string нет TimeUnit Период, в течении которого регламент вступает в силу (единица измерения)
informationSystems string[] нет Информационные системы, используемые для предоставления Услуги
statusInformingMethods string[] нет InformingMethod Способы информирования об изменении статуса заявления
refuseMFC boolean да МФЦ могут принять решение об отказе в приеме заявления и документов
originalId uuid нет dataModel Оригинал
authorId uuid нет mon Id автора паспорта
mandatoryServiceCardPublish MandatoryServiceCard[] нет Id опубликованных карточек НиО услуг
rejectReason RejectReason[] нет Причины отказа
suspensionReason SuspensionReason[] нет Причины приостановления
applicationMethod ApplicationMethod[] нет Способы подачи заявления

ServicePassportDTO

Поле Тип Обязательное Сервис Описание
serviceType string да ServiceType Тип услуги
topics string[] да Topic Тематики
isDraft boolean да Признак черновика
isMFCDocument boolean да Возможность получения в МФЦ заверенного документа на бумажном носителе
isRepresentativeProvided boolean да Услуга предусматривает возможность обращения несовершеннолетних и (или) их законных представителей
isPermitting boolean да Относится ли услуга к разрешительной деятельности
startDate timestamp нет Дата начала оказания услуги
endDate timestamp нет Дата окончания оказания услуги
isAvailableAroundTheClock boolean да Входит ли услуга в перечень Концепции 24/7
isSociallyImportantService boolean да Относится ли услуга к МСЗУ
maxDeliveryPeriodAmount int нет Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string нет Максимальный срок предоставления услуги (единица измерения)
isTerritorialProvided boolean да Услуга предоставляется территориальными органами
counselingOffices string[] нет Офисы консультирования
isOnlineProvided boolean да Предоставление онлайн
isMaximumDateSpecified boolean да Закреплен ли в НПА максимальный срок предоставления услуги
approvingActDetails string нет Реквизиты акта, утверждающего регламент (при наличии)
lostForceActDetails string нет Реквизиты акта, утратившего силу (при наличии)
isSpecialProcedureSpecified boolean да Предусмотрен ли особый порядок вступления в силу
regulationDate timestamp нет Дата вступления в силу регламента
availabilityIndicators string[] да Показатели доступности
qualityIndicators string[] да Показатели качества
premisesRequirements string[] да Требования к помещениям
informingMethods string[] да Способы информирования о порядке предоставления услуги
abbreviationDepartment string да Сокращение органа власти (организации) для отображения в печатной форме
specialCalculatingMaxPeriod string нет Особый порядок исчисления максимального срока предоставления услуги
inForcePeriodAmount integer нет Период, в течении которого регламент вступает в силу (количество)
inForcePeriodUnit string нет TimeUnit Период, в течении которого регламент вступает в силу (единица измерения)
informationSystems string[] нет Информационные системы, используемые для предоставления Услуги
statusInformingMethods string[] нет InformingMethod Способы информирования об изменении статуса заявления
refuseMFC boolean да МФЦ могут принять решение об отказе в приеме заявления и документов
originalId uuid нет dataModel Оригинал
authorId uuid нет mon Id автора паспорта
mandatoryServiceCardPublish uuid[] нет Id опубликованных карточек НиО услуг

ServicePassportCreateDTO

Поле Тип Обязательное Сервис Описание
requestId EntityObjectIdentity да ServiceType Тип услуги
serviceType string да ServiceType Тип услуги
isDraft boolean да Признак черновика
isMFCDocument boolean да Возможность получения в МФЦ заверенного документа на бумажном носителе
isRepresentativeProvided boolean да Услуга предусматривает возможность обращения несовершеннолетних и (или) их законных представителей
topics string[] нет Topic Тематики
isPermitting boolean нет Относится ли услуга к разрешительной деятельности
startDate timestamp нет Дата начала оказания услуги
endDate timestamp нет Дата окончания оказания услуги
isAvailableAroundTheClock boolean нет Входит ли услуга в перечень Концепции 24/7
isSociallyImportantService boolean нет Относится ли услуга к МСЗУ
maxDeliveryPeriodAmount int нет Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string нет Максимальный срок предоставления услуги (единица измерения)
isTerritorialProvided boolean нет Услуга предоставляется территориальными органами
counselingOffices string[] нет Офисы консультирования
isOnlineProvided boolean нет Предоставление онлайн
isMaximumDateSpecified boolean нет Закреплен ли в НПА максимальный срок предоставления услуги
approvingActDetails string нет Реквизиты акта, утверждающего регламент (при наличии)
lostForceActDetails string нет Реквизиты акта, утратившего силу (при наличии)
isSpecialProcedureSpecified boolean нет Предусмотрен ли особый порядок вступления в силу
regulationDate timestamp нет Дата вступления в силу регламента
availabilityIndicators string[] нет Показатели доступности
qualityIndicators string[] нет Показатели качества
premisesRequirements string[] нет Требования к помещениям
informingMethods string[] нет Способы информирования о порядке предоставления услуги
abbreviationDepartment string нет Сокращение органа власти (организации) для отображения в печатной форме
specialCalculatingMaxPeriod string нет Особый порядок исчисления максимального срока предоставления услуги
inForcePeriodAmount integer нет Период, в течении которого регламент вступает в силу (количество)
inForcePeriodUnit string нет TimeUnit Период, в течении которого регламент вступает в силу (единица измерения)
informationSystems string[] нет Информационные системы, используемые для предоставления Услуги
statusInformingMethods string[] нет InformingMethod Способы информирования об изменении статуса заявления
refuseMFC boolean да МФЦ могут принять решение об отказе в приеме заявления и документов
documentsCreate DocumentCreateDTO нет dataModel Документы и способы подачи
interdepartmentalInteractionsCreate InterdepartmentalInteractionCreateDTO нет dataModel Межведомственное взаимодействие
paymentsCreate PaymentCreateDTO нет dataModel Платежи
rejectReasonCreate RejectReasonCreateDTO нет dataModel Причины отказа
suspensionReasonCreate SuspensionReasonCreateDTO нет dataModel Причины приостановления
applicationMethodsCreate ApplicationMethodCreateDTO нет dataModel Способы подачи заявления
mandatoryServiceCardPublish uuid[] нет dataModel ID опубликованных услуг НИОУ

ServicePassportUpdateDTO

Поле Тип Обязательное Сервис Описание
servicePassportUpdate UpdateDTO да Обновление паспорта
documentsCreate DocumentCreateDTO нет Новые документы и способы подачи
documentsDelete uuid[] нет Удаление документов
documentsUpdate DocumentUpdateDTO нет Изменение документов и способы подачи
paymentsCreate PaymentCreateDTO нет Новые платежи
paymentsDelete uuid[] нет Удаление платежей
paymentsUpdate UpdateDTO нет Изменение платежей
rejectReasonCreate RejectReasonCreateDTO нет dataModel Новые причины отказа
rejectReasonDelete uuid[] нет Удаление причин отказа
rejectReasonUpdate UpdateDTO нет Изменение причин отказа
suspensionReasonCreate SuspensionReasonCreateDTO нет dataModel Новые причины приостановления
suspensionReasonDelete uuid[] нет Удаление причин приостановления
suspensionReasonUpdate UpdateDTO нет Изменение причин приостановления
interdepartmentalInteractionsCreate InterdepartmentalInteractionCreateDTO нет Новые Межведомственные взаимодействия
interdepartmentalInteractionsDelete uuid[] нет Удаление Межведомственных взаимодействий
interdepartmentalInteractionsUpdate [UpdateDTO] нет Изменение Межведомственных взаимодействий
applicationMethodsCreate ApplicationMethodCreateDTO нет dataModel Новые способы подачи заявления
applicationMethodsDelete uuid[] нет dataModel Удаление способов подачи заявления
applicationMethodsUpdate UpdateDTO нет dataModel Изменение способов подачи заявления
responsiblePersonCreate ResponsiblePersonCreateDTO[] нет Список ответственных лиц на создание
responsiblePersonUpdate UpdateDTO[] нет Список ответственных лиц на обновление
responsiblePersonDelete uuid[] нет Список ответственных лиц на удаление

SubService

Поле Тип Обязательное Сервис Описание
id uuid да ID подуслуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
number string да Идентификатор подусулуги
isDraft boolean да Признак черновика
idFrgu1 string нет Идентификатор подусулуги в ФРГУ 1.0
idFrgu2 string нет Идентификатор подусулуги в ФРГУ 2.0
fullTitle string да Наименование подуслуги
applicantCategory string[] да ApplicantCategory Категории лиц, имеющих право на получение услуги
representativePossibility boolean да Возможность получения услуги представителем заявителя
preregistrationMethod string[] нет PreregistrationMethod Способы предварительной записи
registryModel boolean да Предоставляется ли подуслуга по реестровой модели?
isMaxPinTimeProvisionSubservices boolean да Закреплен ли в НПА максимальный срок предоставления подуслуги?
maxPeriodUnit string да TimeUnit Максимальный срок предоставления подуслуги
maxPeriodAmount int да Максимальный срок предоставления подуслуги
isProvidedExtraterritorial boolean да Предоставляется ли экстерриториально?
hasPreEntry boolean да Предварительная запись
resultTitleTypes ResultTitleType[] да Тип и наименование результата оказания услуги
waysObtainService string[] да ObtainWays Способы получения результата услуги
isResultReceivedElectronically boolean да Результат предоставляется в электронном виде?
isRegistryModel boolean да Вид электронной подписи заявителя
hasLimitedResources boolean да Ограниченность ресурсов
hasApplicantAssessments boolean да Процедура оценки заявителя
featuresPeriod string нет Описание особенностей срока предоставления услуги
requestForm file да Форма запроса (заявления)

SubServiceCreateDTO

Поле Тип Обязательное Сервис Описание
requestIdentity EntityObjectIdentity да dataModel ID запроса услуги в модели данных
idFrgu1 string нет Идентификатор подусулуги в ФРГУ 1.0
isDraft boolean да Признак черновика
idFrgu2 string нет Идентификатор подусулуги в ФРГУ 2.0
fullTitle string да Наименование подуслуги
applicantCategory string[] да ApplicantCategory Категории лиц, имеющих право на получение услуги
representativePossibility boolean да Возможность получения услуги представителем заявителя
preregistrationMethod string[] нет PreregistrationMethod Способы предварительной записи
registryModel boolean да Предоставляется ли подуслуга по реестровой модели?
isMaxPinTimeProvisionSubservices boolean да Закреплен ли в НПА максимальный срок предоставления подуслуги?
maxPeriodUnit string да TimeUnit Максимальный срок предоставления подуслуги
maxPeriodAmount int да Максимальный срок предоставления подуслуги
isProvidedExtraterritorial boolean да Предоставляется ли экстерриториально?
hasPreEntry boolean да Предварительная запись
resultTitleTypes ResultTitleType[] да Тип и наименование результата оказания услуги
isRegistryModel boolean да Вид электронной подписи заявителя
hasLimitedResources boolean да Ограниченность ресурсов
hasApplicantAssessments boolean да Процедура оценки заявителя
featuresPeriod string нет Описание особенностей срока предоставления услуги
requestForm file да Форма запроса (заявления)
administrativeProceduresCreate AdministrativeProcedureCreateDTO да Создание административных процедур

ResultTitleType

Поле Тип Обязательное Сервис Описание
resultType string да ResultType Тип результата оказания услуги
titleType string[] да Наименование результата оказания услуги

AdministrativeProcedure

Поле Тип Обязательное Сервис Описание
id uuid да ID административной процедуры в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
administrativeProcedure string да AdministrativeProcedure Административная процедура
electronicForm boolean да Возможность осуществления процедуры в электронном виде
maxPeriodAmount int нет Максимальный срок предоставления административной процедуры (количество)
maxPeriodUnit string нет TimeUnit Максимальный срок предоставления административной процедуры (единица измерения)
order int да Порядковый номер административной процедуры
proactiveMode boolean да Проставление признака участие в проактивном режиме
proactiveOrder integer нет Порядок в проактивном режиме
isAffectingDate boolean да Влияет на срок предоставления услуги
closeStatus CloseStatusRichDTO[] нет Список статусов закрытия административной процедуры

AdministrativeProcedureCreateDTO

Поле Тип Обязательное Сервис Описание
administrativeProcedure string да AdministrativeProcedure Административная процедура
electronicForm boolean да Возможность осуществления процедуры в электронном виде
maxPeriodAmount int нет Максимальный срок предоставления административной процедуры (количество)
maxPeriodUnit string нет TimeUnit Максимальный срок предоставления административной процедуры (единица измерения)
order int да Порядковый номер административной процедуры
proactiveMode boolean да Проставление признака участие в проактивном режиме
proactiveOrder integer нет Порядок в проактивном режиме
isAffectingDate boolean да Влияет на срок предоставления услуги
obtainingAdditionalInformationReason string[] да, если administrativeProcedure = ObtainingAdditionalInformation Основание для получения дополнительных сведений
assessmentGenitive string да, если administrativeProcedure = ApplicantAssessment Наименование процедуры оценки в родительном падеже
assessmentSubject string[] да, если administrativeProcedure = ApplicantAssessment Субъект, проводящий процедуру оценки
assessmentObject string[] да, если administrativeProcedure = ApplicantAssessment Объект оценки
assessmentPlace string[] да, если administrativeProcedure = ApplicantAssessment Место проведения процедуры оценки
assessmentDocument string[] да, если administrativeProcedure = ApplicantAssessment Наименование документа, являющегося результатом процедуры оценки
closeStatusesCreate CloseStatusCreateDTO[] да Список статусов закрытия на создание(не может быть пустым)
applicationMethodsCreate ApplicationMethodCreateDTO[] нет Список способов подачи заявления на создание
obtainWaysCreate ObtainWayCreateDTO[] нет Список способов получения результата на создание

AdministrativeProcedureUpdate

Поле Тип Обязательное Сервис Описание
administrativeProcedureUpdate UpdateDTO да Поля для обновления административной процедуры
closeStatusesCreate CloseStatusCreateDTO[] нет Список статусов закрытия на создание
closeStatusesUpdate UpdateDTO[] нет Список статусов закрытия на обновление
closeStatusesDelete uuid[] нет Список статусов закрытия на удаление
applicationMethodsCreate ApplicationMethodCreateDTO[] нет Список способов подачи заявления на создание
applicationMethodsUpdate UpdateDTO[] нет Список способов подачи заявления на обновление
applicationMethodsDelete uuid[] нет Список способов подачи заявления на удаление
obtainWaysCreate ObtainWayCreateDTO[] нет Список способов получения результата на создание
obtainWaysUpdate UpdateDTO[] нет Список способов получения результата на обновление
obtainWaysDelete uuid[] нет Список способов получения результата на удаление

CloseStatus

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
closeStatus string да CloseStatus Статус закрытия
implementationInforming boolean да Проставление признака информирования гражданина о выполнении административной процедуры

CloseStatusRichDTO

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
closeStatus string да CloseStatus Статус закрытия
implementationInforming boolean да Проставление признака информирования гражданина о выполнении административной процедуры

CloseStatusCreateDTO

Поле Тип Обязательное Сервис Описание
closeStatus string да CloseStatus Статус закрытия
implementationInforming boolean да Проставление признака информирования гражданина о выполнении административной процедуры

CatalogRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
number string да Номер запроса
requestType string да RequestType Тип запроса
authorId uuid да Id автора запроса
requestStatus string да RequestStatus Статус запроса
rejectionReason string нет Обоснование отклонения
solutionAuthorId uuid нет Id автора решения
catalog string да Справочник
catalogItemCode string нет Код элемента
catalogValue string да Справочное значение
newCatalogValue string нет Новое справочное значение
reason string да Обоснование

CatalogRequestDTO

Поле Тип Обязательное Сервис Описание
number string да Номер запроса
requestType string да RequestType Тип запроса
authorId uuid да Id автора запроса
requestStatus string да RequestStatus Статус запроса
rejectionReason string нет Обоснование отклонения
solutionAuthorId uuid нет Id автора решения
catalog string да Справочник
catalogItemCode string нет Код элемента
catalogValue string да Справочное значение
newCatalogValue string нет Новое справочное значение
reason string да Обоснование

CatalogRequestCreateDTO

Поле Тип Обязательное Сервис Описание
requestType string да RequestType Тип запроса
catalog string да Справочник
catalogItemCode string нет Код элемента
catalogValue string да Справочное значение (в строке хранится json сущности)
newCatalogValue string нет Новое справочное значение (в строке хранится json сущности обновления)
reason string да Обоснование
responsiblePersonCreate ResponsiblePersonCreateDTO[] нет Список ответственных лиц на создание

CatalogRequestUpdateDTO

Поле Тип Обязательное Сервис Описание
catalogRequestUpdate UpdateDTO да Запрос на обновление об изменении справочника
responsiblePersonCreate ResponsiblePersonCreateDTO[] нет Список ответственных лиц на создание
responsiblePersonUpdate UpdateDTO[] нет Список ответственных лиц на обновление
responsiblePersonDelete uuid[] нет Список ответственных лиц на удаление

CatalogRequestSolveDTO

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
requestStatus string да RequestStatus Статус запроса
rejectionReason string нет Обоснование отклонения(При статусе Declined)

UpdateResponsibleDepartmentDTO

Поле Тип Обязательное Сервис Описание
federalSubject string нет FederalSubject Субъект
responsibleDepartmentId uuid да ID нового ответственного
responsibleAdministrativeLevelCode string да Уровень ответственности
responsibilityType string да Тип ответственности

UpdateApprovalResponsibleDepartmentDTO

Поле Тип Обязательное Сервис Описание
federalSubject string нет FederalSubject Субъект
responsibleDepartmentIds uuid да Список ID новых ответственных
responsibleAdministrativeLevelCode string да Уровень ответственности

Regulation

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
authorId uuid да ID автора
prefilledRegulation file нет Предзаполненный регламент
prefilledRegulationAuthorId uuid нет ID автора предзаполненного регламента
regulationProject file нет Проект регламента
regulationProjectAuthorId uuid нет ID автора проекта регламента
signedRegulation file нет Подписанный регламент
signedRegulationAuthorId uuid нет ID автора подписанного регламента
electronicSignature file нет Электронная подпись
electronicSignatureAuthorId uuid нет ID автора электронной подписи
customerAssessment file нет Оценка клиентоцентричности
customerAssessmentAuthorId uuid нет ID автора оценки клиентоцентричности
regulationGovLink string нет Ссылка на Regulation.gov.ru
examinationEndDate timestamp нет Дата окончания экспертизы
departmentRegistrationDate timestamp нет Дата регистрации (Утверждение ведомством)
departmentRegistrationNumber string нет Регистрационный номер (Утверждение ведомством)
governmentRegistrationDate timestamp нет Дата регистрации (Государственная регистрация)
governmentRegistrationNumber string нет Регистрационный номер (Государственная регистрация)
regulationCancellationAct file нет Акт об отмене регламента
regulationCancellationActAuthorId uuid нет ID автора акта об отмене регламента
responsibilityDocument file нет Документ о возложении обязанностей
responsibilityDocumentAuthorId uuid нет ID автора документа о возложении обязанностей
examinationStartDate timestamp нет Дата начала НАКЭ
examinationReport file нет Заключение по экспертизе
examinationReportAuthorId uuid нет ID автора заключения по экспертизе
disagreementsProtocol file нет Протокол разногласий
disagreementsProtocolAuthorId uuid нет ID автора протокола разногласий
registrationReport file нет Заключение по гос. регистрации
registrationReportAuthorId uuid нет ID автора заключения по гос. регистрации
digitalExaminationReport file нет Заключение экспертизы Минцифры
digitalExaminationReportAuthorId uuid нет Автор заключения экспертизы Минцифры

Document

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
order int да Порядковый номер
documentCategory string да DocumentCategory Категория документа
document string да Document Документ
isMandatory boolean да Документ является обязательным
approvedByRegulations boolean да Форма документа утверждается административным регламентом
documentForm file нет Форма документа
submissionMethod SubmissionMethodDTO нет Способы подачи

DocumentDTO

Поле Тип Обязательное Сервис Описание
originalId uuid нет dataModel Оригинал
order int да Порядковый номер
documentCategory string да DocumentCategory Категория документа
document string да Document Документ
isMandatory boolean да Документ является обязательным
approvedByRegulations boolean да Форма документа утверждается административным регламентом
documentForm file нет Форма документа

DocumentCreateDTO

Поле Тип Обязательное Сервис Описание
order int да Порядковый номер
documentCategory string да DocumentCategory Категория документа
document string да Document Документ
isMandatory boolean да Документ является обязательным
approvedByRegulations boolean да Форма документа утверждается административным регламентом
documentForm file нет Форма документа
submissionMethodsCreate [SubmissionMethodCreateDTO] да Способы подачи

DocumentUpdateDTO

Поле Тип Обязательное Сервис Описание
documentUpdate UpdateDTO да Поля для обновления документа
submissionMethodCreate CloseStatusCreateDTO[] нет Список способов подачи на создание
submissionMethodUpdate UpdateDTO[] нет Список способов подачи на обновление
submissionMethodDelete uuid[] нет Список способов подачи на удаление

InterdepartmentalInteraction

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
order int да Порядковый номер
interactionType string да InteractionType Вид взаимодействия
supplierId uuid нет, если isSupplierFreeForm = true Наименование органа власти - поставщика
supplierName string нет, если isSupplierFreeForm = false Наименование органа власти - поставщика в произвольной форме
isSupplierFreeForm boolean да Признак произвольной формы наименования органа власти - поставщика
serviceTitle string нет Наименование сервиса
typeInformationTitle string нет Наименование вида сведений
dataMartTitle string нет Наименование витрины данных
interdepartmentalRequestTitle string нет Наименование межведомственного информационного запроса
deadlineRequestUnit string нет Срок направления запроса (количество)
deadlineRequestAmount int нет Срок направления запроса (единица измерения)
responseTimeUnit string нет Срок получения ответа (количество)
responseTimeAmount int нет Срок получения ответа (единица измерения)

InterdepartmentalInteractionCreateDTO

Поле Тип Обязательное Сервис Описание
order int да Порядковый номер
interactionType string да InteractionType Вид взаимодействия
supplierId uuid нет, если isSupplierFreeForm = true Наименование органа власти - поставщика
supplierName string нет, если isSupplierFreeForm = false Наименование органа власти - поставщика в произвольной форме
isSupplierFreeForm boolean да Признак произвольной формы наименования органа власти - поставщика
serviceTitle string нет Наименование сервиса
typeInformationTitle string нет Наименование вида сведений
dataMartTitle string нет Наименование витрины данных
interdepartmentalRequestTitle string нет Наименование межведомственного информационного запроса
deadlineRequestUnit string нет Срок направления запроса (количество)
deadlineRequestAmount int нет Срок направления запроса (единица измерения)
responseTimeUnit string нет Срок получения ответа (количество)
responseTimeAmount int нет Срок получения ответа (единица измерения)

ListAvailableInterdepartmentalInteractionDTO

Поле Тип Обязательное Сервис Описание
passportId uuid да ID паспорта
name string нет Название ведомства для фильтрации

InterdepartmentalInteractionSupplier

Поле Тип Обязательное Сервис Описание
name string да Название ведомства
supplierId uuid нет ID ведомства

Payment

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
order int да Порядковый номер
feeType string да Вид платежа
fee int да Размер платежа
isFreeForm boolean да Платеж в произвольной форме?
feeFreeForm string да Размер платежа в произвольной форме
feeCurrency string да Денежная единица (валюта)
receivingFeeProcedure string да Порядок взимания платежа
feeMethod string[] да Способ взимания платежа

PaymentCreateDTO

Поле Тип Обязательное Сервис Описание
order int да Порядковый номер
feeType string да Вид платежа
fee int да, если 'isFreeForm': false Размер платежа
isFreeForm boolean да Платеж в произвольной форме?
feeFreeForm string да, если 'isFreeForm': true Размер платежа в произвольной форме
feeCurrency string да, если 'isFreeForm': false Денежная единица (валюта)
receivingFeeProcedure string да Порядок взимания платежа
feeMethod string[] да Способ взимания платежа

SubmissionMethodDTO

Поле Тип Обязательное Сервис Описание
id uuid да ID способа подачи в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
submissionMethod string да Способ подачи
documentRequirements string[] да Требования к документу

SubmissionMethodCreateDTO

Поле Тип Обязательное Сервис Описание
submissionMethod string да Способ подачи
documentRequirements string[] да Требования к документу

ApprovalDocumentCreateDTO

Поле Тип Обязательное Сервис Описание
file file да Информация о файле
departmentId uuid да ID подразделения
serviceRequestId uuid да ID услуги

ApprovalDocument

Поле Тип Обязательное Сервис Описание
id uuid да ID документа согласования
file file да Информация о файле
departmentId uuid да ID подразделения
routeStageId uuid да ID этапа
authorId uuid да ID создавшего пользователя
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки

SubmitReportInput

Поле Тип Обязательное Сервис Описание
requestId uuid да ID услуги
report file да Файл измененного регламента

SubmitReportError

Поле Тип Обязательное Сервис Описание
missingStrings string[] да Удаленный пользователем текст

UpdateRouteStageDevelopersDTO

Поле Тип Обязательное Сервис Описание
routeStageId uuid да Id стадии маршрута
developers Responsible[] да список разработчиков

Responsible

Поле Тип Обязательное Сервис Описание
stageUserIds uuid[] нет список пользователей
stageDepartmentId uuid нет ведомство

ServiceCardTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
idFrgu2 string нет Идентификатор ФРГУ 2.0
typicalService string нет (да, если isTypical = true) TypicalService Наименование типовой услуги
isTypical boolean нет Является ли услуга типовой
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги

ServiceCardTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки шаблона на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
idFrgu2 string нет Идентификатор ФРГУ 2.0
department string да ID органа власти
typicalService string нет (да, если isTypical = true) TypicalService Наименование типовой услуги
isTypical boolean нет Является ли услуга типовой
actWithProvideAuthority string[] да НПА, которыми установлены полномочия на предоставление услуги

ServiceRequestTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
authorId uuid нет mon Id автора запроса
serviceCard ServiceCardTemplate нет dataModel Поля карточки услуги
servicePassport ObjectIdWithStatusField нет dataModel Id паспорта услуги

RestartRouteDTO

Поле Тип Обязательное Сервис Описание
requestId uuid да ID запроса услуги в модели данных
requestEntityType string да Тип сущности в модели данных

ArchiveShortRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
authorId uuid да Id автора запроса
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
reason string нет Причина архивации услуги
serviceCard ServiceCardArchive нет Опубликованная карточка услуги (только единичный запрос)

ArchiveFullRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
authorId uuid да Id автора запроса
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
invalidationAct ObjectIdField нет ID акта архивации
serviceCard ServiceCardArchive нет Опубликованная карточка услуги (только единичный запрос)

ArchiveRequestRegistry

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
entityType uuid нет Тип запроса архивации
serviceCard ServiceCard нет Опубликованная карточка услуги (только единичный запрос)

InvalidationActCreateDTO

Поле Тип Обязательное Сервис Описание
requestId uuid да ID услуги архивации
regulationProjectFileId uuid да ID файла проекта акта во временном букете

InvalidationAct

Поле Тип Обязательное Сервис Описание
id uuid да ID акта
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
authorId uuid да Id автора акта
regulationProject file нет Проект акта
regulationProjectAuthorId uuid нет Автор проекта акта
isSpecialProcedureSpecified boolean нет Предусмотрен ли особый порядок вступления в силу
regulationDate timestamp нет Дата вступления в силу акта
examinationReport file нет Заключение по экспертизе
examinationReportAuthorId uuid нет Автор заключения по экспертизе
signedRegulation file нет Подписанный акт
signedRegulationAuthorId uuid нет Автор подписанного акта
departmentRegistrationDate timestamp нет Дата регистрации (Утверждение ведомством)
departmentRegistrationNumber string нет Регистрационный номер (Утверждение ведомством)
electronicSignature file нет Электронная подпись
electronicSignatureAuthorId uuid нет Автор электронной подписи
responsibilityDocument file нет Документ о возложении обязанностей
responsibilityDocumentAuthorId uuid нет Автор документа о возложении обязанностей
regulationCancellationAct file нет Акт об отмене
regulationCancellationActAuthorId uuid нет Автор акта об отмене
governmentRegistrationDate timestamp нет Дата регистрации (Государственная регистрация)
governmentRegistrationNumber string нет Регистрационный номер (Государственная регистрация)
registrationReport file нет Заключение по гос. регистрации
registrationReportAuthorId uuid нет Автор заключения по гос. регистрации
registeredRegulation file нет Зарегистрированный акт
registeredRegulationAuthorId uuid нет Автор зарегистрированного акта
digitalExaminationReport file нет Заключение экспертизы Минцифры
digitalExaminationReportAuthorId uuid нет Автор заключения экспертизы Минцифры
archiveRequest ObjectIdField нет ID услуги архивации

ServicePassportTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
requestId uuid да ID запроса услуги
topics string[] да Topic Тематики
isMFCDocument boolean да Возможность получения в МФЦ заверенного документа на бумажном носителе
isRepresentativeProvided boolean да Услуга предусматривает возможность обращения несовершеннолетних и (или) их законных представителей
isPermitting boolean да Относится ли услуга к разрешительной деятельности
isAvailableAroundTheClock boolean да Входит ли услуга в перечень Концепции 24/7
isSociallyImportantService boolean да Относится ли услуга к МСЗУ
maxDeliveryPeriodAmount int нет Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string нет Максимальный срок предоставления услуги (единица измерения)
isOnlineProvided boolean да Предоставление онлайн
isMaximumDateSpecified boolean да Закреплен ли в НПА максимальный срок предоставления услуги
availabilityIndicators string[] да Показатели доступности
qualityIndicators string[] да Показатели качества
premisesRequirements string[] да Требования к помещениям
informingMethods string[] да Способы информирования о порядке предоставления услуги
specialCalculatingMaxPeriod string нет Особый порядок исчисления максимального срока предоставления услуги
mandatoryServiceCardPublish uuid[] нет Id опубликованных карточек НиО услуг
documentsCreate [DocumentTemplateCreateDTO] нет Документы и способы подачи
rejectReasonCreate RejectReasonTemplateCreateDTO нет dataModel Новые причины отказа
suspensionReasonCreate SuspensionReasonTemplateCreateDTO нет dataModel Новые причины приостановления
applicationMethodsCreate ApplicationMethodCreateDTO нет dataModel Способы подачи заявления

ServicePassportTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID карточки шаблона на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
topics string[] да Topic Тематики
isPermitting boolean да Относится ли услуга к разрешительной деятельности
isMFCDocument boolean да Возможность получения в МФЦ заверенного документа на бумажном носителе
isRepresentativeProvided boolean да Услуга предусматривает возможность обращения несовершеннолетних и (или) их законных представителей
isAvailableAroundTheClock boolean да Входит ли услуга в перечень Концепции 24/7
isSociallyImportantService boolean да Относится ли услуга к МСЗУ
maxDeliveryPeriodAmount int нет Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string нет Максимальный срок предоставления услуги (единица измерения)
isOnlineProvided boolean да Предоставление онлайн
isMaximumDateSpecified boolean да Закреплен ли в НПА максимальный срок предоставления услуги
availabilityIndicators string[] да Показатели доступности
qualityIndicators string[] да Показатели качества
premisesRequirements string[] да Требования к помещениям
informingMethods string[] да Способы информирования о порядке предоставления услуги
specialCalculatingMaxPeriod string нет Особый порядок исчисления максимального срока предоставления услуги
unscheduledInspectionsReasons string[] нет Основания для проведения внеплановых проверок
authorId uuid нет mon Id автора паспорта
mandatoryServiceCardPublish uuid[] нет Id опубликованных карточек НиО услуг

ServicePassportTemplateUpdateDTO

Поле Тип Обязательное Сервис Описание
servicePassportUpdate UpdateDTO да Обновление паспорта
documentsCreate [DocumentTemplateCreateDTO] нет Новые документы и способы подачи
documentsDelete uuid[] нет Удаление документов
documentsUpdate [DocumentTemplateUpdateDTO] нет Изменение документов и способы подачи
rejectReasonCreate RejectReasonTemplateCreateDTO нет dataModel Новые причины отказа
rejectReasonDelete uuid[] нет Удаление причин отказа
rejectReasonUpdate UpdateDTO нет Изменение причин отказа
suspensionReasonCreate SuspensionReasonTemplateCreateDTO нет dataModel Новые причины приостановления
suspensionReasonDelete uuid[] нет Удаление причин приостановления
suspensionReasonUpdate UpdateDTO нет Изменение причин приостановления
applicationMethodsCreate ApplicationMethodTemplateCreateDTO нет dataModel Новые способы подачи заявления
applicationMethodsDelete uuid[] нет dataModel Удаление способов подачи заявления
applicationMethodsUpdate UpdateDTO нет dataModel Изменение способов подачи заявления

DocumentTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
documentCategory string да DocumentCategory Категория документа
document string да Document Документ
isMandatory boolean да Документ является обязательным
approvedByRegulations boolean да Форма документа утверждается административным регламентом
documentForm file нет Форма документа
submissionMethodsCreate [SubmissionMethodTemplateCreateDTO] да Способы подачи

DocumentTemplateUpdateDTO

Поле Тип Обязательное Сервис Описание
documentUpdate UpdateDTO да Поля для обновления документа
submissionMethodCreate [SubmissionMethodTemplateCreateDTO][] нет Список способов подачи на создание
submissionMethodUpdate UpdateDTO[] нет Список способов подачи на обновление
submissionMethodDelete uuid[] нет Список способов подачи на удаление

DocumentTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
source string да Источник в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
order int да Порядковый номер
documentCategory string да DocumentCategory Категория документа
document string да Document Документ
isMandatory boolean да Документ является обязательным
approvedByRegulations boolean да Форма документа утверждается административным регламентом
documentForm file нет Форма документа
submissionMethod SubmissionMethodTemplateDTO нет Способы подачи

SubmissionMethodTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
submissionMethod string да Способ подачи
documentRequirements string[] да Требования к документу

SubmissionMethodTemplateDTO

Поле Тип Обязательное Сервис Описание
id uuid да ID способа подачи в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
submissionMethod string да Способ подачи
documentRequirements string[] да Требования к документу

SubServiceTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
requestId uuid да dataModel ID запроса услуги в модели данных
fullTitle string да Наименование подуслуги
applicantCategory string[] да ApplicantCategory Категории лиц, имеющих право на получение услуги
representativePossibility boolean да Возможность получения услуги представителем заявителя
preregistrationMethod string[] нет PreregistrationMethod Способы предварительной записи
registryModel boolean да Предоставляется ли подуслуга по реестровой модели?
isMaxPinTimeProvisionSubservices boolean да Закреплен ли в НПА максимальный срок предоставления подуслуги?
maxPeriodUnit string да TimeUnit Максимальный срок предоставления подуслуги
maxPeriodAmount int да Максимальный срок предоставления подуслуги
isProvidedExtraterritorial boolean да Предоставляется ли экстерриториально?
hasPreEntry boolean да Предварительная запись
resultTitleTypes ResultTitleTemplate[] да Тип и наименование результата оказания услуги
registryName string нет Наименование реестра
isRegistryModel boolean да Вид электронной подписи заявителя
hasLimitedResources boolean да Ограниченность ресурсов
hasApplicantAssessments boolean да Процедура оценки заявителя
administrativeProceduresCreate AdministrativeProcedureTemplateCreateDTO да Создание административных процедур

SubServiceTemplateUpdateDTO

Поле Тип Обязательное Сервис Описание
subServiceUpdate UpdateDTO да Поля для обновления подуслуги
administrativeProceduresCreate AdministrativeProcedureTemplateCreateDTO нет Список административных процедур на создание
administrativeProceduresUpdate AdministrativeProcedureTemplateUpdateDTO нет Список административных процедур на обновление
administrativeProceduresDelete uuid[] нет Список административных процедур на удаление
resultTitleTypesCreate ResultTitleTemplateCreateDTO нет Список типов результата на создание
resultTitleTypesUpdate UpdateDTO нет Список типов результата на обновление
resultTitleTypesDelete uuid[] нет Список типов результата на удаление

AdministrativeProcedureTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
administrativeProcedure string да AdministrativeProcedure Административная процедура
electronicForm boolean да Возможность осуществления процедуры в электронном виде
maxPeriodAmount int нет Максимальный срок предоставления административной процедуры (количество)
maxPeriodUnit string нет TimeUnit Максимальный срок предоставления административной процедуры (единица измерения)
order int да Порядковый номер административной процедуры
proactiveMode boolean да Проставление признака участие в проактивном режиме
proactiveOrder integer нет Порядок в проактивном режиме
isAffectingDate boolean да Влияет на срок предоставления услуги
closeStatusesCreate CloseStatusTemplateCreateDTO[] да Список статусов закрытия на создание(не может быть пустым)

AdministrativeProcedureTemplateUpdateDTO

Поле Тип Обязательное Сервис Описание
administrativeProcedureUpdate UpdateDTO да Поля для обновления административной процедуры
closeStatusesCreate CloseStatusTemplateCreateDTO[] нет Список статусов закрытия на создание
closeStatusesUpdate UpdateDTO[] нет Список статусов закрытия на обновление
closeStatusesDelete uuid[] нет Список статусов закрытия на удаление

CloseStatusTemplateCreateDTO

Поле Тип Обязательное Сервис Описание
closeStatus string да CloseStatus Статус закрытия
implementationInforming boolean да Проставление признака информирования гражданина о выполнении административной процедуры

SubServiceTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID шаблона подуслуги в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
number string да Идентификатор подусулуги
fullTitle string да Наименование подуслуги
applicantCategory string[] да ApplicantCategory Категории лиц, имеющих право на получение услуги
representativePossibility boolean да Возможность получения услуги представителем заявителя
preregistrationMethod string[] нет PreregistrationMethod Способы предварительной записи
registryModel boolean да Предоставляется ли подуслуга по реестровой модели?
isMaxPinTimeProvisionSubservices boolean да Закреплен ли в НПА максимальный срок предоставления подуслуги?
maxPeriodUnit string да TimeUnit Максимальный срок предоставления подуслуги
maxPeriodAmount int да Максимальный срок предоставления подуслуги
isProvidedExtraterritorial boolean да Предоставляется ли экстерриториально?
hasPreEntry boolean да Предварительная запись
resultTitleTypes ResultTitleTemplate[] да Тип и наименование результата оказания услуги
waysObtainService string[] да ObtainWays Способы получения результата услуги
isResultReceivedElectronically boolean да Результат предоставляется в электронном виде?
registryName string нет Наименование реестра
isRegistryModel boolean да Вид электронной подписи заявителя
hasLimitedResources boolean да Ограниченность ресурсов
hasApplicantAssessments boolean да Процедура оценки заявителя

ResultTitleTemplate

Поле Тип Обязательное Сервис Описание
resultType string да ResultType Тип шаблона результата оказания услуги
titleType string[] да Наименование результата оказания услуги

AdministrativeProcedureTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID шаблона административной процедуры в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
administrativeProcedure string да AdministrativeProcedure Административная процедура
electronicForm boolean да Возможность осуществления процедуры в электронном виде
maxPeriodAmount int нет Максимальный срок предоставления административной процедуры (количество)
maxPeriodUnit string нет TimeUnit Максимальный срок предоставления административной процедуры (единица измерения)
order int да Порядковый номер административной процедуры
proactiveMode boolean да Проставление признака участие в проактивном режиме
proactiveOrder integer нет Порядок в проактивном режиме
isAffectingDate boolean да Влияет на срок предоставления услуги
closeStatus CloseStatusTemplate[] нет Список статусов закрытия административной процедуры

CloseStatusTemplate

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет dataModel Оригинал
closeStatus string да CloseStatus Статус закрытия
implementationInforming boolean да Проставление признака информирования гражданина о выполнении административной процедуры

SelfCheckRequest

Поле Тип Обязательное Описание
messageTypeId MessageTypeId из iua-adapter да Тип сообщения
content json да Содержание сообщения СМЭВ

RegulationFileUpdateDTO

Поле Тип Обязательное Описание
id uuid да ID объекта в модели данных
version int да Версия в модели данных для оптимистичной блокировки
file file да Загружаемый файл

RegulationFileDeleteDTO

Поле Тип Обязательное Описание
id uuid да ID объекта в модели данных
version int да Версия в модели данных для оптимистичной блокировки

ResponsibilityDocumentCreateDTO

Поле Тип Обязательное Описание
regulationId uuid да ID регламента
file file да Загружаемый файл

ResponsibilityDocument

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
file file да Файл
authorId uuid да ID автора документа
departmentId uuid да ID ведомства автора

VerificationDocumentCreateDTO

Поле Тип Обязательное Описание
regulationId uuid да ID регламента
file file да Загружаемый файл

VerificationDocument

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
file file да Файл
authorId uuid да ID автора документа

RejectReason

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer нет Порядок
rejectionReason string нет Причина отказа
solutionType string нет Тип решения

RejectReasonCreateDTO

Поле Тип Обязательное Описание
order integer нет Порядок
rejectionReason string нет Причина отказа
solutionType string нет Тип решения

SuspensionReason

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer нет Порядок
suspensionReason string нет Причина приостановления
maxSuspensionPeriodAmount int нет Максимальный срок приостановления услуги (количество)
maxSuspensionPeriodUnit string нет Максимальный срок приостановления услуги (единица измерения)
renewalBasis string нет Основания для возобновления

SuspensionReasonCreateDTO

Поле Тип Обязательное Описание
order integer нет Порядок
suspensionReason string нет Причина приостановления
maxSuspensionPeriodAmount int нет Максимальный срок приостановления услуги (количество)
maxSuspensionPeriodUnit string нет Максимальный срок приостановления услуги (единица измерения)
renewalBasis string нет Основания для возобновления

RejectReasonTemplate

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer нет Порядок
rejectionReason string нет Причина отказа
solutionType string нет Тип решения

RejectReasonTemplateCreateDTO

Поле Тип Обязательное Описание
order integer нет Порядок
rejectionReason string нет Причина отказа
solutionType string нет Тип решения

SuspensionReasonTemplate

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer нет Порядок
suspensionReason string нет Причина приостановления
maxSuspensionPeriodAmount int нет Максимальный срок приостановления услуги (количество)
maxSuspensionPeriodUnit string нет Максимальный срок приостановления услуги (единица измерения)
renewalBasis string нет Основания для возобновления

SuspensionReasonTemplateCreateDTO

Поле Тип Обязательное Описание
order integer нет Порядок
suspensionReason string нет Причина приостановления
maxSuspensionPeriodAmount int нет Максимальный срок приостановления услуги (количество)
maxSuspensionPeriodUnit string нет Максимальный срок приостановления услуги (единица измерения)
renewalBasis string нет Основания для возобновления

RequestStatusWithActions

Поле Тип Обязательное Описание
requestStatus RequestActionStatus да Статус запроса
actionStatuses ActionStatus[] да Статусы по каждому ивенту

RequestActionStatus

Поле Тип Обязательное Описание
requestId uuid да ID запроса
eventVersion integer да Версия статуса (на каждый переход создаётся новая версия)
isRunning boolean да Признак, что запрос всё ещё выполняет ивенты

ActionStatus

Поле Тип Обязательное Описание
requestId uuid да ID запроса
eventVersion integer да Версия статуса (на каждый переход создаётся новая версия)
eventName string да Название ивента
isRunning boolean да Признак, что ивент всё ещё выполняется
error string нет Возможная ошибка выполнения

ApplicationMethod

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer да Порядок
submissionMethod string да Способ подачи
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)
isMaxPeriodAmountAuto boolean да Заполнить автоматически
identificationMethod string да Способ установления личности
isProfilingMethod boolean да Является способом профилирования?

ApplicationMethodCreateDTO

Поле Тип Обязательное Описание
order integer да Порядок
submissionMethod string да Способ подачи
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)
isMaxPeriodAmountAuto boolean да Заполнить автоматически
identificationMethod string да Способ установления личности
isProfilingMethod boolean да Является способом профилирования?

ApplicationMethodTemplate

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
order integer да Порядок
submissionMethod string да Способ подачи
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)
isMaxPeriodAmountAuto boolean да Заполнить автоматически
identificationMethod string да Способ установления личности
isProfilingMethod boolean да Является способом профилирования?

ApplicationMethodTemplateCreateDTO

Поле Тип Обязательное Описание
order integer да Порядок
submissionMethod string да Способ подачи
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)
isMaxPeriodAmountAuto boolean да Заполнить автоматически
identificationMethod string да Способ установления личности
isProfilingMethod boolean да Является способом профилирования?

ObtainWay

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
originalId uuid нет Оригинал
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
order integer да Порядок
obtainWay string[] да Способ получения результата
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)

ObtainWayCreateDTO

Поле Тип Обязательное Описание
order integer да Порядок
obtainWay string[] да Способ получения результата
maxDeliveryPeriodAmount integer да Максимальный срок предоставления услуги (количество)
maxDeliveryPeriodUnit string да Максимальный срок предоставления услуги (единица измерения)

SubServiceUpdateOrderDTO

Поле Тип Обязательное Описание
id integer да Идентификатор подуслуги
order integer да Порядковый номер

ResponsiblePerson

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
originalId uuid нет Оригинал
fullName string да ФИО
phoneNumber string да Номер телефона
additionalPhoneNumber string нет Добавочный номер
email string да Электронная почта
responsiblePersonType string да Тип ответственного лица
position string да Должность
order integer да Порядковый номер

ResponsiblePersonCreateDTO

Поле Тип Обязательное Описание
originalId uuid нет Оригинал
fullName string да ФИО
position string да Должность
phoneNumber string да Номер телефона
additionalPhoneNumber string нет Добавочный номер
email string да Электронная почта
responsiblePersonType string да Тип ответственного лица
order int да Порядковый номер

CheckList

Поле Тип Обязательное Описание
routeStageLinkTitle string да Название перехода
routeStageTitle string да Название стадии
checkListItems [CheckListItem] да Список элементов чек-листа для данного переход

CheckListItem

Поле Тип Обязательное Описание
order integer да Порядок
name string да Человекочитаемое наименование элемент
code string да Код элемента
isDone boolean да Признак выполнения элемента
children [CheckListItem] да Список дочерних элементов чек-листа
data json нет Дополнительные данные
Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
provideDepartment uuid нет ID ведомства
dateConnected string да Дата присоединения к регламенту
dateDisconnected string да Дата отказа от присоединения к регламенту

SolveProvideDepartmentLinkConnectDTO

Поле Тип Обязательное Описание
serviceCardPublishId uuid да ID опубликованной карточки услуги
solution string да Решение (может быть Positive или Negative)

ConnectServiceRequestToTemplateDTO

Поле Тип Обязательное Описание
serviceRequestId uuid да ID запроса услуги в модели данных
serviceCardTemplatePublishId uuid да ID опубликованного шаблона карточки услуги

ListRouteStageLinkFilteredDTO

Поле Тип Обязательное Описание
serviceRequestId UUID да Id запроса услуги
search Search да Параметры поиска переходов команды sedroute_listRouteStageLink

ServiceChangeRequest

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса услуги в модели данных
authorId uuid да ID автора услуги
originalId uuid нет ID для снапшотирования
entityType string да DataModel Тип сущности в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
status string да ServiceStatus (Alexandrina) Статус запроса
serviceCardPublish uuid да Id опубликованной карточки услуги
serviceCard MunicipalServiceCard да Новая карточка услуги, созданная в рамках маршрута
servicePassport MunicipalServicePassport да Новый паспорт услуги, созданный в рамках маршрута

ServiceChangeRequestCreateDTO

Поле Тип Обязательное Описание
publishedServiceCardId UUID да Id опубликованной карточки услуги

ServiceCardPublishRequests

Поле Тип Обязательное Описание
request EntityObjectIdentity нет Запрос разработки услуги
newRequest EntityObjectIdentity нет Новый запрос разработки или архивации услуги
archiveRequest EntityObjectIdentity нет Запрос архивации услуги

CustomerCentricityDTO

Поле Тип Обязательное Описание
id uuid да ID запроса услуги в модели данных
entityType string да Тип сущности в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
markCriticality string да Ответ на вопрос оценки клиентоцентричности
checklistCriticalityValue string да Ответ на вопрос оценки клиентоцентричности
highCriticalityValue string да Ответ на вопрос оценки клиентоцентричности
mediumCriticalityValue string да Ответ на вопрос оценки клиентоцентричности
lowCriticalityValue string да Ответ на вопрос оценки клиентоцентричности
isRealTimeProvidedEPGU string да Ответ на вопрос оценки клиентоцентричности
isProactiveProvidedEPGU string да Ответ на вопрос оценки клиентоцентричности
isNonDeclarativeEnabled string да Ответ на вопрос оценки клиентоцентричности
isActionInfoEPGU string да Ответ на вопрос оценки клиентоцентричности
isNoDocumentsRequiredEPGU string да Ответ на вопрос оценки клиентоцентричности
isDataCorrectionEPGU string да Ответ на вопрос оценки клиентоцентричности
isRepresentativeVerifiedEPGU string да Ответ на вопрос оценки клиентоцентричности
isCorrectionAllowedEPGU string да Ответ на вопрос оценки клиентоцентричности
isNotificationSentEPGU string да Ответ на вопрос оценки клиентоцентричности
isRegistryModelEPGU string да Ответ на вопрос оценки клиентоцентричности
isRefusalReasonsEPGU string да Ответ на вопрос оценки клиентоцентричности
isResultAvailableEPGU string да Ответ на вопрос оценки клиентоцентричности
isFeedbackSixtyMinutes string да Ответ на вопрос оценки клиентоцентричности
isRefusalRateEPGU string да Ответ на вопрос оценки клиентоцентричности
isUnjustifiedRefusalEPGU string да Ответ на вопрос оценки клиентоцентричности
isComplaintRateEPGU string да Ответ на вопрос оценки клиентоцентричности
isDelayRateEPGU string да Ответ на вопрос оценки клиентоцентричности
isSatisfactionAboveFourPointFiveEPGU string да Ответ на вопрос оценки клиентоцентричности
isPretrialConnectedEPGU string да Ответ на вопрос оценки клиентоцентричности
isFeedbackStagesEPGU string да Ответ на вопрос оценки клиентоцентричности
isPowerOfAttorneyEPGU string да Ответ на вопрос оценки клиентоцентричности
isNoVisitEPGU string да Ответ на вопрос оценки клиентоцентричности
isResultByQrCodeEPGU string да Ответ на вопрос оценки клиентоцентричности
isFeePaymentOnline string да Ответ на вопрос оценки клиентоцентричности
isFastService string да Ответ на вопрос оценки клиентоцентричности
isChatbotMode string да Ответ на вопрос оценки клиентоцентричности
isHelpSection string да Ответ на вопрос оценки клиентоцентричности
isErrorRate string да Ответ на вопрос оценки клиентоцентричности
isElectronicShare string да Ответ на вопрос оценки клиентоцентричности
isRealTimeVisitProvidedMFC string да Ответ на вопрос оценки клиентоцентричности
isProactiveProvidedMFC string да Ответ на вопрос оценки клиентоцентричности
isActionInfoMFC string да Ответ на вопрос оценки клиентоцентричности
isNoDocumentsRequiredMFC string да Ответ на вопрос оценки клиентоцентричности
isDataCorrectionMFC string да Ответ на вопрос оценки клиентоцентричности
isRepresentativeVerifiedMFC string да Ответ на вопрос оценки клиентоцентричности
isCorrectionAllowedMFC string да Ответ на вопрос оценки клиентоцентричности
isNotificationSentMFC string да Ответ на вопрос оценки клиентоцентричности
isRegistryModelMFC string да Ответ на вопрос оценки клиентоцентричности
isRefusalReasonsMFC string да Ответ на вопрос оценки клиентоцентричности
isResultAvailableMFC string да Ответ на вопрос оценки клиентоцентричности
isFeedbackAtResult string да Ответ на вопрос оценки клиентоцентричности
isRefusalRateMFC string да Ответ на вопрос оценки клиентоцентричности
isUnjustifiedRefusalMFC string да Ответ на вопрос оценки клиентоцентричности
isComplaintRateMFC string да Ответ на вопрос оценки клиентоцентричности
isDelayRateMFC string да Ответ на вопрос оценки клиентоцентричности
isSatisfactionAboveFourPointFiveMKGU string да Ответ на вопрос оценки клиентоцентричности
isPretrialAvailableMFC string да Ответ на вопрос оценки клиентоцентричности
isFeedbackStagesMFC string да Ответ на вопрос оценки клиентоцентричности
isNotificationChoice string да Ответ на вопрос оценки клиентоцентричности
isResultByQrCodeMFC string да Ответ на вопрос оценки клиентоцентричности
isAppointmentAvailable string да Ответ на вопрос оценки клиентоцентричности
isVisitReminder string да Ответ на вопрос оценки клиентоцентричности
isApplicationFilled string да Ответ на вопрос оценки клиентоцентричности
isApplicationRegistered string да Ответ на вопрос оценки клиентоцентричности
isRealTimeOnlineProvidedWebsite string да Ответ на вопрос оценки клиентоцентричности
isProactiveProvidedWebsite string да Ответ на вопрос оценки клиентоцентричности
isActionInfoWebsite string да Ответ на вопрос оценки клиентоцентричности
isNoDocumentsRequiredWebsite string да Ответ на вопрос оценки клиентоцентричности
isDataCorrectionWebsite string да Ответ на вопрос оценки клиентоцентричности
isRepresentativeVerifiedWebsite string да Ответ на вопрос оценки клиентоцентричности
isCorrectionAllowedWebsite string да Ответ на вопрос оценки клиентоцентричности
isNotificationExternalWebsite string да Ответ на вопрос оценки клиентоцентричности
isRegistryModelWebsite string да Ответ на вопрос оценки клиентоцентричности
isRefusalReasonsWebsite string да Ответ на вопрос оценки клиентоцентричности
isResultAvailableWebsite string да Ответ на вопрос оценки клиентоцентричности
isFeedbackSixtyMinutesWebsite string да Ответ на вопрос оценки клиентоцентричности
isRefusalRateWebsite string да Ответ на вопрос оценки клиентоцентричности
isUnjustifiedRefusalWebsite string да Ответ на вопрос оценки клиентоцентричности
isComplaintRateWebsite string да Ответ на вопрос оценки клиентоцентричности
isDelayRateWebsite string да Ответ на вопрос оценки клиентоцентричности
isSatisfactionAboveFourPointFiveWebsite string да Ответ на вопрос оценки клиентоцентричности
isPretrialConnectedWebsite string да Ответ на вопрос оценки клиентоцентричности
isFeedbackStagesWebsite string да Ответ на вопрос оценки клиентоцентричности
isPowerOfAttorneyWebsite string да Ответ на вопрос оценки клиентоцентричности
isNoVisitWebsite string да Ответ на вопрос оценки клиентоцентричности
isResultByQrCodeWebsite string да Ответ на вопрос оценки клиентоцентричности
isFeePaymentPortal string да Ответ на вопрос оценки клиентоцентричности

RegulationMinimal

Поле Тип Обязательное Сервис Описание
id uuid да ID запроса на изменение справочников в модели данных
entityType string да Тип сущности в модели данных
title string да Наименование в модели данных
created timestamp да Дата и время создания в модели данных
modified timestamp да Дата и время модификации в модели данных
version int да Версия в модели данных для оптимистичной блокировки
customerCentricity ObjectIdField да ID Клиентоцентричности

ObjectIdField

Поле Тип Обязательное Описание
id UUID да Идентификатор объекта

ObjectIdWithStatusField

Поле Тип Обязательное Описание
id UUID да Идентификатор объекта
status string да Статус объекта

CatalogRegistryListDTO

Поле Тип Обязательное Описание
search Search да Параметры поиска
catalogCode string да Код справочника
catalogItemId uuid да ID элемента справочника
entityType string да Тип сущности

UpdateGovernmentRegistrationDTO

Поле Тип Обязательное Описание
id uuid да ID Регламента
version int да Версия в модели данных для оптимистичной блокировки
governmentRegistrationDate timestamp да Дата гос. регистрации
governmentRegistrationNumber string да Номер гос. регистрации

StartRouteFromTemplateDTO

Поле Тип Обязательное Описание
serviceCardTemplateId uuid да ID опубликованной карточки маршрута
serviceCardCreateDTO ServiceCardCreateDTO да Объект для создания карточки услуги, аналогичен полю data при старте маршрута карточки. Может быть MunicipalServiceCardCreateDTO, ShortServiceCardCreateDTO и т.д. в замисимости от типа

SRGU Adapter

Сервис читает события EntityObjectEvent и отправляет их в очередь или топик ActiveMQ

Сервис разбит на несколько модулей, в виде sbt проектов: - domain, в котором содержатся все доменные модели и их различные представления. - commands, в котором содержатся всё, что связано с командами, их описанием и обработчиками. - storage, содержит сервисы для сохранения и чтения их разных хранилищ доменных моделей. - service, содержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой. - boot, содержит зависимости и описание для сборки и запуска сервиса.

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

SRGU_ADAPTER_ACTIVE_MQ_QUEUE_NAME=queue sbt boot/run

Список переменных окружения сервиса SRGU Adapter

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
SRGU_ADAPTER_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
SRGU_ADAPTER_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
SRGU_ADAPTER_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
SRGU_ADAPTER_KAFKA_TOPIC string нет "srgu_adapter_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
SRGU_ADAPTER_KAFKA_CONSUMER_GROUP string нет "srgu_adapter_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SRGU_ADAPTER_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который SRGU_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
SRGU_ADAPTER_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
SRGU_ADAPTER_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka(в случае аутентификации в kafka с помощью пароля). Если название не указано, то настройки авторизации не будут применены.
SRGU_ADAPTER_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka(в случае аутентификации в kafka с помощью пароля).
SRGU_ADAPTER_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае аутентификации в kafka через Kerberos).
SRGU_ADAPTER_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае аутентификации в kafka через Kerberos).
SRGU_ADAPTER_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
SRGU_ADAPTER_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
SRGU_ADAPTER_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
SRGU_ADAPTER_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
SRGU_ADAPTER_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
SRGU_ADAPTER_TRACE_DURATION boolean нет false Признак необходимости трассировки выполнения команд
SRGU_ADAPTER_DISCOVERABLE_ID string нет "another_srgu_adapter_service_instance" ID сервиса в ServiceDiscovery
SRGU_ADAPTER_DISCOVERABLE_NAME string нет "srgu-adapter" Имя сервиса в ServiceDiscovery
SRGU_ADAPTER_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
SRGU_ADAPTER_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
SRGU_ADAPTER_DISCOVERABLE_LIVETIME duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
SRGU_ADAPTER_DISCOVERABLE_HEALTHPASS string нет 1 minute Периодичность отправки health check в ServiceDiscovery
SRGU_ADAPTER_SERVICE_TITLE string нет "SRGU Adapter" Название сервиса для отображения
SRGU_ADAPTER_SERVICE_DESCRIPTION string нет "Service SRGU_ADAPTER" Описание сервиса для отображения
SRGU_ADAPTER_AKKA_HTTP_CLIENT_MAXCON int нет 512 Максимальное число одновременных исходящих HTTP-соединений
SRGU_ADAPTER_AKKA_HTTP_CLIENT_MAXREQ int нет 1024 Максимальное число одновременных исходящих HTTP-запросов
SRGU_ADAPTER_AKKA_HTTP_SERVER_MAXCON int нет 1024 Максимальное число одновременных входящих HTTP-соединений
SRGU_ADAPTER_INTERNALCMD_ALLOW bool нет false Можно ли сервису отправлять внутрисистемные команды
SRGU_ADAPTER_HEALTH_TIMEOUT duration string нет 5 seconds Максимальное время ожидания ответа health check
SRGU_ADAPTER_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
SRGU_ADAPTER_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
SRGU_ADAPTER_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
SRGU_ADAPTER_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
SRGU_ADAPTER_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
SRGU_ADAPTER_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
SRGU_ADAPTER_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования конфига kafka-consumer
SRGU_ADAPTER_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
SRGU_ADAPTER_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
SRGU_ADAPTER_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
LOGGING_HOSTNAME string нет SERVER Имя сервера для CEF-логов
LOGGING_EXTERNAL_ADDRESS string нет localhost IP-адрес сервера для CEF-логов
GPN_VERSION_POSTFIX string нет Постфикс библиотеки gpn-libs для сборки CI
CLIENT_VERSION_POSTFIX string нет Постфикс библиотеки sed-domain-lib для сборки CI
SYSTEM_VERSION_POSTFIX string нет Постфикс библиотеки sed-system-lib для сборки CI
SRGU_ADAPTER_LOG_FORMAT string нет CEF Формат вывода логов (если переменная содержит CEF, применяет формат CEF, иначе дефолтный паттерн)
SRGU_ADAPTER_SYSLOG_ENABLE boolean нет false Включить дополнительный вывод в syslog
SRGU_ADAPTER_SYSLOG_PROTOCOL string нет TCP Протокол (TCP или UDP)
SRGU_ADAPTER_SYSLOG_SSL_ENABLE boolean нет false Включить SSL
SRGU_ADAPTER_SYSLOG_HOST string нет Хост syslog сервера
SRGU_ADAPTER_SYSLOG_PORT string нет Порт syslog сервера
SRGU_ADAPTER_SYSLOG_RECONNECTION_DELAY int нет 10000 Задержка между попытками соединиться с сервером syslog, если было неудачное соединение
SRGU_ADAPTER_SYSLOG_TRUSTSTORE_LOCATION string нет Путь к truststore
SRGU_ADAPTER_SYSLOG_TRUSTSTORE_PASSWORD string нет Пароль к truststore
SRGU_ADAPTER_LOG_FILE_ENABLE boolean нет false Включить вывод в файл
SRGU_ADAPTER_KAFKA_POLLING_TIMEOUT duration string нет 15 seconds Таймаут на пуллинг kafka-команд
SRGU_ADAPTER_ACTIVE_MQ_IS_QUEUE boolean да true Запись в очередь (true) или в топик (false)
SRGU_ADAPTER_ACTIVE_MQ_ACKNOWLEDGE_MODE string да auto Режим подтверждения, один из auto, client, dups_ok, individual, session_transacted (только для SRGU_ADAPTER_ACTIVE_MQ_IS_TRANSACTED = true)
SRGU_ADAPTER_ACTIVE_MQ_IS_TRANSACTED boolean да false Включить режим транзакции
SRGU_ADAPTER_ACTIVE_MQ_URL string нет URL для ActiveMQ
SRGU_ADAPTER_ACTIVE_MQ_DESTINATION_NAME string нет Имя очереди или топика

Список команд сервиса SRGU Adapter

Сервис не имеет команд

Объекты сервиса SRGU Adapter

szi-security-adapter: сервис для работы с СЗИ

Сервис является адаптером для szi-security, а также реализует AttributeProvider для oberto. Команды могут приходить как по HTTP, так и через Kafka в топик szi_security_adapter_commands.

Сервис разбит на несколько модулей, в виде sbt проектов:

Локальный запуск

При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:

Запуск из консоли с помощью SBT

SZI_SECURITY_ADAPTER_SZI_URL=localhost:8090 SZI_SECURITY_ADAPTER_SZI_ADMINUSERNAME=user SZI_SECURITY_ADAPTER_SZI_ADMINPASSWORD=password sbt boot/run

Список переменных окружения сервиса szi-security-adapter

Все доступные переменные окружения для настройки сервиса.

Переменная Тип Обязательная Значение по умолчанию Описание
SZI_SECURITY_ADAPTER_HTTP_HOST string нет "0.0.0.0" Хост, на котором слушает HTTP-сервер
SZI_SECURITY_ADAPTER_HTTP_PORT int нет 8192 Порт, на котором слушает HTTP-сервер
SZI_SECURITY_ADAPTER_KAFKA_SERVERS string да "localhost:9092" Адрес Kafka
SZI_SECURITY_ADAPTER_KAFKA_TOPIC string нет "szi_security_adapter_commands" Название кафка-топика для получения команд. Сервис получает кафка-команды по нему, но и также сам публикует это название в CommandDiscovery.
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_GROUP string нет "szi_security_adapter_consumer_group" Имя consumer-группы для чтения из кафка-топика команд. Не должна меняться и не должна быть пустой, иначе сервис перечитает свои команды при перезапуске.
SZI_SECURITY_ADAPTER_KAFKA_PARTITIONS int нет 10 Число читаемых партиций из кафка-топика команд.
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MIN_BACKOFF duration string нет 1 second Изначальная задержка до рестарта консьюмера после падения (увеличивается в 2 раза после каждого рестарта)
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_BACKOFF duration string нет 30 seconds Максимальное задержка до рестарта консьюмера после падения
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_RANDOM_FACTOR double нет 0.2 Рандомный фактор для вычисления задержки перед следующим рестратом консьюмера (При значении 0.2 задержка может быть до 20% больше, чем при 0)
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS int нет 5 Максимальное число рестартов консьюмера после падения (в пределах SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN)
SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS_WITHIN duration string нет 5 minutes Временной отрезок, в который SZI_SECURITY_ADAPTER_KAFKA_CONSUMER_RESTART_MAX_RESTARTS ограничивает число рестартов
SZI_SECURITY_ADAPTER_KAFKA_COMMANDEVENT_TOPIC string да "commandevents" Название кафка-топика для отправки сообщений со статусами выполняемых команд. ОБЯЗАТЕЛЬНО должно соответствовать названию этого топика в сервисе статуса команд.
SZI_SECURITY_ADAPTER_KAFKA_AUTH_USER string нет "" Название учетной записи Kafka. Если название не указано, то настройки авторизации не будут применены.
SZI_SECURITY_ADAPTER_KAFKA_AUTH_PASSWORD string нет "" Пароль учетной записи Kafka.
SZI_SECURITY_ADAPTER_KAFKA_AUTH_TRUSTSTORE_LOCATION string нет "" Путь до хранилища сертификатов (Java key store). Если путь не указан, то сертификат применятся не будет.
SZI_SECURITY_ADAPTER_KAFKA_AUTH_TRUSTSTORE_PASSWORD string нет "" Пароль к хранилищу сертификатов.
SZI_SECURITY_ADAPTER_KAFKA_AUTH_PRINCIPAL string нет "" Principal учетной записи Kafka в Kerberos(в случае соединения с kafka через Kerberos).
SZI_SECURITY_ADAPTER_KAFKA_AUTH_KEYTAB_PATH string нет "" Путь до keytab-файла(в случае соединения с kafka через Kerberos).
SZI_SECURITY_ADAPTER_KAFKA_AUTH_MODE string нет "" Режим аутентификации: static - одна учетная запись на все запросы, mapping - учетная запись зависит от запроса
SZI_SECURITY_ADAPTER_KAFKA_AUTH_CONFIG string нет "" Настройки для аутентификации: если AuthMode = mapping, то необходим JSON с List[KafkaAuthConfig]
SZI_SECURITY_ADAPTER_KAFKA_AUTH_CACHE_SIZE int нет Максимальный размер кеша для Kafka producer (количество активных соединений).
SZI_SECURITY_ADAPTER_KAFKA_AUTH_CACHE_TTL duration string нет Время жизни Kafka producer в кеше.
SZI_SECURITY_ADAPTER_CONSUL_ADDR url string нет "http://localhost:8500" Адрес Сonsul.
SZI_SECURITY_ADAPTER_CONSUL_AUTH_USER string нет "" Название учетной записи Сonsul. Если название не указано, то настройки авторизации не будут применены.
SZI_SECURITY_ADAPTER_CONSUL_AUTH_PASSWORD string нет "" Пароль учетной записи Сonsul.
SZI_SECURITY_ADAPTER_DISCOVERABLE_ID_PREFIX string нет "another_szi_security_adapter_instance" Префикс для ID сервиса в ServiceDiscovery. ID сервиса будет состоять из префикса и времени запуска сервиса в формате Unix timestamp.
SZI_SECURITY_ADAPTER_DISCOVERABLE_NAME string нет "szisecurityadapter" Имя сервиса в ServiceDiscovery
SZI_SECURITY_ADAPTER_DISCOVERABLE_HOST string да "localhost" Хост, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. Указанный адрес должен быть виден другим сервисам. Пример: имя kubernetes/docker_swarm service
SZI_SECURITY_ADAPTER_DISCOVERABLE_PORT int нет Порт, публикуемый в ServiceDiscovery. По нему на данный сервис будут обращаться другие через HTTP. По умолчанию указывается порт, который слушает HTTP-сервер.
SZI_SECURITY_ADAPTER_DISCOVERABLE_TTL duration string нет 2 minutes Период после последней отправки health check, в течение которого ServiceDiscovery считает данный сервис живым.
SZI_SECURITY_ADAPTER_DISCOVERABLE_HEALTHPASS duration string нет 1 minute Периодичность отправки health check в ServiceDiscovery
SZI_SECURITY_ADAPTER_DISCOVERABLE_HEALTHTIMEOUT duration string нет 10 seconds Таймаут отправки health check в ServiceDiscovery
SZI_SECURITY_ADAPTER_SERVICE_NAME string нет szi-security-adapter Название сервиса для отображения
SZI_SECURITY_ADAPTER_SERVICE_DESCRIPTION string нет "Service SZI_SECURITY_ADAPTER" Описание сервиса для отображения
SZI_SECURITY_ADAPTER_INTERNALCMD_ALLOW bool нет true Можно ли сервису отправлять внутрисистемные команды
SZI_SECURITY_ADAPTER_SENDERLIB_COMMANDS_CACHE_UPDATEPERIOD duration string нет 10 minutes Время кэширования данных по командам из CommandDiscovery
SZI_SECURITY_ADAPTER_SENDERLIB_SERVICES_CACHE_UPDATEPERIOD duration string нет 30 seconds Время кэширования данных по сервисам из ServiceDiscovery
SZI_SECURITY_ADAPTER_AUTHZFORCE_ADDR string нет "http://localhost:8080/authzforce-ce" Адрес AuthZforce server
SZI_SECURITY_ADAPTER_AUTHZFORCE_DOMAIN string нет "" Доступный DomainID в AuthZforce server
SZI_SECURITY_ADAPTER_LOG_LEVEL string нет INFO Общий уровень логирования в сервисе
SZI_SECURITY_ADAPTER_LOG_LEVEL_AUTHORIZATIONSERVICE string нет INFO Уровень логирования для AuthorizationService
SZI_SECURITY_ADAPTER_LOG_LEVEL_AKKA string нет INFO Уровень логирования для akka
SZI_SECURITY_ADAPTER_LOG_LEVEL_LIQUIBASE string нет INFO Уровень логирования для liquibase (миграции)
SZI_SECURITY_ADAPTER_LOG_LEVEL_APPLICATION string нет DEBUG Уровень логирования для application
SZI_SECURITY_ADAPTER_LOG_LEVEL_SLICK_STATEMENT string нет DEBUG Уровень логирования запросов, отправляемых slick в БД
SZI_SECURITY_ADAPTER_LOG_LEVEL_SLICK_BENCHMARK string нет OFF Уровень логирования бенчмарков выполнения запросов slick
SZI_SECURITY_ADAPTER_LOG_LEVEL_SLICK_PARAMETER string нет OFF Уровень логирования заполнения параметризованных запросов slick параметрами
SZI_SECURITY_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER string нет OFF Уровень логирования компиляции запросов slick
SZI_SECURITY_ADAPTER_LOG_LEVEL_SLICK_QUERY_COMPILER_BENCHMARK string нет OFF Уровень логирования бенчмарков компиляции запросов slick
SZI_SECURITY_ADAPTER_LOG_LEVEL_KAFKA_PRODUCER string нет WARN Уровень логирования конфига kafka-producer
SZI_SECURITY_ADAPTER_LOG_LEVEL_KAFKA_CONSUMER string нет WARN Уровень логирования kafka-consumer
SZI_SECURITY_ADAPTER_LOG_LEVEL_HTTP_SERVER string нет WARN Уровень логирования HTTP-сервера
SZI_SECURITY_ADAPTER_LOG_LEVEL_AKKAHTTPSENDER string нет TRACE Уровень логирования для отправки команд через HTTP. На уровне INFO логируется трассировка, если она включена
SZI_SECURITY_ADAPTER_LOG_LEVEL_KAFKASENDER string нет TRACE Уровень логирования для отправки команд через Kafka. На уровне INFO логируется трассировка, если она включена
SZI_SECURITY_ADAPTER_LOG_LEVEL_COMMANDSTATUSCLI string нет TRACE Уровень логирования для проверки состояний команд в сервисе статусов
SZI_SECURITY_ADAPTER_LOG_OUTPUT string нет STDOUT Вывод лога
SZI_SECURITY_ADAPTER_SYSLOG_TYPE string нет UDP Тип передачи syslog
SZI_SECURITY_ADAPTER_LOGGING_SRC_IP string нет "localhost" для параметра src в логах
SZI_SECURITY_ADAPTER_LOGGING_SRC_HOST string нет "SERVER" для параметра shost в логах
SZI_SECURITY_ADAPTER_LOGGING_DST_IP string нет "SERVER" для параметра dst в логах
SZI_SECURITY_ADAPTER_LOGGING_CEF_VER string нет 0 версия CEF
SZI_SECURITY_ADAPTER_MAX_PAGE_SIZE int нет 500 Максимальный размер одной страницы при постраничном получении или отправке данных
SZI_SECURITY_ADAPTER_REQUEST_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов во внешние сервисы
SZI_SECURITY_ADAPTER_RETRY_DELAY duration string нет 2 seconds Максимальное число ретраев на запросы во внешние сервисы
SZI_SECURITY_ADAPTER_RETRY_COUNT string нет 5 Задержка между ретраями запросов во внешние сервисы
SZI_SECURITY_ADAPTER_MIGRATIONS_TIMEOUT duration string нет 10 minutes Таймаут для миграций CustomChange
SZI_SECURITY_ADAPTER_SZI_URL string да Адрес сервиса szi-security
SZI_SECURITY_ADAPTER_SZI_AUTH_URL string нет /szi/auth/ Путь для авторизации в szi-security
SZI_SECURITY_ADAPTER_SZI_ADMINUSERNAME string да Логин админа в szi-security
SZI_SECURITY_ADAPTER_SZI_ADMINPASSWORD string да Пароль админа в szi-security
SZI_SECURITY_ADAPTER_SZI_PARALLELISM int нет 16 Максимальное число одновременно отправляемых запросов в szi-security
SZI_SECURITY_ADAPTER_SZI_GROUPS_MAPPING string нет "" Маппинг групп в системе к группам в сзи, подробнее описано ниже.
SZI_SECURITY_ADAPTER_SZI_SECURITY_OBJECT_PREFIX string нет frgu Префикс объектов безопасности в szi
SZI_SECURITY_ADAPTER_SZI_MAX_ATTEMPTS int нет 5 Максимальное количество попыток авторизации

Формат CEF для логов сервиса szi-security-adapter

У логов есть возможность включить формат CEF для логирования по следующему шаблону:
2022-12-14T16:56:31+0500 CEF:Version|Device Vendor|Device Product|Device Version|EventClassId|Message|Severity|src=? dst=? shost=? suid=? suser=? msg=? end=currentTimeMillis|.

Чтобы включить логирование в формате CEF, нужно задать значение переменной с постфиксом CEF. Например, SZI_SECURITY_ADAPTER_LOG_OUTPUT = STDOUT_CEF. Если логи пишутся в формате CEF, то желательно поменять следующие переменные:

В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения (переменная projectMainClassPath), если это необходимо.

Маппинг групп

Переменная SZI_SECURITY_ADAPTER_SZI_GROUPS_MAPPING отвечает за соответствие групп в СЗИ к группам в нашей системе.

Пример значения переменной: SZI_SECURITY_ADAPTER_SZI_GROUPS_MAPPING=roles.clerk=clerk;roles.developer=developer;roles.methodologist=methodologistAdmin;roles.coordinator=coordinator Первое значение - идентификатор группы в СЗИ, второе - в нашей системе.

AttributeProvider

Для работы в качестве AttributeProvider для оберто необходимо выставить соответствующую команду в окружении сервиса оберто (второе значение):

OBERTO_AUTHZFORCE_ATTRIBUTES_CMD_MAPPING=sed=sed_provideAttribute;szisecurityadapter=sziSecurityAdapter_provideAttribute

Пример права, использующего attribute provider:

permit Actions(CreateCatalogRequest) if szisecurityadapter.User.securityObject == 'CreateCatalogRequest'"

Список команд сервиса szi-security-adapter

В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.

В сервисе реализованы команды:

MigratePermissions

Мигрирует указанные права в СЗИ. Команда работает по upsert принципу - для изменения существующих данных ее можно вызывать повторно. Старые данные, и данные, созданные непосредственно в СЗИ, не удаляются

Команда Тип
sziSecurityAdapter_migratePermissions Kafka

Объекты сервиса

PermissionCreateDTO

Поле Тип Обязательное Описание
roleId string да ID группы пользователей
securityObjects SecurityObjectCreateDTO[] да Описание прав

SecurityObjectCreateDTO

Поле Тип Обязательное Описание
id string да ID объекта безопасности
name string нет Имя объекта безопасности