POST/api/public/access-request/email/start-verification
Slanje 6-znamenkastog koda za potvrdu, koji je važeći 10 minuta, na navedenu e-mail adresu – prvi korak prije zahtjeva za pristup.
`POST /api/public/access-request/email/start-verification` startet die E-Mail-Verifikation für einen öffentlichen Zugangsantrag. Der Request benötigt keine Anmeldung und enthält die zu prüfende Adresse im Body-Feld `email`. Bei erfolgreicher Verarbeitung versendet das System einen sechsstelligen Bestätigungscode, der zehn Minuten gültig ist. Der Response enthält `ok`, eine `verification_id`, `expires_in_minutes` und `resend_cooldown_seconds`. Die `verification_id` muss zusammen mit derselben E-Mail-Adresse und dem empfangenen Code in der anschließenden Verify-Route verwendet werden. Sie ist kein Login-Token und darf nicht als dauerhafte Benutzerkennung gespeichert oder öffentlich protokolliert werden. Der Endpunkt ist nicht idempotent. Mehrere erfolgreiche Aufrufe können mehrere Verifikationsvorgänge beziehungsweise neue Codes erzeugen. Deshalb gilt ein IP-basiertes strenges Limit von zehn Anfragen innerhalb von 15 Minuten. Zusätzlich weist die Antwort auf eine Wiederholsperre von 60 Sekunden hin. Die Oberfläche soll während dieser Zeit keinen erneuten Versand auslösen und die verbleibende Wartezeit verständlich anzeigen. Wird das Limit überschritten, antwortet die Route mit `429 RATE_LIMIT_EXCEEDED`. Kann der Code wegen eines Zustellungsfehlers nicht versendet werden, ist `502 MAIL_NOT_SENT` dokumentiert. Diese Fälle sind getrennt zu behandeln: Ein Rate-Limit wird durch Abwarten gelöst, ein Mailfehler erfordert eine erreichbare Adresse und eine funktionierende Zustellung. Geheimnisse oder interne Mailserverdaten gehören nicht in die Fehlermeldung. Der Erfolgsfall wurde live mit einer echten `verification_id` verifiziert. Die zugehörige Nachricht wurde über einen eigenen Fake-SMTP-Server empfangen und der sechsstellige Code aus dem realen E-Mail-Inhalt gelesen. Außerdem wurde der 429-Negativfall nach wiederholten Aufrufen beobachtet. Genau dieser Nachweis darf genannt werden; daraus folgt noch kein erfolgreich abgeschlossener Zugangsantrag oder Zahlungsvorgang.
Auth & Absicherung
Keine Authentifizierung erforderlich
strictLimiter: 10 zahtjeva / 15 minuta, vezano uz IP.
Rate-Limit: 10 Anfragen pro 15 Minuten (IP-basiert)
Idempotent: Nein
Parameter
email(body, string, erforderlich)— E-mail adresa za provjeruBeispiel-Request
{"email":"max@example.com"}Beispiel-Response
{"ok":true,"verification_id":"<UUID>","expires_in_minutes":10,"resend_cooldown_seconds":60}Fehlercodes
429 RATE_LIMIT_EXCEEDED — Previše zahtjeva ovom osjetljivom krajnjem čvorištu.502 MAIL_NOT_SENT — Potvrđeni kod nije mogao biti poslan (greška u dostavi e-pošte).Live-Test-Nachweis
Uspjeh (200, stvarna verification_id) - provjera je uspješno izvršena; primljena je e-pošta vezana za to putem vlastitog lažnog SMTP servera, a 6-znamenkasti kod je izvučen iz sadržaja prave e-pošte. Primijećen je negativni slučaj 429 nakon ponovljenih poziva.