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

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

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