Šablony
Vytvářejte verze šablon, pro každý alias jednu publikujte a používejte je při odesílání.
Vytvoření šablony
Vytvoří verzi šablony. Verze se stejným alias patří ke stejné šabloně a pro každý alias je v jednu chvíli publikovaná jen jedna verze. Když odešlete e-mail s parametrem template nastaveným na alias, Emailit použije publikovanou verzi. Vyžaduje API klíč s oprávněním full.
/templatesTělo požadavku
namestringPovinnéNázev šablony zobrazený ve webovém rozhraní. Nejvýše 191 znaků.
aliasstringPovinnéIdentifikátor, který seskupuje verze šablony. Nejvýše 191 znaků; jen malá písmena, číslice, podtržítka a pomlčky (^[a-z0-9_-]+$).
Pokud tento alias zatím žádná šablona nepoužívá, nová verze se hned publikuje. Pokud alias už existuje, nová verze vznikne nepublikovaná (published_at je null) a publikujete ji endpointem Publikování šablony.
fromstringVýchozí odesílatel, například Acme <hello@acme.com>. Nejvýše 191 znaků.
subjectstringVýchozí předmět. Nejvýše 191 znaků. Může obsahovat proměnné jazyka Temple, například {{ first_name }}.
reply_tostring | string[]Adresa pro odpověď, nebo pole adres. Každá hodnota musí být platná e-mailová adresa.
htmlstringTělo v HTML.
textstringTělo v prostém textu.
sourcestringZdrojový dokument editoru, například JSON z editoru Dragit u šablony vytvořené v drag & drop editoru. Ukládá se beze změny. U editor: "mjml" je to MJML: Emailit ho zvaliduje, uloží jako dokument MJML a zkompiluje z něj html.
editorstringEditor, ke kterému šablona patří: html (výchozí), text, dragit nebo tiptap. Hodnota mjml je v alfaverzi a otevřená jen týmu Emailitu; ostatní požadavky dostanou 403 s error: "mjml_alpha". Viz Editory a API pro MJML.
Odpověď
Vrací 201 Created se šablonou v poli data a potvrzující zprávou message. Šablona obsahuje html, text a source. Emailit také odešle webhookovou událost template.created.
Šablony MJML vracejí navíc objekt mjml s verzemi dokumentu. Neplatné MJML vrací 422 s errors.source a diagnostics; viz Validace.
Pokud některé pole neprojde validací, odpověď je 400 s message: "Validation failed" a objektem errors s klíči podle polí, například u aliasu s velkými písmeny nebo neplatné adresy v reply_to. Chybějící name nebo alias nebo nepovolená hodnota editor místo toho vrací standardní chybu validace 400 s polem details. Viz Chyby.
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": null,
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": null,
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": null,
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-30T10:30:00.482119Z",
"updated_at": "2026-09-30T10:30:00.482119Z"
},
"message": "Template was successfully created."
}{
"message": "Validation failed",
"errors": {
"alias": ["Alias must contain only lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-)"]
}
}Načtení šablony
Vrací jednu verzi šablony včetně obsahu a v poli versions vypíše ostatní verze se stejným aliasem. Šablony se dohledávají jen podle ID, ne podle aliasu. Vyžaduje API klíč s oprávněním full.
/templates/:idParametry v cestě
idstringPovinnéID šablony, například tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Odpověď
Vrací 200 OK se šablonou v poli data. Kromě polí šablony obsahuje odpověď pole versions s id, name, published_at, created_at a updated_at všech ostatních verzí se stejným aliasem, od nejnovějších. Publikovaná verze je ta, jejíž published_at není null.
Pokud ID ve vašem workspace neexistuje, vrací 404 s message: "Template not found".
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": "Welcome, {{ first_name }}",
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-09-30T10:30:00.482119Z",
"versions": [
{
"id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
"name": "Welcome email (October)",
"published_at": null,
"created_at": "2026-09-30T14:02:11.550731Z",
"updated_at": "2026-09-30T14:02:11.550731Z"
}
]
}
}{
"message": "Template not found"
}Úprava šablony
Upraví jednu verzi šablony. Pošlete jen pole, která chcete změnit. Verze si zachová stav publikování: publikovaná verze zůstane publikovaná a koncept zůstane konceptem. Vyžaduje API klíč s oprávněním full.
/templates/:idParametry v cestě
idstringPovinnéID šablony, například tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Tělo požadavku
namestringNázev šablony. Nejvýše 191 znaků.
aliasstringNový alias. Nejvýše 191 znaků; jen malá písmena, číslice, podtržítka a pomlčky. Nesmí to být alias, který už používá jiná šablona.
fromstringVýchozí odesílatel, například Acme <hello@acme.com>. Nejvýše 191 znaků. Pokud ho chcete vymazat, pošlete prázdný řetězec.
subjectstringVýchozí předmět. Nejvýše 191 znaků. Pokud ho chcete vymazat, pošlete prázdný řetězec.
reply_tostring | string[]Adresa pro odpověď, nebo pole adres. Pokud ji chcete vymazat, pošlete prázdný řetězec.
htmlstringTělo v HTML.
textstringTělo v prostém textu.
sourcestringZdrojový dokument editoru, například JSON z editoru Dragit. U šablony MJML celé MJML: Emailit ho zvaliduje a znovu zkompiluje html a jakékoli html, které pošlete, se ignoruje.
editorstringhtml, text, dragit nebo tiptap. Hodnota mjml je v alfaverzi a otevřená jen týmu Emailitu; změna obsahu šablony MJML bez přístupu k MJML vrací 403 s error: "mjml_alpha". Přejmenování nebo publikování funguje pro všechny. Viz Editory a API pro MJML.
Odpověď
Vrací 200 OK s upravenou šablonou v poli data a potvrzující zprávou message. Emailit také odešle webhookovou událost template.updated.
Pokud je některá hodnota neplatná, vrací 400 s message: "Validation failed" a objektem errors, například "Alias already exists". Hodnoty delší než 191 znaků nebo neznámý editor vracejí standardní chybu validace 400. Pokud šablona neexistuje, vrací 404.
Pokud chcete, aby se tato verze používala při odesílání, zavolejte endpoint Publikování šablony.
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome aboard, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": "Welcome, {{ first_name }}",
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-10-01T09:15:27.640000Z"
},
"message": "Template was successfully updated."
}{
"message": "Validation failed",
"errors": {
"alias": ["Alias already exists"]
}
}{
"message": "Template not found"
}Výpis šablon
Vrací publikovanou verzi každé šablony, od nejnovějších. Nepublikované verze se nevypisují; všechny verze aliasu uvidíte, když načtete šablonu. Vyžaduje API klíč s oprávněním full.
/templatesParametry dotazu
pageintegerČíslo stránky, začíná na 1. Výchozí hodnota je 1.
per_pageintegerPočet šablon na stránce, od 1 do 100. Výchozí hodnota je 25.
include_contentbooleanNastavte na true, pokud chcete u každé šablony vrátit i html, text a source. Ve výchozím stavu se vynechávají, aby odpovědi zůstaly malé.
filter[name]stringČástečná shoda s názvem nebo aliasem šablony bez ohledu na velikost písmen.
filter[alias]stringPřesný alias.
filter[editor]stringEditor: html, text, dragit, tiptap nebo mjml (alfaverze).
matchstringall (výchozí) vyžaduje shodu všech filtrů key.condition. U or stačí shoda kteréhokoli z nich. Viz Filtrování a řazení.
sortstringKlíč řazení: name, alias, created_at (výchozí), updated_at nebo published_at.
orderstringSměr řazení: asc, nebo desc (výchozí).
Filtry
Filtry výpisů jsou jedna úroveň parametrů dotazu ve tvaru key.condition=value. Parametry match, order a direction a seznam podmínek pro každý typ najdete na stránce Filtrování.
Klíče filtrů
| Klíč | Typ | Podmínky | Poznámky |
|---|---|---|---|
name | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
alias | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
editor | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
subject | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
created_at | date | exact, before, after, empty, not_empty |
Klíče řazení
Tento endpoint řadí podle parametru sort s jedním z těchto klíčů a parametru order s hodnotou asc, nebo desc (order=<key> tu vrací 400): name, alias, editor, subject, created_at
U tohoto endpointu přijímá order jen asc, nebo desc. Klíč řazení předejte v sort, například sort=name&order=asc.
Odpověď
Vrací 200 OK se šablonami v poli data a stránkovacími poli total_records, per_page, current_page a total_pages. Každá šablona obsahuje total_versions, tedy počet verzí se stejným aliasem.
{
"data": [
{
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"total_versions": 3,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-09-30T10:30:00.482119Z"
}
],
"total_records": 1,
"per_page": 25,
"current_page": 1,
"total_pages": 1
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Invalid API key"
}Publikování šablony
Publikuje verzi šablony a v jedné transakci stáhne všechny ostatní verze se stejným aliasem. Použijte ho k nasazení nového konceptu nebo k návratu ke starší verzi. Vyžaduje API klíč s oprávněním full.
/templates/:id/publishParametry v cestě
idstringPovinnéID verze, kterou chcete publikovat, například tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f.
Tělo požadavku
Bez těla. Opětovné publikování už publikované verze nastaví nové published_at.
Odpověď
Vrací 200 OK s publikovanou šablonou v poli data a potvrzující zprávou message. Pokud šablona neexistuje, vrací 404.
Emailit odešle webhookovou událost template.updated pro verzi, kterou jste publikovali, a po jedné pro každou staženou verzi.
{
"data": {
"id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
"name": "Welcome email (October)",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1><p>Here is your October guide.</p>",
"text": "Welcome, {{ first_name }}. Here is your October guide.",
"source": null,
"editor": "html",
"published_at": "2026-10-01T09:20:04.118502Z",
"preview_url": null,
"created_at": "2026-09-30T14:02:11.550731Z",
"updated_at": "2026-10-01T09:20:04.118000Z"
},
"message": "Template was successfully published."
}{
"message": "Template not found"
}Smazání šablony
Trvale smaže jednu verzi šablony. Ostatní verze se stejným aliasem zůstanou. Vyžaduje API klíč s oprávněním full.
/templates/:idParametry v cestě
idstringPovinnéID šablony, například tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Odpověď
Vrací 200 OK s data: null a potvrzující zprávou message. Emailit odešle webhookovou událost template.deleted se smazanou verzí. Pokud šablona neexistuje, vrací 404.
Pokud smažete publikovanou verzi, nebude pro tento alias publikovaná žádná verze, dokud nepublikujete jinou, a odesílání s tímto aliasem selže. Smazání konceptu publikovanou verzi neovlivní. Smazání nelze vrátit zpět.
{
"data": null,
"message": "Template was successfully deleted."
}{
"message": "Template not found"
}