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)
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