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

Envía a la dirección indicada un código de confirmación de 6 dígitos válido durante 10 minutos; es el primer paso antes de una solicitud de acceso.

`POST /api/public/access-request/email/start-verification` inicia la verificación de correo para una solicitud pública de acceso. No necesita autenticación y recibe la dirección a verificar en el campo `email` del body. Si el procesamiento es correcto, el sistema envía un código de confirmación de seis dígitos válido durante diez minutos. La respuesta contiene `ok`, una `verification_id`, `expires_in_minutes` y `resend_cooldown_seconds`. La `verification_id` debe utilizarse junto con la misma dirección y el código recibido en la ruta de verificación posterior. No es un token de login y no debe almacenarse como identificador permanente ni registrarse públicamente. El endpoint no es idempotente. Varias llamadas correctas pueden crear varios procesos de verificación o códigos nuevos. Por ello aplica un límite estricto basado en IP de diez solicitudes en 15 minutos. La respuesta indica además una espera de 60 segundos antes de reenviar. Durante ese periodo la interfaz no debe iniciar otro envío y debe mostrar claramente el tiempo restante. Si se supera el límite, la ruta responde `429 RATE_LIMIT_EXCEEDED`. Si el código no puede enviarse por un problema de entrega, está documentado `502 MAIL_NOT_SENT`. Deben tratarse por separado: un rate limit se resuelve esperando; un error de correo requiere una dirección accesible y entrega funcional. Los mensajes de error no deben exponer secretos ni datos internos del servidor de correo. El caso de éxito se verificó live con una `verification_id` real. El mensaje correspondiente se recibió mediante un servidor SMTP falso propio y el código real de seis dígitos se leyó del contenido entregado. También se observó el caso negativo 429 tras solicitudes repetidas. Ese es exactamente el alcance del test; no demuestra todavía una solicitud de acceso o pago completados.

Autenticación y seguridad

No se requiere autenticación

strictLimiter: 10 solicitudes / 15 minutos, vinculado a la IP.

Límite de solicitudes: 10 Anfragen pro 15 Minuten (IP-basiert)

Idempotente: No

Parámetros

email(body, string, obligatorio)Dirección de correo que debe verificarse

Solicitud de ejemplo

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

Respuesta de ejemplo

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

Códigos de error

429 RATE_LIMIT_EXCEEDEDDemasiadas solicitudes a este endpoint sensible.
502 MAIL_NOT_SENTNo se pudo enviar el código de confirmación (error de entrega de correo).

Evidencia de prueba en vivo

Éxito (200, verification_id real) verificado live; el correo correspondiente se recibió mediante un servidor SMTP falso propio y el código real de 6 dígitos se extrajo del contenido del mensaje. También se observó el caso negativo 429 tras llamadas repetidas.

Formularios públicos