POST/api/public/contact
Veřejný kontaktní formulář webu Zentor. Vytváří poptávku v interním systému leadů.
`POST /api/public/contact` zpracovává veřejný kontaktní formulář webu Zentor a ukládá požadavek do interního systému leadů. Endpoint nevyžaduje autentizaci přes dashboard a není idempotentní. Každé úspěšné odeslání může vytvořit nový lead. Frontend by proto měl po prvním kliknutí deaktivovat tlačítko odeslání a nevyvolávat automatická opakování. Mezi potvrzená povinná pole patří `name`, `email` a `message`. Jméno musí mít délku 2 až 120 znaků, e-mailová adresa musí mít platný formát a zpráva musí splňovat pravidla validace na straně serveru. Další pole lze odesílat pouze v případě, že jsou součástí skutečného schématu. Neznámé hodnoty by neměly být používány k řízení interních vlastností leadu. Správný formulář kontroluje povinná pole již v prohlížeči, ale nespoléhá se výhradně na tuto kontrolu. Rozhodující zůstává server. Při chybě validace by mělo rozhraní označit příslušné pole a zachovat zadaný obsah. Obecná zpráva o úspěchu se může zobrazit až po kladné odpovědi serveru. Kontaktní formulář není bezpečným kanálem pro hesla, API klíče, widget tokeny, platební údaje nebo kompletní záznamy o zákaznících. Uživatelé by měli uvést případ použití, dotčený produkt a dosažitelnou obchodní e-mailovou adresu. Při technickém problému pomohou název tenanta, čas, dotčená funkce a reprodukovatelné kroky, aniž by se přenášel zbytečný osobní obsah. Realistický průběh: Návštěvník vyplní jméno, e-mail a zprávu, případně potvrdí informace o ochraně osobních údajů na stránce a odešle formulář. Server ověří data, vytvoří lead a vrátí odpověď o úspěchu. Při neplatném e-mailu nebo příliš krátkém jménu se nevytvoří kompletní lead. Endpoint nevytváří tenanta, neobjednává balíček a nenahrazuje strukturovanou konfiguraci produktu ani poradenský proces. Pro ochranu před spamem a automatizovanými sériovými požadavky by měl klient respektovat chyby na straně serveru a nespouštět okamžité nekonečné smyčky. Úspěšná odpověď by měla vyprázdnit vstupní pole teprve poté, co server potvrdí přijetí. Pokud odpověď nepřijde, může si uživatel obsah uložit a později jej kontrolovaně znovu odeslat. Pro interní přiřazení by zpráva měla obsahovat skutečný důvod, bez marketingových frází nebo důvěrných příloh. Jasný předmět a přesný popis problému snižují počet dotazů. Samotné API však nepřiděluje zaručenou prioritu a nepotvrzuje pevnou lhůtu pro zpracování.
Auth & Absicherung
Keine Authentifizierung erforderlich
Idempotent: Nein
Parameter
name(body, string, erforderlich)— 2–120 znakůemail(body, string, erforderlich)— Platná e-mailová adresamessage(body, string, erforderlich)— 10–3000 znakůcompany(body, string)phone(body, string)topic(body, string)consentGiven(body, boolean, erforderlich)— Musí být true (souhlas s ochranou údajů)Beispiel-Request
{"name":"Max Mustermann","email":"max@example.com","message":"Vaše zpráva (min. 10 znaků).","consentGiven":true}Beispiel-Response
{"ok":true,"message":"Vaše žádost byla odeslána."}Fehlercodes
400 VALIDATION_ERROR — Povinné pole chybí/neplatné, nebo chybí souhlas s ochranou osobních údajů (pole podrobností s jednotlivými chybovými hláškami).Live-Test-Nachweis
Úspěch (200) a negativní případ (400, chybějící pole včetně chybějícího souhlasu) ověřeno naživo.