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) |
slug |
string | Nie | Unikalny slug szablonu (auto-generowany z name jeśli pominięty) |
subject |
string | Tak | Temat emaila (wspiera zmienne) |
html_content |
string | Tak | Body HTML |
text_content |
string | Nie | Body tekstowe (auto-generowane jeśli pominięte) |
description |
string | Nie | Czytelny opis |
type |
string | Nie |
Typ: transactional, marketing, system |
settings |
object | Nie | Dodatkowe ustawienia szablonu |
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_content": "<h1>Witaj, {{name}}!</h1><p>Twoje konto jest gotowe.</p>",
"text_content": "Witaj, {{name}}!\n\nTwoje konto jest gotowe.",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"type": "transactional"
}'
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"type": "transactional",
"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ę |
type |
string | Filtruj po typie |
search |
string | Wyszukiwanie po nazwie lub opisie |
status |
string |
Filtr: draft, active, archived |
Przykładowe żądanie
curl "https://api.mailingapi.com/v1/templates?type=transactional" \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"data": [
{
"id": "tmpl_abc123",
"name": "welcome_email",
"subject": "Witaj w {{company_name}}, {{name}}!",
"type": "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_content": "<h1>Witaj, {{name}}!</h1><p>Twoje konto jest gotowe.</p>",
"text_content": "Witaj, {{name}}!\n\nTwoje konto jest gotowe.",
"description": "Wysyłany do nowych użytkowników po rejestracji",
"type": "transactional",
"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_content |
string | Nowe body HTML |
text_content |
string | Nowe body tekstowe |
description |
string | Nowy opis |
type |
string | Nowy typ |
settings |
object | Nowe ustawienia |
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 |
|---|---|---|---|
data |
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 '{
"data": {
"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"
}
]
}
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"
}
Publikuj szablon
Zmień status szablonu na active.
POST /v1/templates/{template_id}/publish
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates/tmpl_abc123/publish \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"status": "active",
"published_at": "2024-01-20T17:00:00Z"
}
Archiwizuj szablon
Zmień status szablonu na archived.
POST /v1/templates/{template_id}/archive
Przykładowe żądanie
curl -X POST https://api.mailingapi.com/v1/templates/tmpl_abc123/archive \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"id": "tmpl_abc123",
"name": "welcome_email",
"status": "archived",
"archived_at": "2024-01-20T18:00:00Z"
}
Statystyki szablonów
Pobierz statystyki użycia szablonów.
GET /v1/templates/stats
Przykładowe żądanie
curl https://api.mailingapi.com/v1/templates/stats \
-H "Authorization: Bearer $API_KEY"
Odpowiedź
{
"total": 15,
"by_status": {
"draft": 3,
"active": 10,
"archived": 2
},
"by_type": {
"transactional": 8,
"marketing": 5,
"system": 2
}
}
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 |