[Intum](https://intum.fr/aide.md) / [Organizacja](https://intum.fr/aide/organizacja.md)

# [Użytkownik](https://intum.fr/aide/organizacja/uzytkownik.md) | [API](#api)

## Co to jest użytkownik

Użytkownik to osoba mająca dostęp do konta w systemie Intum. Każdy użytkownik posiada własny profil, dashboard oraz zestaw uprawnień określający, do jakich funkcji ma dostęp.

## Profil użytkownika

Profil zawiera:

- **Imię i nazwisko** - wyświetlane w systemie
- **Email** - adres kontaktowy (może być inny niż email logowania)
- **Telefon** - numer kontaktowy, opcjonalnie do powiadomień SMS
- **Avatar** - zdjęcie profilowe
- **Opis** - krótka informacja o użytkowniku

## Dashboard

Po zalogowaniu użytkownik widzi swój dashboard z przeglądem:

- Przypisanych zadań
- Ostatnich aktywności
- Powiadomień
- Ulubionych elementów

## Role

Każdy użytkownik ma przypisaną rolę w koncie:

- **Owner** - właściciel konta, pełne uprawnienia
- **Admin** - administrator, zarządzanie użytkownikami i ustawieniami
- **User** - standardowy użytkownik, dostęp do modułów
- **Guest** - gość, ograniczony dostęp (wymaga zatwierdzenia)

## Struktury organizacyjne

### [Grupa](grupa)

[Grupa](grupa) łączy użytkowników wokół wspólnego celu - najczęściej do zarządzania mailami i obsługi klienta. Grupa może być odpowiedzialna za zadania, skrzynki pocztowe i widgety czatu.

### [Zespół](zespol)

[Zespół](zespol) to struktura organizacyjna do zarządzania pracą. Zawiera użytkowników, [projekty](projekt) i zadania. Każdy użytkownik może mieć przypisany główny zespół. Zespół może mieć wyznaczonego odpowiedzialnego.

### [Dział](dzial)

[Dział](dzial) to struktura organizacyjna firmy. Może mieć własny email i telefon kontaktowy. Działy są powiązane z szablonami mailowymi i obsługą klienta.

## Godziny pracy i urlop

Użytkownik może ustawić w profilu:

- **Harmonogram pracy** - godziny pracy w poszczególne dni tygodnia
- **Miejsce pracy** - np. biuro, zdalnie
- **Urlop** - daty od/do, widoczne dla całego [zespołu](zespol)

## Powiadomienia

System powiadomień informuje użytkownika o:

- [Przypisanych zadaniach](przydzielanie-zadan)
- Zmianach w obserwowanych zadaniach
- Komentarzach i aktualizacjach
- Nowych mailach

Powiadomienia można otrzymywać w systemie, emailem lub SMS-em.

## Ulubione

Użytkownik może dodawać elementy (zadania, kontakty) do **Ulubionych**, aby śledzić ich zmiany i szybko do nich wracać.

## Bezpieczeństwo

- **Uwierzytelnianie dwuetapowe (2FA)** - opcjonalna weryfikacja SMS przy logowaniu
- **Tokeny API** - do integracji z zewnętrznymi narzędziami
- **Historia aktywności** - rejestrowanie wszystkich działań użytkownika

---

## 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 | `/account/users.json` | Lista użytkowników konta |
| GET | `/account/users/:id.json` | Pojedynczy użytkownik |
| POST | `/account/users.json` | Utworzenie użytkownika |
| PATCH | `/account/users/:id.json` | Aktualizacja użytkownika |
| DELETE | `/account/users/:id.json` | Usunięcie użytkownika |
| GET | `/profile.json` | Profil bieżącego użytkownika |
| PATCH | `/profile.json` | Aktualizacja własnego profilu |

**Autoryzacja:** `Authorization: Bearer TOKEN`

## Pola użytkownika

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `email` | string | tak | Adres e-mail |
| `name` | string | nie | Imię i nazwisko |
| `first_name` | string | nie | Imię |
| `last_name` | string | nie | Nazwisko |
| `description` | string | nie | Opis użytkownika |
| `active` | boolean | nie | Czy aktywny |
| `role` | string | nie | Rola: `owner`, `admin`, `user`, `guest` |
| `external_id` | string | nie | Zewnętrzny identyfikator |

## Pobranie listy użytkowników

```
GET /account/users.json
Authorization: Bearer TOKEN
```

## Tworzenie użytkownika

```
POST /account/users.json
Authorization: Bearer TOKEN
```

```json
{
  "user_setting": {
    "email": "jan@firma.pl",
    "first_name": "Jan",
    "last_name": "Kowalski",
    "role": "user"
  }
}
```

## Aktualizacja użytkownika

```
PATCH /account/users/:id.json
```

```json
{
  "user_setting": {
    "active": false
  }
}
```

## Profil bieżącego użytkownika

```
GET /profile.json
Authorization: Bearer TOKEN
```

Zwraca profil zalogowanego użytkownika z danymi kontaktowymi, avatarem i ustawieniami.

## Błędy (422)

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

---

## Powiązane

- [Przydzielanie zadań](https://intum.fr/aide/organizacja/przydzielanie-zadan.md)
