Formular-Endpunkt /api/submit
Der öffentliche Endpunkt, an den Website-Formulare senden: Request-Format, Spam-Schutz, Limits und Antwortcodes.
Jede Mosaio-Website nimmt Formular-Einsendungen unter /api/submit auf ihrer eigenen Domain entgegen. Das {% form %}-Tag des Themes verdrahtet das automatisch; eigenes JavaScript kann den Endpunkt direkt ansprechen.
Request
Als klassischer Form-Post mit dem versteckten Feld form_id oder als JSON:
POST /api/submit
Content-Type: application/json
{
"form_id": "kontakt",
"fields": {
"name": "Max Beispiel",
"email": "[email protected]",
"message": "Bitte ruft mich zurück."
},
"_hp": "",
"_time": 8423
}| Feld | Bedeutung |
|---|---|
form_id | Kennung des Formulars aus Website → Formulare |
fields | Feldschlüssel und Werte |
_hp | Honeypot – muss leer bleiben |
_time | Millisekunden seit dem Laden des Formulars |
Spam-Schutz
Ist
_hpgefüllt oder_timekleiner als 2 Sekunden, antwortet der Server mit200, speichert aber nichts. Bots merken so nicht, dass sie erkannt wurden.Anfragen von fremden Domains werden abgelehnt.
Ist im Formular „Erlaubte Felder“ gesetzt, werden alle anderen Felder verworfen.
Grenzen
| Grenze | Wert |
|---|---|
| Felder pro Einsendung | max. 50 |
| Zeichen pro Wert | max. 10.000 |
| Einsendungen pro Formular | 100 in 10 Minuten, zusätzlich ein Limit pro IP |
Antwortcodes
| Status | Bedeutung |
|---|---|
200 | { "ok": true } – angenommen |
400 | missing form_id or fields |
403 | Anfrage von unbekannter Herkunft |
404 | form not found |
422 | too many fields oder no valid fields |
429 | Zu viele Einsendungen |
Einsendungen erscheinen unter Website → Formulare, lösen die Benachrichtigungs-E-Mail aus und werden – falls eingerichtet – als Datensatz gespeichert.
Unser Support antwortet in der Regel innerhalb eines Werktags.