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

Envia para o endereço indicado um código de confirmação de 6 dígitos válido durante 10 minutos — primeiro passo antes de um pedido de acesso.

`POST /api/public/access-request/email/start-verification` inicia a verificação de e-mail para um pedido público de acesso. O Request não exige login e contém o endereço a verificar no campo `email` do body. Se for processado com sucesso, o sistema envia um código de confirmação de seis dígitos válido durante dez minutos. A Response contém `ok`, `verification_id`, `expires_in_minutes` e `resend_cooldown_seconds`. A `verification_id` deve ser usada com o mesmo endereço de e-mail e o código recebido na rota Verify seguinte. Não é um Login Token e não deve ser guardada como identificador permanente do utilizador nem registada publicamente. O endpoint não é idempotente. Várias chamadas bem-sucedidas podem criar vários processos de verificação ou novos códigos. Por isso aplica-se um limite rigoroso baseado em IP de dez pedidos em 15 minutos. A resposta indica adicionalmente cooldown de reenvio de 60 segundos. Durante esse período, a interface não deve provocar novo envio e deve mostrar claramente o tempo de espera restante. Se o limite for excedido, a rota responde com `429 RATE_LIMIT_EXCEEDED`. Se o código não puder ser enviado por erro de entrega, está documentado `502 MAIL_NOT_SENT`. Estes casos devem ser tratados separadamente: um Rate Limit resolve-se aguardando; um erro de e-mail exige endereço acessível e entrega funcional. Segredos ou dados internos do servidor de correio não pertencem à mensagem de erro. O caso de sucesso foi verificado live com uma `verification_id` real. A mensagem correspondente foi recebida através de servidor Fake SMTP próprio e o código de seis dígitos foi lido no conteúdo real do e-mail. Também foi observado o caso negativo 429 após chamadas repetidas. Só esta prova deve ser afirmada; dela não resulta ainda um pedido de acesso ou pagamento concluído com sucesso.

Autenticação e segurança

Não é necessária autenticação

strictLimiter: 10 pedidos / 15 minutos, associado ao IP.

Limite de pedidos: 10 Anfragen pro 15 Minuten (IP-basiert)

Idempotente: Não

Parâmetros

email(body, string, obrigatório)Endereço de e-mail a verificar

Pedido de exemplo

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

Resposta de exemplo

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

Códigos de erro

429 RATE_LIMIT_EXCEEDEDDemasiados pedidos para este endpoint sensível.
502 MAIL_NOT_SENTNão foi possível enviar o código de confirmação (erro de entrega de e-mail).

Evidência de teste live

Sucesso (200, verification_id real) verificado live; e-mail correspondente recebido através de servidor Fake SMTP próprio e código real de 6 dígitos extraído do conteúdo. Caso negativo 429 observado após chamadas repetidas.

Formulários públicos