Îndrepți orice formular HTML spre Manifolio, iar răspunsurile ajung în Forms, în admin, fiecare cu pagina, țara și dispozitivul. Nu ai nevoie de un backend.
Un formular HTML simplu
<form method="post" action="https://api.manifolio.com/v1/forms/contact?key=mf_pk_live_cheia_site_ului">
<input name="nume" required>
<input name="email" type="email" required>
<textarea name="mesaj"></textarea>
<input type="hidden" name="_redirect" value="https://aurora.coffee/multumim">
<input type="text" name="_gotcha" tabindex="-1" autocomplete="off" hidden>
<button>Trimite</button>
</form>contact e cheia formularului: litere mici, cifre, - și _, cel mult 48 de caractere. Formularul apare în admin odată cu primul răspuns; un proiect poate avea cel mult 50 de formulare.
Cu fetch
const res = await fetch("https://api.manifolio.com/v1/forms/contact", {
method: "POST",
headers: { "content-type": "application/json", "x-manifolio-key": "mf_pk_live_cheia_site_ului" },
body: JSON.stringify({ nume: "Ana", email: "ana@exemplu.ro", mesaj: "Livrați și în Cluj?", _page: location.pathname }),
});
// 201 { "ok": true, "id": "01a1b2c3-0000-7000-8000-000000000003" }Adresa primește JSON, application/x-www-form-urlencoded și multipart/form-data. Fișierele dintr-un formular multipart sunt ignorate.
Cheia
Cheia publicabilă se trimite în unul dintre trei feluri: parametrul key din adresă, antetul x-manifolio-key sau un câmp _key. Cererea trebuie să vină de pe unul dintre domeniile cheii (verificat din Origin, apoi din Referer).
Câmpuri rezervate
Câmpurile care încep cu _ sunt citite de Manifolio și nu se păstrează:
| Câmp | Ce face |
|---|---|
_gotcha | o capcană pentru roboți: dacă are o valoare, răspunsul e de succes și nu se salvează nimic |
_redirect | după salvare, o redirecționare 303 spre această adresă; trebuie să fie pe domeniul cheii |
_page | pagina pe care era formularul, pentru că între site-uri browserul trimite doar originea |
cf-turnstile-response | tokenul Turnstile, pentru formularele care cer captcha |
Limite
- 32 KB pe răspuns, 50 de câmpuri, 5.000 de caractere pe valoare, fără obiecte imbricate
- 5 răspunsuri pe minut de vizitator și formular, 120 pe minut de proiect
Webhook-uri și export
Fiecare răspuns pornește form.submitted, cu formularul și câmpurile trimise, ca să le poți duce oriunde. Vezi Webhook-uri. În admin poți marca răspunsurile citite, necitite sau spam, le poți șterge și poți exporta un formular în CSV.