S Scanderm Product API
Production API работает

Клиентский Product API

Общий integration guide для Product-проектов Scanderm: только запросы клиентского приложения и основные операции каталога, импорта и магазинов.

Начало работы

Первый авторизованный запрос за три шага

Ключ проекта идентифицирует внешнюю интеграцию, пользовательский JWT — конкретную сессию или пользователя.

1
Получите ключ проекта

Для внешнего Sber endpoint передавайте его в X-API-Key.

2
Получите JWT

Для демо-сессии вызовите POST /auth/guest.

3
Вызовите защищённый метод

Добавьте Authorization: Bearer <access_token>.

bash · guest session
# 1. Keep the key outside source control
export SBER_API_KEY="<SBER_API_KEY>"
export BASE="https://product.sber.scanderm.pro"

# 2. Create a guest session
TOKENS=$(curl -sS -X POST "$BASE/auth/guest" \
  -H "X-API-Key: $SBER_API_KEY")

ACCESS_TOKEN=$(echo "$TOKENS" | jq -r .access_token)

# 3. Update the profile
curl -sS -X PUT "$BASE/me" \
  -H "X-API-Key: $SBER_API_KEY" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"preferences":{"locale":"ru"}}'
Клиентский контур

Основные сценарии Product-приложения

В документации оставлены методы, которые вызывает product.demo, и рабочий контур управления ассортиментом.

Пользователи и профили

Гостевые и постоянные сессии, регистрация, login, refresh и профиль.

Анализ кожи

Загрузка фото, face/skin-анализ, SSE-прогресс, история и результаты.

Визуализации

Маски проблемных зон, числовые показатели и детальная AI-интерпретация.

Рекомендации

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

Каталог и импорт

CRUD товаров, Excel/CSV-импорт, очередь модерации и загрузка изображений.

Магазины и остатки

Магазины, ближайшая точка, цены, остатки и обновление stock-интеграции.

Авторизация

Три уровня доступа

ProjectApiKey

X-API-Key

Обязателен для всех бизнес-методов. В Swagger вставляется как обычное значение без префикса.

BearerAuth

Authorization: Bearer JWT

Дополнительно требуется для пользовательских данных и анализа.

AdminApiKey

X-Internal-Key

Серверный ключ для CRUD каталога и очереди импорта. Никогда не передавайте его во frontend.

На Sber endpoint без ключа доступны только /health, /docs, /swagger и /openapi.json. Ключ проекта нельзя помещать во frontend-код или публичный репозиторий.
Пример

Запуск анализа изображения

Запрос сразу возвращает session_id. Готовый результат появляется в истории пользователя.

POST /analysis/upload?module=face
curl -sS -X POST \
  "$BASE/analysis/upload?module=face" \
  -H "X-API-Key: $SBER_API_KEY" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -F "file=@selfie.jpg;type=image/jpeg"

# Response
{
  "session_id": "8da5e5c8-...",
  "status": "processing"
}
Прямой нейроанализ

Просто отправьте фотографию

Без guest/login, JWT, session_id и предварительной загрузки. REST ждёт полный результат, SSE отдаёт показатели по мере готовности.

REST · полный ответ
curl -sS -X POST \
  "$BASE/neural/analyze" \
  -H "X-API-Key: $SBER_API_KEY" \
  -F "file=@selfie.jpg;type=image/jpeg"

# One JSON response after completion
{
  "session_id": "...",
  "status": "done",
  "results": { ... }
}
SSE · поток событий
curl -N -X POST \
  "$BASE/neural/analyze/stream" \
  -H "X-API-Key: $SBER_API_KEY" \
  -F "file=@selfie.jpg;type=image/jpeg"

event: session
data: {"session_id":"..."}

event: progress
data: {"task_id":"redness","status":"done"}

event: result
data: {"status":"done","results":{...}}

event: done
Единственный обязательный заголовок — проектный X-API-Key. По умолчанию используется module=face; для расширенного набора задач добавьте ?module=skin. Форматы: JPEG, PNG, WebP до 10 МБ.
API Reference

Все группы методов

Только клиентские методы product.demo и основные операции каталога/импорта. Параметры, тела запросов и Try it out доступны в Swagger.

Загружаем OpenAPI-схему…
Схемы и Try it out

Готовы проверить интеграцию?

Откройте Swagger, авторизуйтесь через ProjectApiKey и получите гостевой JWT.

Открыть Swagger