Dokumentation
Alles, was du brauchst, um Sveov Forms in deine Website einzubauen – mit 100 % Design-Freiheit.
1. Grundprinzip
Jedes Formular hat eine eigene Endpoint-URL. Dein HTML-Formular sendet per POST dorthin – fertig. Unterstützte Formate: application/x-www-form-urlencoded, multipart/form-data (Datei-Uploads) und application/json.
<form action="https://forms.sveov.com/f/DEINE_FORMULAR_ID" method="POST">
<label>Name<br><input type="text" name="name" required></label>
<label>E-Mail<br><input type="email" name="email" required></label>
<label>Telefon (optional)<br><input type="tel" name="telefon"></label>
<label>Nachricht<br><textarea name="nachricht" rows="5" required></textarea></label>
<!-- Honeypot: für Menschen unsichtbar, Bots füllen es aus -->
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off"
style="position:absolute;left:-9999px" aria-hidden="true">
<!-- DSGVO-Einwilligung -->
<label>
<input type="checkbox" name="datenschutz" value="akzeptiert" required>
Ich habe die Datenschutzerklärung gelesen und stimme der
Verarbeitung meiner Daten zu.
</label>
<button type="submit">Absenden</button>
</form>
2. Spezialfelder
_subject– überschreibt den E-Mail-Betreff dieser Einsendung._redirect/_next– URL, zu der nach dem Absenden weitergeleitet wird (muss zu deiner Domain-Whitelist bzw. zur absendenden Domain gehören)._gotcha– das Honeypot-Feld (unsichtbar für Menschen). Der Feldname ist pro Formular konfigurierbar.utm_source,utm_medium, … – UTM-Parameter werden automatisch erkannt und getrennt gespeichert (auch aus dem Referrer).
3. AJAX / JSON
Sende den Header Accept: application/json, um eine JSON-Antwort statt einer Weiterleitung zu erhalten:
fetch("https://forms.sveov.com/f/DEINE_FORMULAR_ID", {
method: "POST",
headers: { "Content-Type": "application/json", "Accept": "application/json" },
body: JSON.stringify({ name: "Max", email: "max@example.de", nachricht: "Hallo!" })
})
// Antwort: { "ok": true, "id": "..." }
4. Spam-Schutz
- Honeypot: immer aktiv – als Spam erkannte Einsendungen landen im Spam-Ordner des Dashboards, ohne E-Mail.
- Rate-Limiting: max. 10 Einsendungen pro 10 Minuten pro IP und Formular.
- Captcha: optional Cloudflare Turnstile (empfohlen, datenschutzfreundlich), hCaptcha oder Google reCAPTCHA. Site-Key und Secret trägst du in den Formular-Einstellungen ein; die Prüfung erfolgt serverseitig.
- Domain-Whitelist: optional – Einsendungen werden nur von deinen Domains akzeptiert.
5. Webhooks
Pro Formular kannst du Webhooks anlegen (Premium). Jede Einsendung wird als JSON per POST zugestellt. Zur Verifikation enthält jeder Request den Header X-Sveov-Signature (HMAC-SHA256 des Bodys mit deinem Webhook-Secret). Mit Routing-Regeln (z. B. „Feld thema enthält support") leitest du Einsendungen je nach Inhalt an verschiedene Tools weiter.
6. JSON-API
Mit einem API-Key (Konto → API) liest und verwaltest du Einsendungen maschinell:
GET /api/v1/forms
GET /api/v1/forms/:id/submissions?status=NEW&since=2026-07-01
GET /api/v1/submissions/:id
PATCH /api/v1/submissions/:id {"status":"DONE","isLead":true}
DELETE /api/v1/submissions/:id
Authorization: Bearer sv_dein_api_key
7. DSGVO-Checkliste für dein Formular
- Einwilligungs-Checkbox einbauen (in allen Vorlagen enthalten).
- In deiner Datenschutzerklärung Sveov Forms als Auftragsverarbeiter nennen (AV-Vertrag).
- IP-Speicherung nur aktivieren, wenn nötig – Anonymisierung ist Standard.
- Aufbewahrungsfrist setzen, damit alte Einsendungen automatisch gelöscht werden.