Formuláře
Vytvářejte přihlašovací formuláře, publikujte je a vyměňujte jejich veřejný token.
Vytvoření formuláře
Vytvoří přihlašovací formulář ve stavu draft s veřejným tokenem token. Vyžaduje API klíč s oprávněním full. Formuláře jsou v předběžném přístupu.
Pokud definition vynecháte, Emailit vygeneruje výchozí formulář: jeden krok s nadpisem, povinným polem pro e-mail a tlačítkem Subscribe a k tomu krok s potvrzením úspěchu. Formuláře sestavíte a nastylujete ve webovém rozhraní v sekci Email MarketingForms a pak je publikujete.
/formsParametry v těle požadavku
namestringpovinnétypestringvýchozí: popuppopup, full_page, flyout, embed nebo banner.definitionobjectObsah formuláře, uložený beze změn. Emailit ho kontroluje až při publikování. Pole nejvyšší úrovně:
version(celé číslo):1.type(řetězec): typ formuláře.steps(pole): každý krok máid,name,kind(form, nebosuccess) ablocks. Bloky majíidatype:text,button(action:submit,next,closenebogo_to_url),imagenebo vstupní pole (email,text_input,phone,date,radio,checkbox,dropdown) s názvem polename, popiskemlabela příznakemrequired.styles,targeting,experiments(objekty): pravidla vzhledu a zobrazení, která nastavuje editor formulářů.
settingsobject{}.Odpověď
Vrací 201 Created s objektem formuláře včetně definition a settings.
tokenstringstatusstringdraft, dokud formulář nepublikujete, potom live.published_atstring | nullPokud name chybí nebo je prázdné, nebo type není jednou z povolených hodnot, vrací 400.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "draft",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-01T11:20:31.000000+00:00",
"published_at": null,
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Join our list</p>" },
{
"id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
"type": "email",
"label": "<p>Email</p>",
"placeholder": "you@example.com",
"required": true,
"name": "email"
},
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [
{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
]
}
],
"styles": {
"backgroundColor": "#ffffff",
"textColor": "#0f172a",
"primaryColor": "#03a071",
"borderRadius": 12,
"fontFamily": "Inter, system-ui, sans-serif",
"buttonStyle": "solid"
},
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"statusCode": 400,
"error": "Bad Request",
"message": "Validation error",
"details": [
{
"instancePath": "",
"schemaPath": "#/required",
"keyword": "required",
"params": { "missingProperty": "name" },
"message": "must have required property 'name'"
}
]
}Načtení formuláře
Načte formulář s celou jeho definicí. Vyžaduje API klíč s oprávněním full.
/forms/{id}Parametry v cestě
idstringpovinnéfrm_…).Odpověď
Vrací objekt formuláře.
objectstringform.idstringfrm_.namestringtypestringpopup, full_page, flyout, embed nebo banner.statusstringdraft, nebo live. Na vašem webu se načítají jen formuláře ve stavu live.tokenstringdefinitionobjectsettingsobjectcreated_at, updated_at, published_atstring | nullpublished_at má hodnotu null až do prvního publikování.Pokud formulář neexistuje, vrací 404.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "live",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-01T11:48:02.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00",
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq5TgB2kVw7Nn1Ps4Fd9QzA", "type": "text", "content": "<p>Get our monthly product notes</p>" },
{
"id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU",
"type": "email",
"label": "<p>Email</p>",
"placeholder": "you@example.com",
"required": true,
"name": "email"
},
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [
{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }
]
}
],
"styles": {
"backgroundColor": "#ffffff",
"textColor": "#0f172a",
"primaryColor": "#03a071",
"borderRadius": 12,
"fontFamily": "Inter, system-ui, sans-serif",
"buttonStyle": "solid"
},
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"error": "Form not found"
}Úprava formuláře
Upraví pole, která předáte, a ostatní ponechá beze změny. Vyžaduje API klíč s oprávněním full.
Změny formuláře ve stavu live návštěvníci uvidí okamžitě; znovu ho publikovat nemusíte. Pokud chcete formulář upravit, aniž by to návštěvníci viděli, nejdřív ho stáhněte.
/forms/{id}Parametry v cestě
idstringpovinnéfrm_…).Parametry v těle požadavku
namestringtypestringpopup, full_page, flyout, embed nebo banner. Odpovídajícím způsobem upravte i definition.type.definitionobjectsettingsobjectOdpověď
Vrací upravený objekt formuláře. Pokud má některé pole špatný typ nebo je name prázdné, vrací 400, a pokud formulář neexistuje, vrací 404.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup (October)",
"type": "popup",
"status": "live",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-02T08:05:14.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00",
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
}
],
"styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"error": "Invalid name"
}{
"error": "Form not found"
}Výpis formulářů
Vrací formuláře workspace od nejnovějšího, bez definition a settings. Vyžaduje API klíč s oprávněním full.
/formsParametry dotazu
pageintegervýchozí: 1limitintegervýchozí: 10searchstringmatchstringHodnota all (výchozí) vyžaduje shodu se všemi filtry. S hodnotou or stačí shoda s kterýmkoli filtrem. Viz Filtrování.
orderstringKlíč řazení pro tento výpis. Viz klíče řazení níže.
directionstringasc, nebo desc.
Klíče filtrů
Filtry se zadávají parametry dotazu ve tvaru key.condition=value, například status.exact=live. Viz Filtrování.
| Klíč | Typ | Poznámky |
|---|---|---|
name |
string | |
type |
enum | popup, full_page, flyout, embed, banner |
status |
enum | draft, live |
created_at |
date |
Klíče řazení pro order: name, type, status, created_at.
Odpověď
dataobject[]object, id, name, type, status, token, created_at, updated_at, published_at.total_recordsintegernext_page_urlstring | nullnull na poslední stránce. Obsahuje jen page a limit; když na ni přejdete, přidejte znovu vyhledávání a filtry.previous_page_urlstring | nullnull na první stránce.{
"data": [
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "live",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-01T11:48:02.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00"
}
],
"total_records": 1,
"next_page_url": null,
"previous_page_url": null
}Publikování formuláře
Nastaví formuláři stav live a aktualizuje published_at. Formuláře ve stavu live se načítají na každém webu, kde je nainstalovaný skript Emailitu, a mohou přijímat odpovědi. Vyžaduje API klíč s oprávněním full.
Definice potřebuje alespoň jeden krok s kind: "form" a jeden s kind: "success", jinak požadavek vrátí 422. Odpovědi se ukládají u formuláře a zatím nevytvářejí kontakty.
/forms/{id}/publishParametry v cestě
idstringpovinnéfrm_…).Odpověď
Vrací objekt formuláře s polem status nastaveným na live. Pokud je definice neúplná, vrací 422, a pokud formulář neexistuje, vrací 404.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "live",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-01T11:48:02.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00",
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
}
],
"styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"error": "Form must have a success step"
}{
"error": "Form not found"
}Stažení formuláře
Vrátí formulář do stavu draft. Vkládací skript ho přestane načítat a nové odpovědi se odmítají. Token, definice a published_at zůstanou beze změny, takže ho můžete později znovu publikovat. Vyžaduje API klíč s oprávněním full.
/forms/{id}/unpublishParametry v cestě
idstringpovinnéfrm_…).Odpověď
Vrací objekt formuláře s polem status nastaveným na draft. Pokud formulář neexistuje, vrací 404.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "draft",
"token": "9636697db6c8f136d6742cee9c86eb3ed53b89f0a44e3ce6",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-06T07:30:00.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00",
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
}
],
"styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"error": "Form not found"
}Obnovení veřejného tokenu
Vygeneruje pro formulář nový veřejný token. Starý token okamžitě přestane fungovat: weby, které s ním formulář načítají, ho už nezobrazí a nemohou do něj odesílat odpovědi. Aktualizujte vkládací kód novým tokenem. Vyžaduje API klíč s oprávněním full.
/forms/{id}/reset-tokenParametry v cestě
idstringpovinnéfrm_…).Odpověď
Vrací objekt formuláře s novým token. Stav se nemění. Pokud formulář neexistuje, vrací 404.
{
"object": "form",
"id": "frm_3Bzpif9xswMlVbFvGZSPNixm5j5",
"name": "Newsletter popup",
"type": "popup",
"status": "live",
"token": "e5ed3f9ec299ae1c5dc043c45f2a616c352e47a13b6b763b",
"created_at": "2026-10-01T11:20:31.000000+00:00",
"updated_at": "2026-10-06T09:12:44.000000+00:00",
"published_at": "2026-10-01T11:48:02.000000+00:00",
"definition": {
"version": 1,
"type": "popup",
"steps": [
{
"id": "3Rb7Lq2NcX9vZt4Wm8Kd1Hs6PyE",
"name": "Step 1",
"kind": "form",
"blocks": [
{ "id": "3Rb7Lq3JfM6xYc0Rr5Hh8Gk2SeU", "type": "email", "label": "<p>Email</p>", "required": true, "name": "email" },
{ "id": "3Rb7Lq4WdP1zQa6Ee9Jj3Lm7TfV", "type": "button", "label": "<p>Subscribe</p>", "action": "submit" }
]
},
{
"id": "3Rb7Lq2XkS8wUe3Tt6Mn0Bv5RgC",
"name": "Success",
"kind": "success",
"blocks": [{ "id": "3Rb7Lq6YhD4cFi9Uu2Oo7Cx1WhB", "type": "text", "content": "<p>Thanks for subscribing!</p>" }]
}
],
"styles": { "primaryColor": "#03a071", "borderRadius": 12, "buttonStyle": "solid" },
"targeting": {},
"experiments": {}
},
"settings": {}
}{
"error": "Form not found"
}Smazání formuláře
Trvale smaže formulář a všechny jeho uložené odpovědi. Weby, které ho mají vložený, ho přestanou zobrazovat. Vyžaduje API klíč s oprávněním full.
/forms/{id}Parametry v cestě
idstringpovinnéfrm_…).Odpověď
Vrací 204 No Content s prázdným tělem. Pokud formulář neexistuje, vrací 404.
(empty body){
"error": "Form not found"
}