Formular absenden

Formulardaten per API einreichen – automatisch oder direkt.


Wird automatisch vom eingebetteten Formular aufgerufen. Kann auch direkt per API genutzt werden, z.B. für eigene Frontends.

Endpunkt

POST /api/embed/submit

Request-Body (mit Session)

{
  "sessionId": "a1b2c3d4-...",
  "values": {
    "vorname": "Max",
    "nachname": "Mustermann",
    "email": "max@beispiel.de",
    "anliegen": "allgemein",
    "nachricht": "Ich hätte eine Frage...",
    "datenschutz": true,
    "anhang": [
      {
        "name": "beleg.pdf",
        "path": "org-id/template/anhang/abc.pdf",
        "url": "https://...signedUrl...",
        "size": 245000,
        "type": "application/pdf"
      }
    ]
  },
  "rnummer": "auftrag-456",
  "phone": "+491701234567"
}

Alternativ mit Token (ohne Session)

{
  "token": "sk_dev_abc123...",
  "orgId": "550e8400-...",
  "templateIdentifier": "anoXYZ1234",
  "values": { "..." : "..." }
}
FeldTypPflichtBeschreibung
sessionIdstringJa*Session-ID (alternativ: token + orgId)
valuesobjectJaObjekt mit Feldwerten
rnummerstringNeinEigene Kennung
phonestringNeinTelefonnummer

Erfolgs-Antwort (200)

{
  "ok": true,
  "rnummer": "auftrag-456",
  "webhookDelivered": true
}

Serverseitiger Ablauf

  1. Pflichtfelder werden validiert (basierend auf dem Schema der Vorlage)
  2. Submission wird in der Datenbank gespeichert
  3. Bestehender Draft wird automatisch gelöscht
  4. Webhook wird gesendet (falls konfiguriert)
  5. Audit-Log wird geschrieben
  6. Redirect wird im Formular ausgeführt (falls konfiguriert)
  7. E-Mail wird versendet (falls konfiguriert)

Validierungsfehler (400)

{
  "error": "Validation failed",
  "fieldErrors": [
    { "key": "email", "message": "Pflichtfeld" },
    { "key": "datenschutz", "message": "Pflichtfeld" }
  ]
}