[Intum](https://intum.fr/aide.md) / [Mail](https://intum.fr/aide/mail.md)

# [Szablony](https://intum.fr/aide/mail/szablony.md) | [API](#api)

## Czym są szablony?

Szablony to gotowe wzorce wiadomości e-mail, które można wielokrotnie używać. Zamiast pisać tę samą odpowiedź od zera - wybierz szablon i dostosuj treść.

## Tworzenie szablonu

1. Przejdź do **Mail** > **Szablony**
2. Kliknij **+** (Nowy szablon)
3. Wypełnij:
   - **Temat** - domyślny temat e-maila
   - **Treść** - treść wiadomości, może zawierać zmienne (patrz niżej)
   - **Nazwa** - wewnętrzna nazwa szablonu widoczna przy wyborze. Jeśli zostawisz pustą, system użyje tematu jako nazwy
   - **[Dział](../organizacja/dzial)** - opcjonalne przypisanie do działu (pole widoczne tylko gdy w systemie istnieją działy)
4. Zapisz

## Zmienne w szablonach

W treści i temacie szablonu można używać zmiennych, które zostaną automatycznie zastąpione danymi. Składnia: `{{ nazwa_zmiennej }}`.

### Przykład szablonu

```
Cześć {{ contact.first_name }},

Dziękujemy za kontakt. Twoje zgłoszenie zostało zarejestrowane.

Pozdrawiamy,
{{ first_name }} {{ last_name }}
{{ email }}
```

Jeśli e-mail wysyła Jan Kowalski (jan@firma.pl) do kontaktu "Anna Nowak", szablon wygeneruje:

```
Cześć Anna,

Dziękujemy za kontakt. Twoje zgłoszenie zostało zarejestrowane.

Pozdrawiamy,
Jan Kowalski
jan@firma.pl
```

### Zmienne nadawcy

Dane osoby, która wysyła e-maila. Te same zmienne co w stopkach mailboxa:

| Zmienna | Co wstawia |
|---------|------------|
| `{{ name }}` | Pełna nazwa nadawcy |
| `{{ first_name }}` | Imię |
| `{{ last_name }}` | Nazwisko |
| `{{ email }}` | Adres e-mail |
| `{{ phone }}` | Telefon |

### Zmienne kontaktu (odbiorca)

Dane kontaktu powiązanego z e-mailem. Wymagają prefiksu `contact.`:

| Zmienna | Co wstawia |
|---------|------------|
| `{{ contact.name }}` | Pełna nazwa kontaktu |
| `{{ contact.first_name }}` | Imię |
| `{{ contact.last_name }}` | Nazwisko |
| `{{ contact.email }}` | Adres e-mail |
| `{{ contact.phone }}` | Telefon |
| `{{ contact.mobile_phone }}` | Telefon komórkowy |
| `{{ contact.position }}` | Stanowisko |
| `{{ contact.city }}` | Miasto |
| `{{ contact.street }}` | Ulica |
| `{{ contact.street_no }}` | Numer budynku |
| `{{ contact.post_code }}` | Kod pocztowy |
| `{{ contact.country }}` | Kraj |
| `{{ contact.www }}` | Strona internetowa |

Jeśli e-mail nie ma powiązanego kontaktu lub nadawcy, zmienne zostaną zastąpione pustym tekstem.

## Używanie szablonu

Przy tworzeniu nowego e-maila lub odpowiedzi:

1. Kliknij przycisk **Wstaw szablon**
2. Wybierz szablon z listy
3. Treść i temat zostaną wstawione do formularza
4. Dostosuj treść przed wysłaniem

## Licznik użyć

Każdy szablon ma licznik pokazujący ile razy został użyty oraz datę ostatniego użycia. Lista szablonów jest domyślnie posortowana od najczęściej używanych.

## Szablony a działy

Szablony można przypisać do [działu](../organizacja/dzial). Dzięki temu przy wyborze szablonu wyświetlane są tylko te pasujące do kontekstu - użytkownik widzi szablony ze swojego działu i szablony bez przypisanego działu.

## Ważne informacje

- Szablon wymaga wypełnienia **tematu i treści**. Nazwa jest opcjonalna - jeśli jej nie podasz, zostanie ustawiona automatycznie na wartość tematu
- Usunięcie szablonu nie wpływa na e-maile, które go użyły - wiadomości zachowują treść
- Szablony obsługują załączniki graficzne w treści

---

## API

### Ogólne API

# Intum API

Dokumentacja API platformy [Intum](https://intum.pl) - system operacyjny firmy.

## Host

Host jest zawsze taki sam jak adres konta: `xxxx.intum.com` lub `xxx.intum.pl` (w zależności od ustawień konta)

## Autoryzacja

Wszystkie requesty API wymagają `api_token`:
- header: `Authorization: Bearer TOKEN`

Token możesz wygenerować w **Ustawienia Konta** → **Tokeny API**

## Endpointy

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/mail/templates.json` | Lista szablonów |
| GET | `/mail/templates/:id.json` | Pojedynczy szablon |
| POST | `/mail/templates.json` | Utworzenie szablonu |
| PATCH | `/mail/templates/:id.json` | Aktualizacja szablonu |
| DELETE | `/mail/templates/:id.json` | Usunięcie szablonu |

**Autoryzacja:** `Authorization: Bearer TOKEN` (uprawnienie: **mail**)

## Pola szablonu

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | tak | Nazwa szablonu |
| `subject` | string | tak | Temat e-maila |
| `content` | string | tak | Treść szablonu (HTML/Liquid/Handlebars) |
| `language` | string | nie | Silnik: `html` (domyślnie), `liquid`, `handlebars` |
| `department_id` | integer | nie | ID działu |

## Tworzenie szablonu

```
POST /mail/templates.json
Authorization: Bearer TOKEN
```

```json
{
  "template": {
    "name": "Potwierdzenie zamówienia",
    "subject": "Potwierdzenie zamówienia #{{numer}}",
    "content": "<p>Dziękujemy za zamówienie.</p>",
    "language": "liquid"
  }
}
```

## Aktualizacja szablonu

```
PATCH /mail/templates/:id.json
```

```json
{
  "template": {
    "subject": "Nowy temat",
    "content": "<p>Zaktualizowana treść</p>"
  }
}
```

## Błędy (422)

```json
{"name": ["nie może być puste"]}
```