Dokumentacja / API Reference

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