POST/api/public/access-request/email/start-verification
Mengirimkan kode konfirmasi 6 digit yang berlaku selama 10 menit ke alamat email yang diberikan — langkah pertama sebelum mengajukan permintaan akses.
`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 permintaan / 15 menit, terikat pada IP.
Rate-Limit: 10 Anfragen pro 15 Minuten (IP-basiert)
Idempotent: Nein
Parameter
email(body, string, erforderlich)— Alamat email yang akan diverifikasiBeispiel-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 — Terlalu banyak permintaan ke titik akhir sensitif ini.502 MAIL_NOT_SENT — Kode konfirmasi tidak dapat dikirim (kesalahan pengiriman email).Live-Test-Nachweis
Sukses (200, namun verification_id) terverifikasi secara langsung; email terkait diterima melalui server SMTP palsu sendiri, kode 6 digit diambil dari konten email yang sebenarnya. Kasus negatif 429 diamati setelah panggilan berulang.