Серверная часть

Боевой backend вынесен из веб-приложения.

Next.js отвечает за кабинет. Нагрузка, видео, заявки и распознавание уходят в отдельные сервисы: Go core-api и Python vision-service.

Контур запуска

Режим: development. Основной сервер: не настроен. В продакшне веб не должен сам принимать финальные решения по биометрии.

Sumsub-compatible слой включен в Go core-api. Для поддержанных методов сохраняются те же пути, заголовки, имена полей, статусы и webhook-события.

Webкабинет и оператор
CoreGo + PostgreSQL
VisionPython + модели
webNext.js / TypeScript

Кабинет, формы, операторский экран, публичный интерфейс.

core-apiGo

Сессии, заявки, статусы, webhooks, PostgreSQL, очередь и связь с распознаванием.

vision-servicePython

Документ, лицо, видео, живость, моргание, повороты головы, риск.

infraPostgreSQL / Redis / MinIO

Данные, короткие сессии, файлы доказательств и изоляция окружений.

МетодМаршрутЧто делает
GETcore-api /healthz

Состояние контура

Проверяет PostgreSQL и доступность Python-сервиса распознавания.
POSTcore-api /v1/liveness/sessions

Создать живую проверку

Генерирует случайные команды: моргнуть, повернуть голову, открыть рот, прочитать код.
POSTcore-api /v1/liveness/sessions/:id/evidence

Передать видео-доказательство

Передает ключ видео в vision-service и сохраняет техническое решение.
POSTcore-api /v1/verifications

Создать проверку

Связывает документ, живую проверку и результат распознавания.
POSTcore-api /resources/applicants

Sumsub-compatible: создать заявителя

Тот же внешний путь и camelCase-поля для клиентов, которые переезжают с Sumsub.
POSTcore-api /resources/accessTokens/sdk

Sumsub-compatible: выдать SDK token

Клиент меняет адрес API, токен и секрет; пользователь открывает Faces verification flow.
GETcore-api /v1/compatibility/sumsub/capabilities

Список поддержанных методов

Показывает только методы, которые повторяются по контракту как exact-supported-endpoints-only.
POSTvision-service /v1/document/analyze

Распознать документ

Без подключенной модели не принимает автоматически, а возвращает ручную проверку.
POSTvision-service /v1/face-match/analyze

Сравнить лица

Сравнивает лицо из документа и кадр живой проверки при подключенной модели.

Правило продакшна

Если модель паспорта, лица или живости не подключена, система не ставит `accepted`. Она возвращает ручную проверку или состояние `model_not_configured`.