POST/api/public/access-request/email/start-verification

Отправляет 6-значный код подтверждения, действительный 10 минут, на указанный адрес электронной почты — первый шаг перед подачей заявки на доступ.

`POST /api/public/access-request/email/start-verification` запускает подтверждение e-mail для публичной заявки на доступ. Запрос не требует аутентификации и содержит адрес для проверки в поле тела `email`. При успешной обработке система отправляет шестизначный код подтверждения, действительный в течение десяти минут. Ответ содержит `ok`, `verification_id`, `expires_in_minutes` и `resend_cooldown_seconds`. `verification_id` необходимо использовать в последующем маршруте Verify вместе с той же электронной почтой и полученным кодом. Это не токен входа и не должно храниться как постоянный идентификатор пользователя или публиковаться в логах. Эндпоинт не является идемпотентным. Несколько успешных вызовов могут инициировать несколько процессов проверки или генерировать новые коды. Поэтому применяется строгий лимит по IP: максимум десять запросов в течение 15 минут. Кроме того, ответ указывает на блокировку повторных попыток на 60 секунд. Интерфейс не должен инициировать повторную отправку в этот период и должен отображать оставшееся время ожидания. При превышении лимита маршрут отвечает `429 RATE_LIMIT_EXCEEDED`. Если код не может быть отправлен из-за ошибки доставки, задокументирован случай `502 MAIL_NOT_SENT`. Эти случаи следует обрабатывать отдельно: ограничение скорости снимается ожиданием, а ошибка почты требует корректного адреса и работающей доставки. Секреты или данные внутренних серверов почты не должны фигурировать в сообщении об ошибке. Успешный случай был проверен вживую с использованием реального `verification_id`. Соответствующее сообщение было получено через собственный фейковый SMTP-сервер, а шестизначный код из реального содержания письма был прочитан. Также был зафиксирован негативный случай 429 после повторных вызовов. Именно этот факт можно упомянуть; из него еще не следует успешное завершение заявки на доступ или платежной операции.

Аутентификация и защита

Аутентификация не требуется

strictLimiter: 10 запросов / 15 минут, привязано к IP.

Лимит запросов: 10 Anfragen pro 15 Minuten (IP-basiert)

Идемпотентный: Нет

Параметры

email(body, string, обязательно)— Адрес электронной почты для верификации

Пример запроса

{"email":"max@example.com"}

Пример ответа

{"ok":true,"verification_id":"<UUID>","expires_in_minutes":10,"resend_cooldown_seconds":60}

Коды ошибок

429 RATE_LIMIT_EXCEEDED — Слишком много запросов к этому чувствительному эндпоинту.
502 MAIL_NOT_SENT — Не удалось отправить код подтверждения (ошибка доставки по электронной почте).

Подтверждение живого теста

Успех (200, настоящий verification_id) проверен вживую; соответствующее письмо получено через собственный фейковый SMTP-сервер, 6-значный код взят из реального содержимого письма. Негативный случай 429 наблюдался после повторных вызовов.

← Общедоступные формы