ФРГУ
Описание команд всех сервисов, которые входят в состав ФРГУ.
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, то желательно поменять
следующие переменные:
ARDOS_ACCESS_ADAPTER_LOGGING_SRC_IP, для параметраsrcв логахARDOS_ACCESS_ADAPTER_LOGGING_SRC_HOST, для параметраshostв логахARDOS_ACCESS_ADAPTER_LOGGING_DST_IP, для параметраdstв логах
В файле 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
Мигрирует указанные права в Ардос.
- Input: MigrateOperationDTO[]
- Output: {}
| Команда | Тип |
|---|---|
| ardosAccessAdapter_migrateOperations | Http |
Объекты сервиса
MigrateOperationDTO
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| groupId | string | да | ID группы пользователей |
| actions | string[] | да | Список action |
Ardos Auth Adapter: сервис пользователей (адаптер ardos)
Сервис принимает запросы для работы с игроками и командами. Состояние хранится в PostgreSQL.
Команды могут приходить как по HTTP, так и через Kafka в топик ARDOS_AUTH_ADAPTERcommands.
Сервис разбит на несколько модулей, в виде sbt проектов:
domainв котором содержатся все доменные модели и их различные представления.commandsв котором содержатся все, что связано с командами, их описанием и обработчиками.storageсодержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.serviceсодержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.bootсодержит зависимости и описание для сборки и запуска сервиса.
Информацию по добавлению команд можно прочитать в описании шаблона
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/ardosAuthAdapter_db - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- ARDOS_AUTH_ADAPTERDB_HOST
- ARDOS_AUTH_ADAPTERDB_PORT
- ARDOS_AUTH_ADAPTERDB_NAME
- ARDOS_AUTH_ADAPTERDB_USER
- ARDOS_AUTH_ADAPTERDB_PASSWORD
Запуск из консоли с помощью 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, то желательно поменять
следующие переменные:
ARDOS_AUTH_ADAPTERLOGGING_SRC_IP, для параметраsrcв логахARDOS_AUTH_ADAPTERLOGGING_SRC_HOST, для параметраshostв логахARDOS_AUTH_ADAPTERLOGGING_DST_IP, для параметраdstв логах
В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения
(переменная projectMainClassPath), если это необходимо.
Список команд сервиса Ardos Auth Adapter
В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.
В сервисе реализованно 2 команды:
ArdosAuthUrl
Получение ссылки на аутентификацию в ЕСИА.
- Input: Пустое тело запроса
- Output: String (url для аутентификации)
| Команда | Тип |
|---|---|
| mon_http_ArdosAuthUrl | HTTP |
CheckAuth
Проверяет аутентификация и выставляет cookie. Синхронизирует пользователя с ardos.
- Input: CheckAuthDTO
- Output: Пустое тело ответа (Выставляет cookie at)
| Команда | Тип |
|---|---|
| mon_http_ArdosCheckAuth | HTTP |
Logout
Получение ссылки на выход из ЕСИА.
- Input: Пустое тело запроса
- Output: String (url для выхода)
| Команда | Тип |
|---|---|
| mon_http_Logout | HTTP |
Объекты сервиса Ardos Auth Adapter
CheckAuthDTO
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| state | UUID | да | ID запроса на аутентификацию |
| code | String | да | Код запроса на аутентификацию |
Datamart Adapter: Сервис синхронизации данных в витрину НСУД
Сервис читает топики entityObjectEvent и catalogEvents и следуя маппингу загружает данные через prostore jdcbdriver в витрину данных.
Сервис разбит на несколько модулей, в виде sbt проектов:
domainв котором содержатся все доменные модели и их различные представления.commandsв котором содержатся все, что связано с командами, их описанием и обработчиками.storageсодержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.serviceсодержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.bootсодержит зависимости и описание для сборки и запуска сервиса.
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/datamartAdapter_db - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- DATAMART_ADAPTER_DB_HOST
- DATAMART_ADAPTER_DB_PORT
- DATAMART_ADAPTER_DB_NAME
- DATAMART_ADAPTER_DB_USER
- DATAMART_ADAPTER_DB_PASSWORD
Запуск из консоли с помощью 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, то желательно поменять
следующие переменные:
DATAMART_ADAPTER_LOGGING_SRC_IP, для параметраsrcв логахDATAMART_ADAPTER_LOGGING_SRC_HOST, для параметраshostв логахDATAMART_ADAPTER_LOGGING_DST_IP, для параметраdstв логах
В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения
(переменная projectMainClassPath), если это необходимо.
Список команд сервиса Datamart Adapter
В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.
В сервисе реализованно 1 команда:
ImportMappings
Обновляет маппинг сущностей.
- Input: ListDataMartMapping
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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 проектов:
- [domain] в котором содержатся все доменные модели и их различные представления.
- [commands] в котором содержатся всё, что связано с командами, их описанием и обработчиками.
- [storage] содержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.
- [service] содержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.
- [boot] содержит зависимости и описание для сборки и запуска сервиса.
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
${FRGU_MIGRATOR_DB_HOST}:${FRGU_MIGRATOR_DB_PORT}/${FRGU_MIGRATOR_DB_NAME}(по умолчаниюlocalhost:5432/frgu-migrator) - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- FRGU_MIGRATOR_DB_HOST
- FRGU_MIGRATOR_DB_PORT
- FRGU_MIGRATOR_DB_NAME
- FRGU_MIGRATOR_DB_USER
- FRGU_MIGRATOR_DB_PASSWORD
- FRGU_MIGRATOR_FRGU1_DB_HOST
- FRGU_MIGRATOR_FRGU1_DB_PORT
- FRGU_MIGRATOR_FRGU1_DB_NAME
- FRGU_MIGRATOR_FRGU1_DB_USER
- FRGU_MIGRATOR_FRGU1_DB_PASSWORD
Запуск из консоли с помощью 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
Имеет общую очередь с командой отката.
- Input: MigrationInput[]
- Output: None
| Команда | Путь |
|---|---|
| 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
}
}
- Input: MigrationInput[]
- Output: String
| Команда | Путь |
|---|---|
| frguMigrator_getInternalIdForMigration | Kafka Topic "frgu_migrator_commands" |
SearchFrguId2ForMigration
На входе список предпологаемый frguId2
101101
На выходе - Boolean true если можно мигрировать /false если нельзя мигрировать(нет в базе)
{
"status": "Completed",
"timestamp": 1725367497937,
"value": true
}
- Input: [Int]
- Output: Boolean
| Команда | Путь |
|---|---|
| frguMigrator_searchFrguId2ForMigration | Kafka Topic "frgu_migrator_commands" |
RollbackMigrations
На входе список id миграций для отката миграции
[
"DagestanRepublic",
"Federal"
]
На выходе - пустое тело ответа
Запуск отката миграций.
При аварийном отключении frgu-migrator миграции в очереди помечаются статусом RollbackFailed
Имеет общую очередь с командой старта.
- Input: Seq[String] список регионов
- Output: None
| Команда | Путь |
|---|---|
| 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
}
Получение списка миграций с поиском, сортировкой и пагинацией.
- Input: Search
- Output: Page[Migration]
| Команда | Путь |
|---|---|
| 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 статусов миграции
- Queued - миграция добавлена в очередь на исполнение
- InProcess - миграция в процессе исполнения
- Finished - миграция завершена
- Failed - ошибка (повторный запуск миграции с этим статусом продолжит её выполнение, а не начнёт заново)
- RollbackQueued - миграция добавлена в очередь на откат
- RollbackInProcess - миграция в процессе отката
- RollbackFinished - откат миграции завершена
- RollbackFailed - ошибка отката (повторный откат миграции с этим статусом продолжит её откат, а не начнёт заново)
Mon Szi: сервис для примера
Сервис принимает запросы для работы с игроками и командами. Состояние хранится в PostgreSQL.
Команды могут приходить как по HTTP, так и через Kafka в топик mon_szi_commands.
Сервис разбит на несколько модулей, в виде sbt проектов:
domainв котором содержатся все доменные модели и их различные представления.commandsв котором содержатся все, что связано с командами, их описанием и обработчиками.storageсодержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.serviceсодержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.bootсодержит зависимости и описание для сборки и запуска сервиса.
Информацию по добавлению команд можно прочитать в описании шаблона
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/monSzi_db - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- MON_SZI_DB_HOST
- MON_SZI_DB_PORT
- MON_SZI_DB_NAME
- MON_SZI_DB_USER
- MON_SZI_DB_PASSWORD
Запуск из консоли с помощью 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, то желательно поменять
следующие переменные:
MON_SZI_LOGGING_SRC_IP, для параметраsrcв логахMON_SZI_LOGGING_SRC_HOST, для параметраshostв логахMON_SZI_LOGGING_DST_IP, для параметраdstв логах
В файле src/main/resources/logback.xml можно поменять class path для основного класса приложения
(переменная projectMainClassPath), если это необходимо.
Список команд сервиса Mon Szi
В описании команд используется путь/route для отправки команды в сам сервис, а не в ApiGateway. В качестве Input-а для команд, сервис всегда ожидает CommandRequest (как и любой другой сервис, принимающий команды), так что в описании команды указано лишь описание поля payload для CommandRequest.
В сервисе реализованно 2 команды:
CheckAuth
Проверяет аутентификация и выставляет cookie. Также обновляет атрибуты пользователя сессионными атрибутами из ЕСИА.
- Input: String
- Output: Пустое тело ответа (Выставляет cookie szi-token)
| Команда | Тип |
|---|---|
| mon_http_SziCheckAuth | HTTP |
ConfirmOgrn
Принудительно обновляет атрибуты пользователя на новый огрн.
- Input: String
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| mon_http_ConfirmOgrn | HTTP |
Sed Profiling: Сервис профилирования
Сервис для профилирования подуслуг. В ключевой функционал сервиса входит:
- Создание вопросов и ответов к подуслуге.
- Генерирование вариантов предоставления подуслуги.
Состояние хранится в PostgreSQL.
Команды могут приходить как по HTTP, так и через Kafka в топик sed_profiling_commands.
Сервис разбит на несколько модулей, в виде sbt проектов:
domainв котором содержатся все доменные модели и их различные представления.commandsв котором содержатся все, что связано с командами, их описанием и обработчиками.storageсодержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.serviceсодержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.bootсодержит зависимости и описание для сборки и запуска сервиса.
Информацию по добавлению команд можно прочитать в описании шаблона
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/sedProfiling_db - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- SED_PROFILING_DB_HOST
- SED_PROFILING_DB_PORT
- SED_PROFILING_DB_NAME
- SED_PROFILING_DB_USER
- SED_PROFILING_DB_PASSWORD
Запуск из консоли с помощью 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, то желательно поменять
следующие переменные:
SED_PROFILING_LOGGING_SRC_IP, для параметраsrcв логахSED_PROFILING_LOGGING_SRC_HOST, для параметраshostв логахSED_PROFILING_LOGGING_DST_IP, для параметраdstв логах
В файле 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
}
Создаёт новый обычный вопрос. Невозможно создание обычного вопроса без имеющегося корневого вопроса к данной подуслуге.
- Input: QuestionCreateDTO
- Output: Question
| Команда | Тип |
|---|---|
| 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
}
Создаёт новый корневой вопрос, который всегда является активным.
- Input: RootQuestionCreateDTO
- Output: QuestionWithAnswers
| Команда | Тип |
|---|---|
| sedProfiling_createRootQuestion | Kafka |
DeleteQuestion
На входе ID вопроса
"bad94be9-da4b-40c9-acdd-7fbcdef3554f"
На выходе пустое тело ответа
Удаляет обычный вопрос, также удаляет и все ответы на него и привязки.
- Input: QuestionId
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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
}
]
Возвращает вопросы и ответы для подуслуги.
- Input: ListQuestionDTO
- Output: ListQuestionWithAnswers
| Команда | Тип |
|---|---|
| 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
}
- Input: QuestionId
- Output: Question
| Команда | Тип |
|---|---|
| sedProfiling_getQuestion | Http |
UpdateQuestion
На входе атрибуты для обновления обычного вопроса
{
"id": "67908c9a-8f60-4406-86b2-884465af8f1f",
"version": 1,
"text": "текст",
"isActive": true
}
На выходе пустое тело ответа
Обновляет обычный вопрос.
- Input: QuestionUpdateDTO
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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
}
Создаёт новый ответ.
- Input: AnswerCreateDTO
- Output: Answer
| Команда | Тип |
|---|---|
| sedProfiling_createAnswer | Kafka |
DeleteAnswer
На входе ID ответа
"bad94be9-da4b-40c9-acdd-7fbcdef3554f"
На выходе пустое тело ответа
Удаляет ответ.
- Input: AnswerId
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| sedProfiling_deleteAnswer | Kafka |
LinkAnswer
На входе ID ответа, вопроса и версия
{
"answerId": "7a01be36-7057-46dc-86c4-99693e05dc80",
"version": 3,
"nextQuestionId": "b9d65e3b-ccf3-4d1e-aa5c-8c0e0784a1bc"
}
На выходе пустое тело ответа
Привязывает следующий вопрос к ответу.
- Input: LinkAnswerDTO
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| sedProfiling_linkAnswer | Kafka |
UnlinkAnswer
На входе ID ответа и версия
{
"answerId": "7a01be36-7057-46dc-86c4-99693e05dc80",
"version": 3
}
На выходе пустое тело ответа
Удаляет привязку ответа к следующему вопросу.
- Input: UninkAnswerDTO
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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
}
]
}
На выходе пустое тело ответа
Обновляет ответ.
- Input: AnswerUpdateDTO
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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
}
- Input: AnswerId
- Output: Answer
| Команда | Тип |
|---|---|
| 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"
]
- Input: AnswerId
- Output: UUID[]
| Команда | Тип |
|---|---|
| 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
}
]
Возвращает варианты предоставления для подуслуги.
- Input: UUID
- Output: ListProvisionOptionListDTO
| Команда | Тип |
|---|---|
| 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
}
Возвращает вариант предоставления.
- Input: UUID
- Output: ListProvisionOptionGetDTO
| Команда | Тип |
|---|---|
| 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": {}
}
На выходе пустое тело ответа
Обновляет вариант предоставления и связанные сущности + привязки.
- Input: ProvisionOptionUpdateDTO
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| sedProfiling_updateProvisionOption | Kafka |
CountProvisionOptions
На ID подуслуги
"bd0d1cdd-ff02-4165-8e7c-8941455a10a7"
На выходе число вариантов предоставления
{
"count": 3,
"draftCount": 1,
"containsDraft": true
}
Получает число вариантов предоставления для подуслуги.
- Input: UUID
- Output: ProvisionOptionCount
| Команда | Тип |
|---|---|
| sedProfiling_countProvisionOptions | Http |
CopyForNewVersion
На входе ID старой и новой подуслуги для копирования
{
"fromId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7",
"toId": "bd0d1cdd-ff02-4165-8e7c-8941455a10a7"
}
На выходе пустой ответ
Копирует все данные по профилированию из старой подуслуги в новую.
- Input: CopyToSubServiceInput
- Output: Пустое тело ответа
| Команда | Тип |
|---|---|
| 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 проектов:
domain, в котором содержатся все доменные модели и их различные представления.commands, в котором содержатся всё, что связано с командами, их описанием и обработчиками.storage, содержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.service, содержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.boot, содержит зависимости и описание для сборки и запуска сервиса.
Информация по добавлению команд можно прочитать в описании шаблона
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/sed-report - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- SED_REPORT_DB_HOST
- SED_REPORT_DB_PORT
- SED_REPORT_DB_NAME
- SED_REPORT_DB_USER
- SED_REPORT_DB_PASSWORD
Запуск из консоли с помощью 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
}
- Input: ReportEntityCreateDTO
- Output: ReportEntity
| Команда | Путь |
|---|---|
| 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
}
- Input: Search
- Output: PageReportEntity
| Команда | Путь |
|---|---|
| sedReport_listReportEntities | HTTP |
Объекты сервиса sed-report
CreateReport
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| entityType | string | да | тип сущности |
| entityId | string | да | id сущности |
Search
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| 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 проектов:
domain, в котором содержатся все доменные модели и их различные представления.commands, в котором содержатся все команды, их описание и обработчики: kafka-handlers & http-routes.store, содержит сервисы для сохранения и чтения их разных хранилищ доменных моделей.service, содержит сервисы бизнес логии, которые определяют правила взаимодействия компонентов между собой.boot, содержит зависимости и описание для сборки и запуска сервиса.
Информация по добавлению команд можно прочитать в описании шаблона
Список версий
Описание изменений в API соответственно версиям релиза
1.8
FRGU-2372
- Изменен тип поля requestId (UUID -> EntityObjectIdentity) в ServicePassportCreateDTO
- Поле requestId в ServicePassportCreateDTO переименовано в requestIdentity
- Добавлено поле requestIdentity во все типы ServiceCardCreateDTO Пример
- В SubServiceCreateDTO изменено поле requestId (новое имя requestIdentity, тип сменен UUID -> EntityObjectIdentity)
Локальный запуск сервиса sed
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/sed - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- SED_DB_HOST
- SED_DB_PORT
- SED_DB_NAME
- SED_DB_USER
- SED_DB_PASSWORD
Запуск из консоли с помощью 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).
- Input: AuthorizeDTO
- Output: Map[String, Boolean]
| Команда | Путь |
|---|---|
| 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"
Создание нового Решения участника стадии.
- Input: StageSolutionCreate
- Output: UUID Решения участника стадии
| Команда | Путь |
|---|---|
| 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"
Создание нового Решения департамента стадии.
- Input: StageSolutionDepartmentCreate
- Output: UUID Решения участника стадии
| Команда | Путь |
|---|---|
| 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
}
Получение Решения участника стадии по идентификатору.
- Input: UUID Запроса Согласование НМД
- Output: StageSolution
| Команда | Путь |
|---|---|
| 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
}
Получение списка Решения участника стадии с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[StageSolution]
| Команда | Путь |
|---|---|
| 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
}
Получение списка Решения участника стадии с фильтрацией, сортировкой и пагинацией.
- Input: ListDepartmentStageSolutionsDTO
- Output: Page[StageSolution]
| Команда | Путь |
|---|---|
| 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
Проверка возможности голосовать по стадии сущности.
- Input: GetVoteAbility
- Output: Boolean (возможность голосовать)
| Команда | Путь |
|---|---|
| sed_voteAbility | Kafka Topic "sed_commands" |
UpdateStageSolution
На входе необходимые для обновления атрибуты Решения участника стадии, а также ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"comment": "Новый комментарий"
}
}
На выходе признак успешности
true
Обновление Решения участника стадии.
Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно
явно передать null.
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateStageSolution | Kafka Topic "sed_commands" |
DeleteStageSolution
На входе ID Решения участника стадии
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление Решения участника стадии по идентификатору.
- На входе: UUID Решения участника стадии
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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.
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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
}
Получение Истории переходов
- Input: UUID элемента Истории переходов
- Output: StageHistory
| Команда | Путь |
|---|---|
| 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
}
Получение списка элементов Истории переходов с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[StageHistory]
| Команда | Путь |
|---|---|
| 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"
}
]
Получение списка стадий с просрочками и версиями
- Input: ID запроса
- Output: [ListStageInfo]
| Команда | Путь |
|---|---|
| sed_stageInfo | HTTP POST "/v1/stage-info/stages-info-list" |
DeleteServiceRequest
На входе ID Запроса услуги
"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"
На выходе результат удаления
true
Удаление Запроса услуги Также удаляет связанные сущности - снапшоты, StageHistory и ServiceCard
- На входе: UUID Запроса услуги
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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")
}
Получение карточки услуги по идентификатору.
- Input: UUID запроса услуги
- Output: ServiceRequest
| Команда | Путь |
|---|---|
| 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
}
Получение списка элементов запросов услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServiceRequest]
| Команда | Путь |
|---|---|
| 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
}
Получение Запроса на внутреннее согласование по идентификатору.
- Input: UUID Запроса на внутреннее согласование
- Output: InternalApprovalRequest
| Команда | Путь |
|---|---|
| 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
}
Получение списка Запросов на внутреннее согласование с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[InternalApprovalRequest]
| Команда | Путь |
|---|---|
| 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
Обновление Запроса на внутреннее согласование.
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateInternalApprovalRequest | Kafka Topic "sed_commands" |
DeleteInternalApprovalRequests
На входе список Id запросов на внутреннее согласование
[
"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"
]
На выходе признак успешности
true
Удаление запросов на внутреннее согласование.
- На входе: UUID[]
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_deleteInternalApprovalRequests | Kafka Topic "sed_commands" |
DeleteChildStage
На входе ID стадии для удаления
"8c5b2019-ae97-47be-ba5e-5df381d67372"
На выходе признак успешности
true
Удаление дочерней стадии.
- На входе: UUID
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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
Обновление ответственных за дочернюю стадию.
- На входе: StageResponsibleUpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateStageResponsibleIds | Kafka Topic "sed_commands" |
UpdateStageDepartmentIds
На входе StageDepartmentsUpdateDTO Если не указывается deadlineDate, срок стадии не изменяется
{
"routeStageId": "d6f80b91-217b-4a79-aef1-ce04232be6d1",
"deadlineDate": 1705754637542,
"stageDepartmentIds": [
"a30c2423-1d9e-43b5-85b1-c02e9ab7d6cd"
]
}
На выходе признак успешности
true
Обновление ответственных ведомств за дочернюю стадию.
- На входе: StageDepartmentsUpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateStageDepartmentIds | Kafka Topic "sed_commands" |
AssignCurrentUserAsOneStageResponsible
{
"routeStageId": "d6f80b91-217b-4a79-aef1-ce04232be6d1",
"stageDepartmentIds": "a30c2423-1d9e-43b5-85b1-c02e9ab7d6cd"
}
На выходе признак успешности
true
Назначает отправившего команду пользователя ответственным за стадию (назначается задача).
- На входе: AssignCurrentUserAsOneStageResponsibleDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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"
Создание новой карточки услуги.
- Input: OtherServiceCardCreateDTO
- или MunicipalServiceCardCreateDTO
- или MandatoryServiceCardCreateDTO
- или StateServiceCardCreateDTO (в зависимости от типа услуги)
- Output: UUID карточки услуги
| Команда | Путь |
|---|---|
| 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.
- Input: UUID карточки услуги
- Output: OtherServiceCard
- или MunicipalServiceCard
- или MandatoryServiceCard
- или StateTaskServiceCard
- (в зависимости от типа услуги)
| Команда | Путь |
|---|---|
| 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
}
Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[OtherServiceCard]
- или Page[MunicipalServiceCard]
- или Page[MandatoryServiceCard]
- или Page[StateTaskServiceCard]
- (в зависимости от типа услуги)
| Команда | Путь |
|---|---|
| sed_listServiceCards | HTTP POST "/v1/service-card/list" |
UpdateServiceCard
На входе необходимые для обновления атрибуты карточки услуги, а также ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"department": "Новое ведомство"
}
}
На выходе признак успешности
true
Обновление карточки услуги.
Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно
явно передать null.
При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateServiceCard | Kafka Topic "sed_commands" |
DeleteServiceCard
На входе ID карточки услуги
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление карточки услуги по идентификатору.
- На входе: UUID Решения участника стадии
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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.
- Input: ServicePassportCreateDTO
- Output: UUID паспорта услуги
| Команда | Путь |
|---|---|
| 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
}
]
}
Получение паспорта услуги по идентификатору.
- Input: UUID паспорта услуги
- Output: ServicePassport
| Команда | Путь |
|---|---|
| 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
}
Получение списка паспортов услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServicePassport]
| Команда | Путь |
|---|---|
| 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.
При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateServicePassport | Kafka Topic "sed_commands" |
DeleteServicePassport
На входе ID паспорта услуги
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление паспорта услуги по идентификатору.
- На входе: UUID Паспорта услуги
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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"
Запускает маршрут по запросу
- На входе: StartRouteDTO
- На выходе: UUID
| Команда | Путь |
|---|---|
| sed_startRoute | Kafka Topic "sed_commands" |
StartRouteNewVersion
На входе ID опубликованной карточки услуги
"57fa5963-796e-4a19-96e5-a094db6cb895"
На выходе ID услуги
"57fa5963-796e-4a19-96e5-a094db6cb895"
Создание новой версии услуги на основе опубликованной карточки
- На входе: UUID
- На выходе: UUID
| Команда | Путь |
|---|---|
| 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"
Создание услуги на основе опубликованного шаблона карточки
- На входе: StartRouteFromTemplateDTO
- На выходе: UUID
| Команда | Путь |
|---|---|
| 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
- На входе: RestartRouteDTO
- На выходе: UUID
| Команда | Путь |
|---|---|
| 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
}
}
Получение информации о запросе на архивацию
- На входе: UUID
- На выходе: ArchiveShortRequest
| Команда | Путь |
|---|---|
| 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"
}
}
Получение информации о запросе на архивацию
- На входе: UUID
- На выходе: ArchiveFullRequest
| Команда | Путь |
|---|---|
| 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
}
Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ArchiveShortRequest]
| Команда | Путь |
|---|---|
| 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
}
Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ArchiveFullRequest]
| Команда | Путь |
|---|---|
| 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
}
Получение списка запросов на архивацию с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ArchiveRequestRegistry]
| Команда | Путь |
|---|---|
| sed_listArchiveRequests | HTTP POST "/v1/archive-request/list" |
UpdateArchiveShortRequest
На входе данные для обновления запроса
{
"id": "42f4be24-1831-4bfb-bac8-4f2e9c4551c6",
"version": 1,
"data": {
"reason": "Причина тряски"
}
}
На выходе результат обновления
true
Обновление запроса на архивацию
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь | 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
}
Получение акта архивации
- На входе: UUID
- На выходе: InvalidationAct
| Команда | Путь |
|---|---|
| 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
}
Получение списка актов архивации
- На входе: Search
- На выходе: Page[InvalidationAct]
| Команда | Путь |
|---|---|
| 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
}
Получение опубликованного акта архивации
- На входе: UUID
- На выходе: InvalidationAct
| Команда | Путь |
|---|---|
| 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"
Создание акта архивации
- На входе: InvalidationActCreateDTO
- На выходе: UUID
| Команда | Путь |
|---|---|
| sed_createInvalidationAct | Kafka Topic "sed_commands" |
UpdateInvalidationAct
На входе параметры акта архивации
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"regulationDate": 1704969595304
}
}
На выходе результат обновления
true
Обновление акта архивации
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateInvalidationAct | Kafka Topic "sed_commands" |
UpdateInvalidationActGovernmentRegistration
На входе необходимые для обновления атрибуты гос. регистрации
{
"id": "0f63c0e0-c45b-4757-92fd-89da8d3c8572",
"version": 1,
"governmentRegistrationDate": 35,
"governmentRegistrationNumber": "number"
}
На выходе признак успешности
true
Обновление гос. регистрации регламента услуги.
- На входе: UpdateGovernmentRegistrationDTO
- На выходе: Boolean
| Команда | Путь | Action | ResourceType | ResourceId |
|---|---|---|---|---|
| sed_updateInvalidationActGovernmentRegistration | Kafka Topic "sed_commands" | UpdateGovernmentRegistration | InvalidationAct | id |
CreateInvalidationActTemplate
На входе id файла во временном бакете
"32859e2e-8b92-4816-b043-dd33b6484936"
На выходе результат выполнения
true
Создание или обновление шаблона акта архивации.
- Input: UUID
- Output: Boolean
| Команда | Путь |
|---|---|
| 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"
}
}
Получение шаблона акта архивации.
- Input: {}
- Output: RegulationTemplate
| Команда | Путь |
|---|---|
| sed_getInvalidationActTemplate | HTTP POST "/v1/invalidationActTemplate/get" |
SubmitRegisteredInvalidationAct
На входе ID акта архивации
"e51054f7-bdbc-4f9a-af1d-53270fc0a02a"
На выходе ссылка на файл
"datamodel/InvalidationAct/f67f3370-0753-437d-a758-edb797d43c09"
Регистрация акта архивации с проставлением штампа
- Input: UUID
- Output: Ссылка на файл
| Команда | Путь |
|---|---|
| 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"
Создание новой подуслуги с административными процедурами и статусами закрытия.
- Input: SubServiceCreateDTO
- Output: UUID подуслуги
| Команда | Путь |
|---|---|
| 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
}
Получение карточки услуги по идентификатору.
- Input: UUID подуслуги
- Output: SubService
- SubService
| Команда | Путь |
|---|---|
| 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
}
Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[SubService]
| Команда | Путь |
|---|---|
| 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.
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateSubService | Kafka Topic "sed_commands" |
DeleteSubServices
На входе список ID подуслуг
[
"8f730a01-65ed-4864-af48-415f8edcc985"
]
На выходе результат удаления
true
Удаление подуслуги по идентификатору.
- На входе: UUID[] подуслуг
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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"
]
На выходе пустое тело ответа
Удаление списка административных процедур по идентификаторам
- На входе: UUID[]
- На выходе: пустое тело ответа
| Команда | Путь |
|---|---|
| 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
}
]
}
Получение административной процедуры по идентификатору.
- Input: UUID административной процедуры
- Output: AdministrativeProcedure
| Команда | Путь |
|---|---|
| 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
}
Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[AdministrativeProcedure]
| Команда | Путь |
|---|---|
| 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
}
Получение статуса закрытия по идентификатору.
- Input: UUID статуса закрытия
- Output: CloseStatus
| Команда | Путь |
|---|---|
| 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
}
Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[CloseStatus]
| Команда | Путь |
|---|---|
| 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"
На выходе результат обработки файла
Импорт производственного календаря
- Input: Id файла из вызова upload в сервисе api-gateway
- Output: -
| Команда | Путь |
|---|---|
| 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"
}
]
Пустое тело ответа
{}
Обновление ответственного органа власти.
- На входе: UpdateResponsibleDepartmentDTO
- На выходе: Unit
| Команда | Путь |
|---|---|
| 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"
}
Получение ведомства / запроса на создание ведомства текущего пользователя. Если запрос не найден, создаёт новый и возвращает его.
- На входе: Unit
- На выходе: [EntityObjectIdentity][#entityobjectidentity]
| Команда | Путь |
|---|---|
| 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"
Создание нового запроса на изменение справочников.
- Input: CatalogRequestCreateDTO
- Output: UUID запроса на изменение справочников
| Команда | Путь |
|---|---|
| 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
}
]
}
Получение запроса на изменение справочников по идентификатору.
- Input: UUID запроса на изменение справочников
- Output: CatalogRequest
| Команда | Путь |
|---|---|
| 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
}
Получение списка запросов на изменение справочников с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[CatalogRequest]
| Команда | Путь |
|---|---|
| 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.
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateCatalogRequest | Kafka Topic "sed_commands" |
DeleteCatalogRequests
На входе ID запроса на изменение справочников
[
"8f730a01-65ed-4864-af48-415f8edcc985"
]
На выходе результат удаления
true
Удаление запроса на изменение справочников по идентификатору.
- На входе: UUID запроса на изменение справочников
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_deleteCatalogRequests | Kafka Topic "sed_commands" |
SolveCatalogRequest
На входе атрибуты принятия решения
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"requestStatus": "Declined",
"rejectionReason": "some reason"
}
На выходе результат удаления
{}
Принятие решения по запросу на изменение справочников.
- На входе: CatalogRequestSolveDTO
- На выходе: пусто тело ответа
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных карточек услуг на изменение справочников с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServiceCard]
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных карточек услуг для которых разрешено изменение или архивация
- Input: Search
- Output: Page[ServiceCard]
| Команда | Путь |
|---|---|
| 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"}
}
Получение опубликованной карточки услуги по идентификатору.
- Input: UUID опубликованной карточки услуги
- Output: OtherServiceCard
- или MunicipalServiceCard
- или MandatoryServiceCard
- или StateTaskServiceCard
- с дополнительным опциональным полем servicePassportPublish, указывающим на id опубликованного паспорта услуги
- (в зависимости от типа услуги)
| Команда | Путь |
|---|---|
| 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"
}
}
Получение списка запросов опубликованной услуги.
- Input: UUID опубликованной карточки услуги
- Output: ServiceCardPublishRequests
| Команда | Путь |
|---|---|
| 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"
Получение опубликованной услуги по запросу.
- Input: EntityObjectIdentity запроса
- Output: UUID опубликованной карточки услуги
| Команда | Путь |
|---|---|
| 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"
]
}
Получение опубликованного паспорта по идентификатору.
- Input: UUID опубликованного паспорта
- Output: ServicePassport
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[SubService]
| Команда | Путь |
|---|---|
| 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
}
Получение опубликованной подуслуги по идентификатору.
- Input: UUID опубликованной подуслуги
- Output: SubService
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных административных процедур с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[AdministrativeProcedure]
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных межведомственных взаимодействий с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[InterdepartmentalInteraction]
| Команда | Путь |
|---|---|
| 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
}
Получение опубликованного регламента услуги по идентификатору.
- Input: UUID опубликованного регламента услуги
- Output: Regulation
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных документов согласования с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ApprovalDocument]
| Команда | Путь |
|---|---|
| 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"
]
}
Получение опубликованной карточки шаблона услуги по идентификатору.
- Input: UUID опубликованной карточки услуги
- Output: ServiceCardTemplate
| Команда | Путь |
|---|---|
| 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"
]
}
Получение опубликованного паспорта по идентификатору.
- Input: UUID опубликованного шаблона паспорта
- Output: ServicePassportTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение опубликованного шаблона подуслуги по идентификатору.
- Input: UUID опубликованного шаблона подуслуги
- Output: SubServiceTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных шаблонов административных процедур с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[AdministrativeProcedureTemplate]
| Команда | Путь |
|---|---|
| sed_listPublishedAdministrativeProcedureTemplates | HTTP POST "/v1/publish-template/list-administrative-procedures" |
CheckCommentResolution
На входе ID запроса
"039ecfe4-e9d9-470c-9f37-3630b396b3ab"
На выходе пустое тело или ошибки ResolutionRequiredError при отсутствии резолюций на комментарии к запросу
{}
Проверка резолюций.
- Input: UUID запроса
- Output: Unit
| Команда | Путь |
|---|---|
| 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
}
Получение регламента услуги по идентификатору.
- Input: UUID регламента услуги
- Output: Regulation
| Команда | Путь |
|---|---|
| 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
}
Получение списка регламентов услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[Regulation]
| Команда | Путь |
|---|---|
| sed_listRegulations | HTTP POST "/v1/regulation/list" |
UpdateRegulation
На входе необходимые для обновления атрибуты регламента услуги, а также ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"governmentRegistrationNumber": "10"
}
}
На выходе признак успешности
true
Обновление регламента услуги.
Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно
явно передать null.
При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateRegulation | Kafka Topic "sed_commands" |
UpdateGovernmentRegistration
На входе необходимые для обновления атрибуты гос. регистрации
{
"id": "0f63c0e0-c45b-4757-92fd-89da8d3c8572",
"version": 1,
"governmentRegistrationDate": 35,
"governmentRegistrationNumber": "number"
}
На выходе признак успешности
true
Обновление гос. регистрации регламента услуги.
- На входе: UpdateGovernmentRegistrationDTO
- На выходе: Boolean
| Команда | Путь | 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
Загрузка экспертизы уполномоченного органа.
- На входе: RegulationFileUpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateExaminationReport | Kafka Topic "sed_commands" |
DeleteExaminationReport
На входе ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1
}
На выходе признак успешности
true
Удаление экспертизы уполномоченного органа.
- На входе: RegulationFileDeleteDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_deleteExaminationReport | Kafka Topic "sed_commands" |
UpdateDigitalExaminationReport
На входе ID, версия и файл
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"file": {
"fileId": "8f730a01-65ed-4864-af48-415f8edcc985"
}
}
На выходе признак успешности
true
Загрузка экспертизы уполномоченного Минцифры.
- На входе: RegulationFileUpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateDigitalExaminationReport | Kafka Topic "sed_commands" |
DeleteDigitalExaminationReport
На входе ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1
}
На выходе признак успешности
true
Удаление экспертизы уполномоченного Минцифры.
- На входе: RegulationFileDeleteDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_deleteDigitalExaminationReport | Kafka Topic "sed_commands" |
DeleteRegulation
На входе ID регламента услуги
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление регламента услуги по идентификатору.
- На входе: UUID Паспорта услуги
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_deleteRegulation | Kafka Topic "sed_commands" |
SendSmevRegulationRequest
На входе ID регламента услуги
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе пустое тело ответа
Отправляет запрос в СМЭВ для получения информации об антикоррупционной экспертизе из Regulation.
- На входе: UUID Регламента услуги
- На выходе: Пустое тело ответа
| Команда | Путь |
|---|---|
| sed_sendRegulationSmevRequest | Kafka Topic "sed_commands" |
CreateRegulationReport
На входе ID услуги
"d6699e46-6110-4137-b435-4839dc37ef3e"
На выходе ссылка на сформированный файл
"report/cebf6086-ef90-4102-b468-4a324c1df603"
Заполнение шаблона регламента данными сервиса
- Input: UUID
- Output: string
| Команда | Путь |
|---|---|
| sed_createRegulationReport | Kafka Topic "sed_commands" |
CreateRegulationTemplate
На входе id файла во временном бакете
"32859e2e-8b92-4816-b043-dd33b6484936"
На выходе результат выполнения
true
Создание или обновление шаблона регламента.
- Input: UUID
- Output: Boolean
| Команда | Путь |
|---|---|
| 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"
}
}
Получение шаблона регламента.
- Input: {}
- Output: RegulationTemplate
| Команда | Путь |
|---|---|
| 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": [
"Такое-то название"
]
}
Прикрепление файла регламента к услуге после ручного редактирования пользователем
- Input: SubmitReportInput
- Output: ID файла если валидация прошла, SubmitReportError если валидация не прошла
| Команда | Путь |
|---|---|
| sed_submitRegulationReport | Kafka Topic "sed_commands" |
SubmitRegisteredRegulation
На входе ID регламента
"e51054f7-bdbc-4f9a-af1d-53270fc0a02a"
На выходе ссылка на файл
"datamodel/Regulation/f67f3370-0753-437d-a758-edb797d43c09"
Регистрация регламента с проставлением штампа
- Input: UUID
- Output: Ссылка на файл
| Команда | Путь |
|---|---|
| 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"
Создание нового документа о возложении обязанностей.
- Input: ResponsibilityDocumentCreateDTO
- Output: UUID документа о возложении обязанностей
| Команда | Путь | 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"
}
Получение документа о возложении обязанностей по идентификатору.
- Input: UUID документа о возложении обязанностей
- Output: ResponsibilityDocument
| Команда | Путь |
|---|---|
| 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
}
Получение списка документов о возложении обязанностей с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ResponsibilityDocument]
| Команда | Путь |
|---|---|
| sed_listResponsibilityDocuments | HTTP POST "/v1/responsibility-document/list" |
DeleteResponsibilityDocument
На входе ID документа о возложении обязанностей
[
"8f730a01-65ed-4864-af48-415f8edcc985"
]
На выходе результат удаления
true
Удаление документа о возложении обязанностей по идентификатору.
- На входе: UUID документа о возложении обязанностей
- На выходе: Boolean
| Команда | Путь | 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"
]
На выходе пустое тело ответа
Удаление списка Межведомственных взаимодействий по идентификаторам
- На входе: UUID[] подуслуг
- На выходе: пустое тело ответа
| Команда | Путь |
|---|---|
| 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"
}
Получение Межведомственного взаимодействия по идентификатору.
- На входе: UUID Межведомственного взаимодействия
- На выходе: InterdepartmentalInteraction
| Команда | Путь |
|---|---|
| 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
}
Получение списка Межведомственных взаимодействий.
- На входе: Search
- На выходе: PageInterdepartmentalInteraction
| Команда | Путь |
|---|---|
| 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"
}
]
Получение списка доступных Межведомственных взаимодействий.
- На входе: ListAvailableInterdepartmentalInteractionDTO
- На выходе: ListInterdepartmentalInteractionSupplier
| Команда | Путь |
|---|---|
| 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"
Создание нового документа о согласовании.
- Input: VerificationDocumentCreateDTO
- Output: UUID документа о согласовании
| Команда | Путь | 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"
}
Получение документа о согласовании по идентификатору.
- Input: UUID документа о согласовании
- Output: VerificationDocument
| Команда | Путь |
|---|---|
| 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
}
Получение списка документов о согласовании с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[VerificationDocument]
| Команда | Путь |
|---|---|
| sed_listVerificationDocuments | HTTP POST "/v1/verification-document/list" |
DeleteVerificationDocument
На входе ID документа о согласовании
[
"8f730a01-65ed-4864-af48-415f8edcc985"
]
На выходе результат удаления
true
Удаление документа о согласовании по идентификатору.
- На входе: UUID документа о согласовании
- На выходе: Boolean
| Команда | Путь | 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"
Создание нового документа согласования и его прикрепление к текущей стадии.
- Input: ApprovalDocumentCreateDTO
- Output: UUID
| Команда | Путь |
|---|---|
| sed_createApprovalDocument | Kafka Topic "sed_commands" |
UpdateApprovalDocument
На входе необходимые для обновления атрибуты, а также ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"departmentId": "8f730a01-65ed-4864-af48-415f8edcc986"
}
}
На выходе пустое тело ответа
Обновление документа согласования.
Поддерживается частичное изменение полей (если поле не указано, то оно не обновится).
Чтобы занулить значение, нужно явно передать null.
- На входе: UpdateDTO
- На выходе: пустое тело ответа
| Команда | Путь |
|---|---|
| sed_updateApprovalDocument | Kafka Topic "sed_commands" |
DeleteApprovalDocument
На входе ID документа согласования
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление документа согласования по идентификатору.
- На входе: UUID документа согласования
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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
}
Получение списка документов согласования с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ApprovalDocument]
| Команда | Путь |
|---|---|
| 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
}
Получение документа согласования по идентификатору.
- Input: UUID документа согласования
- Output: ApprovalDocument
| Команда | Путь |
|---|---|
| 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"
]
На выходе пустое тело ответа
Удаление списка Документов по идентификаторам
- На входе: UUID[]
- На выходе: пустое тело ответа
| Команда | Путь |
|---|---|
| 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"]
}
]
}
Получение документа по идентификатору.
- Input: UUID документа
- Output: Document
| Команда | Путь |
|---|---|
| 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"
]
Пакетное создание способов подачи заявления.
- Input: ApplicationMethodCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление способов подачи заявления. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateApplicationMethodBatch | Kafka Topic "sed_commands" | ApplicationMethod |
DeleteApplicationMethodBatch
На входе список UUID сущностей
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление платежей. Внутренняя команда, недоступна из API Gateway
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
]
Пакетное создание платежей.
- Input: PaymentCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление списка платежей. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updatePaymentBatch | Kafka Topic "sed_commands" | Payment |
DeletePaymentBatch
На входе список UUID сущностей платежей
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление платежей
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: Payment
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
]
Пакетное создание причин отказа.
- Input: RejectReasonCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление списка причин отказа. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateRejectReasonBatch | Kafka Topic "sed_commands" | RejectReason |
DeleteRejectReasonBatch
На входе список UUID сущностей причин отказа
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление причин отказа
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: RejectReason
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
]
Пакетное создание причин приостановления.
- Input: SuspensionReasonCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление списка причин приостановления. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateSuspensionReasonBatch | Kafka Topic "sed_commands" | SuspensionReason |
DeleteSuspensionReasonBatch
На входе список UUID сущностей причин приостановления
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление причин приостановления
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: SuspensionReason
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
}
Получение списка причин приостановления с фильтрацией, сортировкой и пагинацией
- Input: Search
- Output: PageSuspensionReason
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"}
}
Получение карточки услуги по идентификатору.
- Input: UUID запроса услуги
- Output: ServiceRequestTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка элементов запросов шаблона услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServiceRequestTemplate]
| Команда | Путь |
|---|---|
| sed_listServiceRequestTemplates | HTTP POST "/v1/service-request-template/list" |
DeleteServiceRequestTemplate
На входе ID Запроса шаблона услуги
"42f4be24-1831-4bfb-bac8-4f2e9c4551c6"
На выходе результат удаления
true
Удаление Запроса услуги Также удаляет связанные сущности - снапшоты, StageHistory и ServiceCard
- На входе: UUID Запроса услуги
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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"
]
}
Получение карточки шаблона услуги по идентификатору.
- Input: UUID карточки услуги
- Output: ServiceCardTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServiceCardTemplate]
| Команда | Путь |
|---|---|
| sed_listServiceCardTemplates | HTTP POST "/v1/service-card-template/list" |
UpdateServiceCardTemplate
На входе необходимые для обновления атрибуты карточки шаблона услуги, а также ID и версия
{
"id": "8f730a01-65ed-4864-af48-415f8edcc985",
"version": 1,
"data": {
"idFrgu2": "000000501"
}
}
На выходе признак успешности
true
Обновление карточки шаблона услуги.
Поддерживается частичное изменение полей (если поле не указано, то оно не обновится). Чтобы занулить значение, нужно
явно передать null.
При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты
- На входе: UpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateServiceCardTemplate | Kafka Topic "sed_commands" |
DeleteServiceCardTemplate
На входе ID карточки шаблона услуги
"8f730a01-65ed-4864-af48-415f8edcc985"
На выходе результат удаления
true
Удаление карточки шаблона услуги по идентификатору.
- На входе: UUID карточки шаблона услуги
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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"
]
}
Получение шаблона паспорта услуги по идентификатору.
- Input: UUID шаблона паспорта услуги
- Output: ServicePassportTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка шаблонов паспортов услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServicePassportTemplate]
| Команда | Путь |
|---|---|
| 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.
При смене типа услуги, все атрибуты, не входящие в данный тип, будут затёрты
- На входе: ServicePassportTemplateUpdateDTO
- На выходе: Пустое тело ответа
| Команда | Путь |
|---|---|
| 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"]
}
]
}
Получение документа по идентификатору.
- Input: UUID шаблона документа
- Output: DocumentTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка документов с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[DocumentTemplate]
| Команда | Путь |
|---|---|
| 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"
]
Пакетное создание шаблонов причин отказа.
- Input: RejectReasonTemplateCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление списка шаблонов причин отказа. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateRejectReasonTemplateBatch | Kafka Topic "sed_commands" | RejectReasonTemplate |
DeleteRejectReasonTemplateBatch
На входе список UUID сущностей шаблонов причин отказа
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление шаблонов причин отказа
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: RejectReasonTemplate
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
}
Получение списка шаблонов причин отказа с фильтрацией, сортировкой и пагинацией
- Input: Search
- Output: PageRejectReasonTemplate
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
]
Пакетное создание шаблонов причин приостановления.
- Input: SuspensionReasonTemplateCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление списка причин приостановления. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateSuspensionReasonTemplateBatch | Kafka Topic "sed_commands" | SuspensionReasonTemplate |
DeleteSuspensionReasonTemplateBatch
На входе список UUID сущностей шаблонов причин приостановления
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление шаблонов причин приостановления
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: SuspensionReasonTemplate
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
}
Получение списка шаблонов причин приостановления с фильтрацией, сортировкой и пагинацией
- Input: Search
- Output: PageSuspensionReasonTemplate
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
Пакетное удаление ответственных лиц
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
Создание нового шаблона подуслуги с административными процедурами и статусами закрытия.
- Input: SubServiceTemplateCreateDTO
- Output: UUID шаблона подуслуги
| Команда | Путь |
|---|---|
| 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
}
Получение шаблона подуслуги по идентификатору.
- Input: UUID подуслуги
- Output: SubServiceTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[SubServiceTemplate]
| Команда | Путь |
|---|---|
| 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.
- На входе: SubServiceTemplateUpdateDTO
- На выходе: Boolean
| Команда | Путь |
|---|---|
| sed_updateSubServiceTemplate | Kafka Topic "sed_commands" |
DeleteSubServiceTemplates
На входе список ID шаблонов подуслуг
[
"8f730a01-65ed-4864-af48-415f8edcc985"
]
На выходе результат удаления
true
Удаление подуслуги по идентификатору.
- На входе: UUID[] шаблонов подуслуг
- На выходе: Boolean
| Команда | Путь |
|---|---|
| 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
}
]
}
Получение шаблона административной процедуры по идентификатору.
- Input: UUID административной процедуры
- Output: AdministrativeProcedureTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[AdministrativeProcedureTemplate]
| Команда | Путь |
|---|---|
| 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
}
Получение шаблона статуса закрытия по идентификатору.
- Input: UUID шаблона статуса закрытия
- Output: CloseStatusTemplate
| Команда | Путь |
|---|---|
| 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
}
Получение списка шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[CloseStatusTemplate]
| Команда | Путь |
|---|---|
| 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
}
Получение списка карточек услуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[ServiceCardTemplate]
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных шаблонов карточек услуг для которых разрешено создание услуги из шаблона
- Input: Search
- Output: Page[ServiceCardTemplate]
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных шаблонов документов с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[DocumentTemplate]
| Команда | Путь |
|---|---|
| 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
}
Получение списка опубликованных шаблонов подуслуг с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[SubServiceTemplate]
| Команда | Путь |
|---|---|
| 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"
]
}
Привязка услуги к шаблону
- Input: ConnectServiceRequestToTemplateDTO
- Output: MunicipalServiceCard
| Команда | Путь |
|---|---|
| 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"
]
Пакетное создание платежей.
- Input: ApplicationMethodTemplateCreateDTO
- Output: UUID[]
| Команда | Путь | Тип сущности |
|---|---|---|
| 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)
Пакетное обновление способов подачи заявления. Обновить возможно только неопубликованную сущность
- Input: UpdateDTO
- Output: пустое тело ответа
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_updateApplicationMethodTemplateBatch | Kafka Topic "sed_commands" | ApplicationMethodTemplate |
DeleteApplicationMethodTemplateBatch
На входе список UUID сущностей
[
"cd186efd-b580-4a3b-a701-4cc1b4a5b198",
"64857c67-210d-4a5e-9cdd-083b4e5cfd28"
]
На выходе результат выполнения
true
Пакетное удаление платежей
- Input: UUID[]
- Output: boolean
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
- Input: UUID
- Output: ApplicationMethodTemplate
| Команда | Путь | Тип сущности |
|---|---|---|
| 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"
Отправка запроса для самопроверки (имитация запроса из СМЭВ).
- Input: SelfCheckRequest
- Output: UUID сообщения
| Команда | Путь |
|---|---|
| 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": []
}
}
Получение ответа на запрос самопроверки.
- Input: UUID сообщения
- Output: MessageDTO
| Команда | Путь |
|---|---|
| sed_smevSelfCheckReceive | Kafka Topic "sed_commands |
GetRouteStageFiltered
Аналогичная команде sedRoute_getRouteStage, однако возвращает отфильтрованный список участников стадии.
- Input: UUID
- Output: RouteStage
| Команда | Путь |
|---|---|
| sed_getRouteStageFiltered | HTTP POST "/v1/route-stage-filtered/get" |
ListRouteStagesFiltered
Аналогичная команде sedRoute_listRouteStages, однако возвращает отфильтрованный список участников стадии.
- Input: Search
- Output: Page[RouteStage]
| Команда | Путь |
|---|---|
| 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 по условиям
- Input: ListRouteStageLinkFilteredDTO
- Output: [Page[RouteStageLinkListDTO]] из сервиса sed-route
| Команда | Путь |
|---|---|
| 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
}
]
}
Получение статуса выполнения экшенов запроса.
- Input: UUID сообщения
- Output: RequestStatusWithActions
| Команда | Путь |
|---|---|
| sed_getRequestActionStatus | HTTP POST "/v1/request-status/get" |
GetCheckList
На входе UUID запроса и его тип
{
"entityType": "ServiceRequest",
"objectId": "e418e97c-4abb-494a-9dec-a46d0d9b457d"
}
[
{
"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" |
GetProvideDepartmentLink
На входе 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
}
Получение записи о присоединении к регламенту
- Input: UUID
- Output: ProvideDepartmentLink
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_getProvideDepartmentLink | HTTP POST "/v1/provide-department-link/get" | ProvideDepartmentLink |
ListProvideDepartmentLinks
На входе пустое тело, либо параметры фильтрации, сортировки и пагинации
{
"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
}
Получение списка записей о присоединении к регламенту
- Input: Search
- Output: PageProvideDepartmentLink
| Команда | Путь | Тип сущности |
|---|---|---|
| sed_listProvideDepartments | HTTP POST "/v1/provide-department-link/list" | ProvideDepartmentLink |
ConnectProvideDepartmentLink
На входе ID ServiceCardPublish к которой нужно присоединиться
"6ff1bb6f-a291-4c9c-8e42-3577251542ec"
На выходе созданный ID ProvideDepartmentLinkPublish
"6155cc3a-3c3d-41d6-afd4-adf92e36018c"
Присоединение ведомства к опубликованной карточке
- Input: UUID
- Output: UUID
| Команда | Путь | Action | ResourceType | ResourceId |
|---|---|---|---|---|
| sed_connectProvideDepartmentToServiceCard | Kafka Topic "sed_commands" | ConnectDepartmentLink | ServiceCardPublish | id |
DisconnectProvideDepartmentLink
На входе ID ServiceCardPublish от которой нужно отсоединиться
"6ff1bb6f-a291-4c9c-8e42-3577251542ec"
На выходе пустое тело ответа
{}
Отсоединение ведомства от опубликованной карточки
- Input: UUID
- Output: Пустое тело ответа
| Команда | Путь | 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"
}
Подтверждение присоединения/отсоединения ведомства к опубликованной карточке
- Input: SolveProvideDepartmentLinkConnectDTO
- Output: ProvideDepartmentLink
| Команда | Путь | Action | ResourceType | ResourceId |
|---|---|---|---|---|
| sed_solveProvideDepartmentLinkConnection | Kafka Topic "sed_commands" | SolveDepartmentLinkConnection | ServiceCardPublish | serviceCardPublishId |
ServiceChangeRoute
Сокращенный маршрут изменения государственной услуги.
Предоставляет возможность изменения опубликованной государственной услуги, а именно тех атрибутов, изменение которых не требует изменения регламента. На стадиях маршрутах предоставляется интерфейс для изменения атрибутов паспорта.
Всего маршрут включает в себя четыре стадии:
- Внесение изменений в услугу
- Внутриведомственное согласование
- Изменения опубликованы
- Запрос отправлен в архив
Инициация маршрута возможна только при следующих условиях (в скобках указаны имена политик в системе авторизации):
- Услуга имеет вступивший в силу регламент (
isRegulationPublished) - Услуга имеет статус "Опубликована"
- По услуге не запущено любых иных маршрутов (
IsActiveRoutesByServiceCardExists) - У пользователя есть роль Разработчик в системе авторизации
- Пользователь привязан к тому же ведомству, что и является автором услуги (
IsUserDepartmentWasServiceCardPublishDeveloper)
Изменение атрибутов паспорта возможно только на 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 опубликованной карточки услуги.
- На входе: StartRouteDTO, в data ServiceChangeRequestCreateDTO
- На выходе: UUID
Команда есть в описании 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"
}
}
Команда возвращает полное дерево запроса изменения государственной услуги (кроме подуслуг и вариантов предоставления)
- На входе: UUID
- На выходе: 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"
}
}
]
Получение списка запросов на изменение с фильтрацией, сортировкой и пагинацией.
- Input: Search
- Output: Page[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": {}
}
]
- На входе: Search
- На выходе: ServiceRequestMinimal
Получение реестра услуг, включающего в себя следующие типы услуг: - Запрос на создание услуги 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"
}
Получение сущности Оценка клиентоцентричности
- Input: UUID
- Output: CustomerCentricityDTO
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
}
Получение списка Оценок клиентоцентричности
- Input: Search
- Output: PageCustomerCentricityDTO
| Команда | Путь | Тип сущности |
|---|---|---|
| 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
}
Получение списка услуг
- Input: CatalogRegistryListDTO
- Output: PageServiceRequest или PageServiceChangeRequest или PageServiceRequestTemplate
| Команда | Путь |
|---|---|
| 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[]] | нет | Список аттрибутов объекта |
Search
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| 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
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
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 | нет | Добавочный номер |
| string | да | Электронная почта | |
| responsiblePersonType | string | да | Тип ответственного лица |
| position | string | да | Должность |
| order | integer | да | Порядковый номер |
ResponsiblePersonCreateDTO
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| originalId | uuid | нет | Оригинал |
| fullName | string | да | ФИО |
| position | string | да | Должность |
| phoneNumber | string | да | Номер телефона |
| additionalPhoneNumber | string | нет | Добавочный номер |
| string | да | Электронная почта | |
| responsiblePersonType | string | да | Тип ответственного лица |
| order | int | да | Порядковый номер |
CheckList
CheckListItem
ProvideDepartmentLink
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| 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, содержит зависимости и описание для сборки и запуска сервиса.
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- PostgreSQL база по адресу
localhost:5432/srgu-adapter - Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- SRGU_ADAPTER_ACTIVE_MQ_QUEUE_NAME или SRGU_ADAPTER_ACTIVE_MQ_TOPIC_NAME
Запуск из консоли с помощью 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 проектов:
domainв котором содержатся все доменные модели и их различные представления.commandsв котором содержатся все, что связано с командами, их описанием и обработчиками.serviceсодержит сервисы бизнес логики, которые определяют правила взаимодействия компонентов между собой.bootсодержит зависимости и описание для сборки и запуска сервиса.
Локальный запуск
При запуске сервиса ожидается, что уже развернута необходимая инфраструктура:
- Kafka по адресу
localhost:9092 - Consul по адресу
localhost:8500 - szi-security по адресу из переменной SZI_SECURITY_ADAPTER_SZI_URL
- Адрес Kafka будет указан в
application.conf - Добавлены необходимые переменные окружения:
- SZI_SECURITY_ADAPTER_SZI_URL
- SZI_SECURITY_ADAPTER_SZI_ADMINUSERNAME
- SZI_SECURITY_ADAPTER_SZI_ADMINPASSWORD
Запуск из консоли с помощью 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, то желательно поменять
следующие переменные:
SZI_SECURITY_ADAPTER_LOGGING_SRC_IP, для параметраsrcв логахSZI_SECURITY_ADAPTER_LOGGING_SRC_HOST, для параметраshostв логахSZI_SECURITY_ADAPTER_LOGGING_DST_IP, для параметраdstв логах
В файле 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 принципу - для изменения существующих данных ее можно вызывать повторно. Старые данные, и данные, созданные непосредственно в СЗИ, не удаляются
- Input: PermissionCreateDTO[]
- Output: {}
| Команда | Тип |
|---|---|
| sziSecurityAdapter_migratePermissions | Kafka |
Объекты сервиса
PermissionCreateDTO
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| roleId | string | да | ID группы пользователей |
| securityObjects | SecurityObjectCreateDTO[] | да | Описание прав |
SecurityObjectCreateDTO
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
| id | string | да | ID объекта безопасности |
| name | string | нет | Имя объекта безопасности |