[Intum](https://intum.fr/aide.md) / [Automatyzacja](https://intum.fr/aide/automatyzacja.md)

# [Eskalacja ticketów](https://intum.fr/aide/automatyzacja/eskalacja-ticketow.md) | [API](#api)

## Czym jest eskalacja?

Eskalacja to mechanizm automatycznego powiadamiania, który pilnuje, żeby żaden ticket w helpdesku nie pozostał bez odpowiedzi. Gdy klient napisze zgłoszenie, a nikt nie odpowie w wyznaczonym czasie — system automatycznie powiadomi odpowiednie osoby.

Eskalacja działa w tle — sprawdza tickety co 5 minut i reaguje, gdy czas odpowiedzi zostanie przekroczony.

## Jak to działa?

Mechanizm eskalacji składa się z trzech elementów:

1. **Polityka eskalacji** — zestaw reguł (kroków) definiujących kto i kiedy ma być powiadomiony
2. **Kroki eskalacji** — kolejne poziomy powiadomień z rosnącym opóźnieniem
3. **Incydenty** — pojedyncze przypadki eskalacji na konkretnym tickecie

### Przykład działania

Firma tworzy politykę "Eskalacja standardowa" z trzema krokami:

| Krok | Po ilu minutach | Kogo powiadomić | Kanał |
|------|----------------|-----------------|-------|
| 1 | 10 min | Osoba odpowiedzialna za ticket | Powiadomienie |
| 2 | 30 min | Kierownik zespołu | Email |
| 3 | 60 min | Dyrektor BOK | Email |

Gdy klient wyśle ticket:
- Po **10 minutach** bez odpowiedzi — osoba odpowiedzialna dostaje powiadomienie w systemie
- Po **30 minutach** — kierownik zespołu dostaje email
- Po **60 minutach** — dyrektor BOK dostaje email

Jeśli ktoś w międzyczasie odpowie na ticket lub go zamknie — eskalacja zostaje automatycznie zakończona.

## Tworzenie polityki eskalacji

1. Przejdź do **Automatyzacja → Polityki eskalacji**
2. Kliknij **Nowa polityka**
3. Wypełnij formularz:
   - **Nazwa** — opisowa nazwa polityki (np. "SLA Standard", "Eskalacja krytyczna")
   - **Aktywna** — czy polityka ma działać
   - **Pomijaj osoby na urlopie** — opcjonalnie, nie wysyła powiadomień osobom oznaczonym jako na urlopie
4. Dodaj **kroki eskalacji** (minimum jeden):
   - **Opóźnienie (minuty)** — po ilu minutach od ostatniej aktywności klienta uruchomić ten krok
   - **Kogo powiadomić** — osoba odpowiedzialna za ticket, konkretny użytkownik lub grupa
   - **Kanał** — powiadomienie w systemie lub email
5. Zapisz politykę

## Gdzie przypisać politykę eskalacji

Politykę można przypisać na trzech poziomach. System sprawdza je w kolejności od najbardziej szczegółowego:

1. **Ticket** — polityka ustawiona bezpośrednio na tickecie (najwyższy priorytet)
2. **Klient** — polityka ustawiona na kliencie w CRM
3. **Desk** — polityka ustawiona na desku helpdesku (najniższy priorytet)

Jeśli ticket ma własną politykę — ta jest używana. Jeśli nie, system sprawdza klienta przypisanego do ticketu. Jeśli i tam nie ma — bierze politykę z desku.

Dzięki temu możesz np. ustawić szybszą eskalację dla ważnych klientów, a jednocześnie mieć domyślną politykę na poziomie desku.

### Przypisanie do desku

1. Przejdź do **Helpdesk → Deski**
2. Edytuj wybrany desk
3. W polu **Polityka eskalacji** wybierz politykę
4. Zapisz

Wszystkie tickety w tym desku będą domyślnie monitorowane przez tę politykę.

### Przypisanie do klienta

1. Przejdź do **CRM → Klienci**
2. Edytuj wybranego klienta
3. W polu **Polityka eskalacji** wybierz politykę
4. Zapisz

Tickety tego klienta będą monitorowane szybciej (lub wolniej) niż wynikałoby z ustawień desku.

### Przypisanie do ticketu

Na stronie ticketu (widok szczegółów) w panelu bocznym znajdziesz pole **Polityka eskalacji**. Zmiana działa od razu — wystarczy wybrać politykę z listy.

Przydatne gdy konkretne zgłoszenie wymaga specjalnego traktowania, niezależnie od ustawień klienta czy desku.

## Dashboard eskalacji

Przegląd aktywnych eskalacji znajdziesz w **Automatyzacja → Dashboard** (lub pod adresem `/automation/escalation`).

Dashboard pokazuje:
- **Aktywne eskalacje** — tickety czekające na reakcję, z informacją o aktualnym kroku
- **Potwierdzone eskalacje** — ktoś się zajmuje, ale ticket jeszcze otwarty
- **Rozwiązane dziś** — liczba zamkniętych eskalacji z dzisiejszego dnia
- **Aktywne polityki** — ile polityk jest włączonych

Z poziomu dashboardu możesz kliknąć na ticket, żeby przejść do jego szczegółów, albo potwierdzić eskalację bezpośrednio.

## Potwierdzanie eskalacji (Acknowledge)

Gdy użytkownik otrzyma powiadomienie o eskalacji, może kliknąć przycisk **"Zajmuję się"** (dostępny w powiadomieniu email, na stronie ticketu lub w dashboardzie). Potwierdzenie oznacza:

- Eskalacja zostaje **zatrzymana** — kolejne kroki nie będą uruchamiane
- Ticket pozostaje otwarty do rozwiązania
- W systemie zapisuje się kto i kiedy potwierdził

## Statusy eskalacji

| Status | Znaczenie |
|--------|-----------| 
| **Aktywna** | Eskalacja trwa — system czeka na odpowiedź lub przechodzi do kolejnych kroków |
| **Potwierdzona** | Ktoś potwierdził, że zajmuje się ticketem — eskalacja zatrzymana |
| **Rozwiązana** | Ticket został zamknięty — eskalacja automatycznie zakończona |

## Kiedy eskalacja się kończy?

Eskalacja zostaje automatycznie zamknięta gdy:

- **Ticket zostanie zamknięty** (status "rozwiązany")
- **Ktoś potwierdzi eskalację** (kliknie "Zajmuję się")

## Wskazówki

- **Zacznij od prostej polityki** — np. jeden krok po 15 minutach. Rozbuduj później gdy zobaczysz jak działa
- **Dostosuj czasy do zespołu** — jeśli średni czas odpowiedzi to 10 minut, ustaw eskalację po 20 minutach
- **Używaj różnych kanałów** — pierwszy krok jako powiadomienie w systemie, kolejne jako email
- **Jedna polityka na wiele desków** — ta sama polityka może być przypisana do wielu desków helpdesku
- **Ważni klienci** — przypisz im szybszą politykę eskalacji w CRM, żeby ich zgłoszenia miały priorytet
- **Wyjątkowe tickety** — jeśli konkretne zgłoszenie wymaga innej eskalacji, ustaw politykę bezpośrednio na tickecie

---

## 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**

## Polityki eskalacji

### Endpoints

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/automation/escalation/policies.json` | Lista polityk |
| GET | `/automation/escalation/policies/:id.json` | Szczegóły polityki |
| POST | `/automation/escalation/policies.json` | Utworzenie polityki |
| PATCH | `/automation/escalation/policies/:id.json` | Aktualizacja |
| DELETE | `/automation/escalation/policies/:id.json` | Usunięcie |

### Dashboard

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/automation/escalation.json` | Statystyki eskalacji (active, acknowledged, resolved_today, policies_active) |

### Pola polityki

| Pole | Typ | Opis |
|------|-----|------|
| `name` | string | Nazwa polityki |
| `kind` | string | Typ: `escalation` |
| `active` | boolean | Czy aktywna |
| `skip_on_holiday` | boolean | Pomijaj osoby na urlopie |

### Pola kroku (step)

| Pole | Typ | Opis |
|------|-----|------|
| `position` | integer | Kolejność kroku (od 0) |
| `delay_minutes` | integer | Opóźnienie w minutach |
| `notify_type` | string | `user`, `group` lub `responsible` |
| `notify_id` | integer | ID użytkownika lub grupy (gdy notify_type = user/group) |
| `channel` | string | `notification` lub `email` |

### Pola incydentu

| Pole | Typ | Opis |
|------|-----|------|
| `status` | string | `active`, `acknowledged`, `resolved` |
| `subject_type` | string | `Helpdesk::Ticket` |
| `subject_id` | integer | ID ticketu |
| `current_step_position` | integer | Aktualny krok eskalacji |
| `started_at` | datetime | Początek eskalacji |
| `acknowledged_at` | datetime | Kiedy potwierdzona |
| `resolved_at` | datetime | Kiedy zamknięta |

### Przypisanie polityki

Politykę można przypisać na trzech poziomach (priorytet: ticket > klient > desk):

**Ticket:**
```
PATCH /helpdesk/tickets/:id.json
{"ticket": {"escalation_policy_id": 123}}
```

**Klient:**
```
PATCH /crm/clients/:id.json
{"client": {"escalation_policy_id": 123}}
```

**Dział:**
```
PATCH /helpdesk/desks/:id.json
{"desk": {"escalation_policy_id": 123}}
```

Ustawienie `null` usuwa przypisanie — system spadnie na niższy poziom priorytetu.

### Acknowledge endpoint

```
GET /automation/escalation/acknowledge/:token
PATCH /automation/escalation/acknowledge/:token
```

Token jest unikalny dla każdego incydentu. GET wyświetla stronę potwierdzenia, PATCH potwierdza eskalację.

---

## Powiązane

- [Pilnowanie czasu odpowiedzi](https://intum.fr/aide/automatyzacja/pilnowanie-czasu-odpowiedzi.md)
- [Nieobecności i zastępstwa](https://intum.fr/aide/automatyzacja/nieobecnosci-i-zastepstwa.md)
