Templates API
3 min czytania
API Templates pozwala tworzyć, zarządzać i używać szablonów email wielokrotnego użytku.
Utwórz szablon
Utwórz nowy szablon email.
POST /v1/templates
Body żądania
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
name |
string | Tak | Identyfikator szablonu (unikalny) |
subject |
string | Tak | Temat emaila (wspiera zmienne) |
html |
string | Tak | Body HTML |
text |
string | Nie | Body tekstowe (auto-generowane jeśli pominięte) |
description |
string | Nie | Czytelny opis |
category |
string | Nie |
Kategoria: transactional, marketing, notification |
tags |
array | Nie | Tagi do organizacji |
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"html": "<h1>Witaj, {{name}}!</h1><p>Twoje konto jest gotowe.</p>",
"text": "Witaj, {{name}}!\n\nTwoje konto jest gotowe.",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"category": "transactional",
"tags": ["onboarding", "welcome"]
}'
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"category": "transactional",
"tags": ["onboarding", "welcome"],
"status": "active",
"version": 1,
"created_at": "2024-01-15T10:00:00Z"
}
Lista szablonów
Pobierz wszystkie szablony.
GET /v1/templates
Parametry zapytania
| Parametr | Typ | Opis |
|---|---|---|
page |
integer | Numer strony |
per_page |
integer | Elementów na stronę |
category |
string | Filtruj po kategorii |
tag |
string | Filtruj po tagu |
status |
string |
Filtr: active, inactive |
Przykładowe żądanie
curl "https://api.mailingapi.com/v1/templates?category=transactional" \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"data": [
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"category": "transactional",
"status": "active",
"version": 1,
"created_at": "2024-01-15T10:00:00Z"
}
],
"meta": {
"total": 15,
"page": 1,
"per_page": 25
}
}
Pobierz szablon
Pobierz konkretny szablon.
GET /v1/templates/{template_id}
Przykładowe żądanie
curl https://api.mailingapi.com/v1/templates/tmpl_abc123 \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"html": "<h1>Witaj, {{name}}!</h1><p>Twoje konto jest gotowe.</p>",
"text": "Witaj, {{name}}!\n\nTwoje konto jest gotowe.",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"category": "transactional",
"tags": ["onboarding", "welcome"],
"status": "active",
"version": 3,
"variables": ["company_name", "name"],
"created_at": "2024-01-15T10:00:00Z",
"updated_at": "2024-01-18T14:30:00Z"
}
Aktualizuj szablon
Zaktualizuj szablon. Tworzy nową wersję.
PATCH /v1/templates/{template_id}
Body żądania
| Pole | Typ | Opis |
|---|---|---|
subject |
string | Nowy temat |
html |
string | Nowe body HTML |
text |
string | Nowe body tekstowe |
description |
string | Nowy opis |
category |
string | Nowa kategoria |
tags |
array | Nowe tagi |
status |
string |
active lub inactive |
Przykładowe żądanie
curl -X PATCH https://api.mailingapi.com/v1/templates/tmpl_abc123 \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "Witaj na pokładzie, {{name}}!",
"html": "<h1>Witaj na pokładzie, {{name}}!</h1><p>Zaczynajmy.</p>"
}'
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj na pokładzie, {{name}}!",
"status": "active",
"version": 4,
"updated_at": "2024-01-20T16:00:00Z"
}
Usuń szablon
Usuń szablon.
DELETE /v1/templates/{template_id}
Przykładowe żądanie
curl -X DELETE https://api.mailingapi.com/v1/templates/tmpl_abc123 \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
204 No Content
Renderuj szablon
Wyrenderuj szablon z przykładowymi danymi.
POST /v1/templates/{template_id}/render
Body żądania
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
variables |
object | Tak | Przykładowe wartości zmiennych |
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates/tmpl_abc123/render \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"variables": {
"name": "Jan",
"company_name": "Acme Sp. z o.o."
}
}'
Odpowiedź
{
"subject": "Witaj w Acme Sp. z o.o., Jan!",
"html": "<h1>Witaj, Jan!</h1><p>Twoje konto jest gotowe.</p>",
"text": "Witaj, Jan!\n\nTwoje konto jest gotowe."
}
Lista wersji
Pobierz wszystkie wersje szablonu.
GET /v1/templates/{template_id}/versions
Przykładowe żądanie
curl https://api.mailingapi.com/v1/templates/tmpl_abc123/versions \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"data": [
{
"version": 4,
"subject": "Witaj na pokładzie, {{name}}!",
"changelog": "Zaktualizowano powitanie",
"created_at": "2024-01-20T16:00:00Z",
"created_by": "user@example.com"
},
{
"version": 3,
"subject": "Witaj w {{company_name}}, {{name}}!",
"changelog": "Dodano nazwę firmy",
"created_at": "2024-01-18T14:30:00Z"
}
]
}
Pobierz wersję
Pobierz konkretną wersję szablonu.
GET /v1/templates/{template_id}/versions/{version}
Odpowiedź
{
"id": "tmpl_abc123",
"version": 3,
"subject": "Witaj w {{company_name}}, {{name}}!",
"html": "...",
"text": "...",
"created_at": "2024-01-18T14:30:00Z"
}
Przywróć wersję
Przywróć poprzednią wersję szablonu.
POST /v1/templates/{template_id}/versions/{version}/restore
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates/tmpl_abc123/versions/2/restore \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"id": "tmpl_abc123",
"version": 5,
"message": "Restored version 2",
"updated_at": "2024-01-20T17:00:00Z"
}
Zduplikuj szablon
Utwórz kopię istniejącego szablonu.
POST /v1/templates/{template_id}/duplicate
Body żądania
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
name |
string | Tak | Nazwa nowego szablonu |
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates/tmpl_abc123/duplicate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "welcome_email_v2"}'
Odpowiedź
{
"id": "tmpl_new456",
"name": "welcome_email_v2",
"status": "active",
"version": 1,
"created_at": "2024-01-20T17:30:00Z"
}
Kody błędów
| Kod | Opis |
|---|---|
template_not_found |
ID szablonu nie znalezione |
name_already_exists |
Nazwa szablonu musi być unikalna |
invalid_template |
Błąd składni szablonu |
version_not_found |
Numer wersji nie znaleziony |
missing_variables |
Wymagane zmienne nie dostarczone |