[Intum](https://intum.pl/pomoc.md) / [chat](https://intum.pl/pomoc/chat.md)

# [Intum Chat](https://intum.pl/pomoc/chat/intum-chat.md) | [API](#api)

Intum Chat to firmowy komunikator wbudowany w Intum - piszesz do współpracowników bez wychodzenia z systemu, a rozmowy o zadaniach czy klientach zostają tam, gdzie ich miejsce.

## Panel rozmów

Czat znajdziesz w menu pod adresem **/chat**. Po lewej stronie widzisz listę swoich rozmów (nieprzeczytane oznaczone kropką), po prawej okno wybranej rozmowy. Każda rozmowa ma swój adres (np. `/chat/3-ogolny`) - możesz go skopiować i wysłać komuś z zespołu.

## Rodzaje rozmów

- **Rozmowa 1:1** - kliknij `@` nad listą rozmów i wybierz osobę. Z każdą osobą masz jedną wspólną rozmowę - jej historia nie ginie. Rozmowę 1:1 zaczniesz też przyciskiem **Czat** na profilu użytkownika.
- **Kanał** - kliknij `+` i nadaj nazwę. Do kanału możesz zapraszać kolejne osoby (ikona 👥 w nagłówku rozmowy, pole "Dodaj osobę"), a inni mogą dołączać sami.
- **Rozmowa o zadaniu, projekcie czy klencie** - patrz powiązany wpis o czacie w kontekstach.

## Pisanie wiadomości

- **@wzmianka** - naciśnij `@`, a podpowiedzą się osoby z rozmowy; wybrana osoba dostanie powiadomienie, a jej nazwisko będzie podświetlone na niebiesko (najechanie pokazuje wizytówkę z linkiem do profilu). `@all` powiadamia wszystkich w rozmowie.
- **Emoji** - przycisk 🙂 przy polu wiadomości albo skróty w stylu `:tada:` → 🎉, `:+1:` → 👍.
- **Reakcje** - najedź na wiadomość i kliknij 🙂, żeby dodać reakcję emoji.
- Własne wiadomości możesz **edytować** (✎) i **usuwać** (✕) - najedź na wiadomość.
- Gdy ktoś pisze, zobaczysz pasek "pisze..." nad polem wiadomości.
- **Zrzuty ekranu i pliki** - zrób screenshot do schowka i po prostu wklej go w pole wiadomości (Ctrl+V / Cmd+V) - pojawi się jako miniaturka do wysłania. Pliki z dysku dodasz przyciskiem 📎. Obrazki widać od razu w rozmowie, pozostałe pliki jako linki do pobrania.

## Powiadomienia

O nowych wiadomościach informuje dzwonek w górnym pasku. Powiadomienia włączysz w swoich ustawieniach powiadomień (opcja "Nowa wiadomość na czacie firmowym"). W każdej rozmowie możesz też ustawić, czy chcesz powiadomienia o wszystkich wiadomościach, tylko o wzmiankach, czy wyciszyć rozmowę.

## Dla administratora

Administrator konta ma podgląd wszystkich rozmów i wiadomości pod **/chat/rooms** i **/chat/messages** (wyszukiwarka, moderacja - usuwanie wiadomości i pokoi). Moduł Chat włączysz w ustawieniach modułów konta.

---

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

# Chat - API

Moduł `chat` musi być aktywny na koncie, token z uprawnieniem **chat**.

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

## Endpointy

| Metoda | Ścieżka | Opis |
|--------|---------|------|
| GET | `/chat.json` | Pokoje zalogowanego użytkownika |
| GET | `/chat/rooms.json` | Wszystkie pokoje konta (admin; `q`, `kind`) |
| POST | `/chat/rooms.json` | Utworzenie/znalezienie pokoju |
| PATCH | `/chat/rooms/:id.json` | Zmiana nazwy (owner/admin) |
| DELETE | `/chat/rooms/:id.json` | Usunięcie pokoju (owner/admin) |
| GET | `/chat/rooms/:id/members.json` | Członkowie pokoju |
| POST | `/chat/rooms/:id/add_member.json?user_id=X` | Dodanie osoby |
| POST | `/chat/rooms/:id/remove_member.json?user_id=X` | Usunięcie osoby (owner/admin) |
| POST | `/chat/rooms/:id/join.json` | Dołączenie (kanały) |
| POST | `/chat/rooms/:id/leave.json` | Opuszczenie (rozmowy 1:1 nie da się opuścić) |
| POST | `/chat/rooms/:id/mark_read.json` | Oznaczenie jako przeczytane |
| GET | `/chat/rooms/:id/messages.json` | Historia (od najnowszych; paginacja `before_id`) |
| POST | `/chat/rooms/:id/messages.json` | Wysłanie wiadomości |
| GET | `/chat/messages.json` | Wszystkie wiadomości (admin; `q`, `kind`, `room_id`) |
| PATCH | `/chat/messages/:id.json` | Edycja własnej wiadomości |
| DELETE | `/chat/messages/:id.json` | Usunięcie (autor/admin) |
| POST | `/chat/messages/:id/toggle_reaction.json?emoji=👍` | Reakcja emoji |

Id pokoi i wiadomości to uuid (string).

## Tworzenie pokoi

Rozmowa 1:1 (find-or-create per para):

```json
{ "chat_room": { "kind": "dm", "user_id": 5 } }
```

Kanał:

```json
{ "chat_room": { "kind": "group", "name": "Ogólny", "user_ids": [5, 7] } }
```

Rozmowa w kontekście obiektu (jeden pokój per obiekt; `subject_type`: `Organize::Task`, `Organize::Project`, `Organize::Team`, `Mail::Email`, `Helpdesk::Ticket`, `Crm::Client`):

```json
{ "chat_room": { "kind": "subject", "subject_type": "Organize::Task", "subject_id": 123 } }
```

## Wysłanie wiadomości

```json
{ "chat_message": { "content": "Treść (markdown)", "parent_id": null } }
```

Wzmianka to token z ID: `@[Imię Nazwisko](user:5)` - użytkownik 5 dostanie powiadomienie, jeśli jest członkiem pokoju. `@all` / `@here` powiadamia wszystkich członków.

---

## Powiązane

- [Czat w kontekście zadań, projektów i klientów](https://intum.pl/pomoc/chat/czat-w-kontekscie-zadan-projektow-i-klientow.md)
