# Verze šablon

> Verze sdílejí alias, takže můžete připravit, otestovat a publikovat nový design bez změny kódu. Jak funguje publikování ve webovém rozhraní a v API.

Díky verzím můžete šablonu změnit, aniž byste sahali na kód, který ji odesílá. Všechny verze šablony sdílejí jeden alias a publikovaná je nejvýše jedna z nich. Odeslání podle aliasu vždy použije publikovanou verzi, takže můžete připravit nový design, otestovat ho a jedním kliknutím na něj přepnout.

## Jak verze fungují

Každá šablona je verze s vlastním ID `tem_`, názvem, předmětem, adresou odesílatele, editorem a obsahem. Verze se stejným aliasem tvoří skupinu:

```text
welcome-email
├── Welcome email v3   tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh   Draft
├── Welcome email v2   tem_33Vd8Hq3Ws5NzK1xR7cM2pLbYte   Published   ← sends by alias use this one
└── Welcome email      tem_33TfB6yN4qJ8kV2mX9wR1cHsDua   Draft
```

| Jak na šablonu odkazujete | Která verze se použije |
| --- | --- |
| Alias, například `"template": "welcome-email"` | Publikovaná verze. Pokud žádná publikovaná není, odeslání selže s `404 Template not found`. |
| ID `tem_`, například `"template": "tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh"` | Přesně tato verze, publikovaná nebo ne |

Stejná pravidla platí pro krok **Send email** v [automatizacích](/cs/docs/automations/steps/). Ve webovém rozhraní seznam šablon ukazuje jen publikovanou verzi každého aliasu. Koncepty se zobrazují v panelu **Versions** na stránce šablony.

## Vytvořte novou verzi

1. **Otevřete šablonu.** Přejděte do **Email Marketing → Templates** a vyberte šablonu.

2. **Začněte verzi.** V panelu **Versions** vyberte **New Version**.

3. **Vyberte zdroj.** V dialogovém okně **Create New Version** zvolte v poli **Copy from** verzi, od které chcete začít, a vyberte **Create Version**. Emailit zkopíruje její předmět, odesílatele, adresu pro odpověď, editor a obsah do nového konceptu pojmenovaného podle zdroje, například `Welcome email v3`.

4. **Upravte koncept.** Vyberte **Open Editor** a proveďte změny. Publikovaná verze se odesílá dál, dokud koncept nepublikujete.

Nová verze vznikne také pokaždé, když přidáte šablonu s aliasem, který už existuje, ať tlačítkem **Add template**, **Duplicate Template**, **Import**, nebo **Save as template** u kampaně. Nová šablona se uloží jako koncept. Dialogová okna **Add template**, **Duplicate Template** a **Save as template** vás upozorní hláškou **Alias already exists**; **Import** ne.

## Otestujte koncept

Než koncept publikujete, pošlete ho sami sobě podle jeho ID `tem_`. ID zkopírujete ze stránky šablony.

```bash
curl https://api.emailit.com/v2/emails \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <hello@acme.com>",
    "to": "you@acme.com",
    "template": "tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh",
    "variables": { "first_name": "Ada", "plan": "Pro" }
  }'
```

## Publikujte verzi

Publikováním se verze stane aktivní verzí svého aliasu. Verze, která byla publikovaná předtím, se stane konceptem, takže publikovaná je vždy jen jedna verze.

**Webové rozhraní**

  Otevřete koncept a vyberte **Publish**, nebo vyberte ikonu publikování vedle něj v panelu **Versions**. Dialogové okno **Publish template** upozorní, že publikování nahradí aktuální aktivní verzi. Potvrďte tlačítkem **Publish**.

**API**

  Zavolejte endpoint [Publikování šablony](/cs/docs/api-reference/templates/publish/) (`POST /templates/{id}/publish`) s ID `tem_` verze a klíčem **Full Access**.

**cURL**

```bash
curl -X POST https://api.emailit.com/v2/templates/tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh/publish \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
```

**Node.js**

```javascript
const res = await fetch(
  'https://api.emailit.com/v2/templates/tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh/publish',
  { method: 'POST', headers: { Authorization: `Bearer ${process.env.EMAILIT_API_KEY}` } },
);
const { data } = await res.json();
```

**Python**

```python
import os
import requests

res = requests.post(
    "https://api.emailit.com/v2/templates/tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh/publish",
    headers={"Authorization": f"Bearer {os.environ['EMAILIT_API_KEY']}"},
)
template = res.json()["data"]
```

**PHP**

```php
$ch = curl_init('https://api.emailit.com/v2/templates/tem_33W1rXk9Pd2LmQ7vB4nC8sTyFgh/publish');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('EMAILIT_API_KEY')],
]);
$template = json_decode(curl_exec($ch), true)['data'];
```

Publikování vyvolá `template.updated` pro nově publikovanou verzi i pro verzi, jejíž publikování se zrušilo. K předchozí verzi se vrátíte tak, že ji znovu publikujete.

## Upravte nebo smažte publikovanou verzi

- **Úpravy platí okamžitě.** Uložení změn publikované verze od té chvíle změní, co se odesílá podle aliasu. Editor Dragit ukládá automaticky během práce, takže jeho změny se projevují průběžně. Pokud chcete změny připravit předem, vytvořte místo toho novou verzi.
- **Smazání nepovýší jinou verzi.** Pokud publikovanou verzi smažete, alias nemá žádnou publikovanou verzi a odeslání a automatizace, které alias používají, budou selhávat, dokud nepublikujete jinou. Smazání odstraní jen tuto verzi; ostatní zůstanou.

## Verze v API

| Akce | Chování |
| --- | --- |
| [Vytvoření šablony](/cs/docs/api-reference/templates/create/) s novým aliasem | Šablona se automaticky publikuje. |
| [Vytvoření šablony](/cs/docs/api-reference/templates/create/) s existujícím aliasem | Šablona se vytvoří jako nepublikovaná verze s `published_at` nastaveným na `null`. |
| [Výpis šablon](/cs/docs/api-reference/templates/list/) | Vrací jen publikované verze, jednu na alias, každou s `total_versions`. |
| [Načtení šablony](/cs/docs/api-reference/templates/get/) | Vrací verzi a navíc `versions`: ostatní verze aliasu s jejich `id`, `name`, `published_at`, `created_at` a `updated_at`, od nejnovější. |
| [Úprava šablony](/cs/docs/api-reference/templates/update/) | Změní pole verze, aniž by změnila, jestli je publikovaná. Změna aliasu na alias, který se už používá, selže s `Alias already exists`. |
| [Publikování šablony](/cs/docs/api-reference/templates/publish/) | Publikuje tuto verzi a zruší publikování všech ostatních verzí aliasu. |
| [Smazání šablony](/cs/docs/api-reference/templates/delete/) | Smaže jen tuto verzi. |

## Související

- [Vytváření a úprava šablon](/cs/docs/templates/editors/)
- [Odeslání se šablonou](/cs/docs/email-api/send-email/#send-with-a-template)
- [Reference API šablon](/cs/docs/api-reference/templates/)

---
Zdroj: https://emailit.com/cs/docs/templates/versions/
