Перейти к содержанию

Услуги для граждан

Платформа содержит и портал услуг для гражданина, и очередь для оператора. Обе поверхности стоят на одной модели данных: каталог gov_services, заявления gov_applications и журнал событий, работающий только на добавление.

Словарь согласован с CPSV-AP 3.2.0 (SEMIC — Public Service, Evidence, Life Event); словарь результатов следует нидерландской модели ZGW.

Две поверхности

Поверхность Кто Путь Право
Портал гражданина Любой вошедший пользователь /me/services, /me/applications, /me/references, /me/notifications, /me/payments, /me/appointments вход выполнен
Очередь оператора Менеджер / должностное лицо /manager/requests, /manager/dashboard gov.review

Режимы исполнения

Режим Значение
auto Читается напрямую из реестра и выдаётся (справки, подтверждения). Человек не участвует — исполняется в одной транзакции при подаче.
manual Исполняется после рассмотрения и решения оператора.

Машина состояний заявления

Допустимые переходы объявлены в домене один раз, а SQL репозитория дублирует их через WHERE status IN (...) — это закрывает гонку двух решений, пришедших одновременно.

stateDiagram-v2
    [*] --> submitted
    submitted --> registered
    submitted --> cancelled
    registered --> in_review
    registered --> info_required
    registered --> approved
    registered --> completed
    registered --> rejected
    registered --> expired
    in_review --> info_required
    in_review --> approved
    in_review --> completed
    in_review --> rejected
    info_required --> in_review
    info_required --> approved
    info_required --> completed
    info_required --> rejected
    approved --> completed
    completed --> [*]
    rejected --> [*]
    cancelled --> [*]
    expired --> [*]
Статус Значение
submitted Гражданин отправил
registered Официально зарегистрировано — пошёл отсчёт SLA
in_review Оператор рассматривает
info_required Ждём дополнительные документы от гражданина
approved Решение принято, но результат ещё не выдан (физическое удостоверение, свидетельство)
completed Результат выдан
rejected · cancelled · expired Терминальные состояния

Разница между approved и completed

Если результат можно выдать сразу (справка), заявление переходит прямо в completed — промежуточное состояние было бы шумом. Если результат физический, approved означает «решено, не выдано», а completed наступает позже.

Словарь результатов

granted · refused · withdrawn · not_admissible · processed

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

Эндпоинты для гражданина

Метод Путь Что
GET /api/v1/gov/services Каталог услуг
GET /api/v1/gov/life-events Сгруппировано по жизненным событиям
GET /api/v1/gov/overview Сводка на главной
GET · POST /api/v1/gov/applications Список / подача
GET /api/v1/gov/applications/{id}/timeline Журнал хода дела
POST /api/v1/gov/applications/{id}/cancel Гражданин отзывает
POST /api/v1/gov/applications/{id}/provide-info Дослать документы
GET · POST /api/v1/gov/references Справки: список / заказ
GET /api/v1/gov/notifications Уведомления
POST /api/v1/gov/notifications/{id}/read, /read-all Отметить прочитанным
GET /api/v1/gov/payments Налоги, пошлины, штрафы
POST /api/v1/gov/payments/{id}/pay Оплатить
GET · POST /api/v1/gov/appointments Запись на приём
POST /api/v1/gov/appointments/{id}/cancel Отменить запись

Все записи проходят через ограничитель govWrite (30/мин, burst 15).

Очередь оператора

К /api/v1/gov/officer/* допускаются только обладатели gov.review. Проверка выполняется как middleware на уровне маршрута и не повторяется в каждом обработчике.

Метод Путь Что
GET /officer/stats Сводка по очереди (отдельно от гражданской)
GET /officer/queue Очередь с фильтрами
GET /officer/queue/{id} Одно заявление
POST /officer/queue/{id}/assign Назначить себе или другому
POST /officer/queue/{id}/decide Решение (approved / rejected)
POST /officer/queue/{id}/complete Выдать результат и закрыть
POST /officer/queue/{id}/request-info Запросить у гражданина данные

Публичный каталог

Каталог читается без входа:

  • GET /api/v1/catalog/services — опубликованные услуги
  • GET /api/v1/catalog/services/{id} — паспорт одной услуги
  • GET /api/v1/catalog/life-events — жизненные события

Его источник истины — реестр услуг (R1), см. Реестр и Relay. Услуга не появляется в публичном каталоге, пока не опубликована.