[Intum](https://intum.fr/aide.md) / [Baza Wiedzy](https://intum.fr/aide/baza-wiedzy.md)

# [Kategorie](https://intum.fr/aide/baza-wiedzy/kategorie-kb.md) | [API](#api)

## Kategorie bazy wiedzy

Kategorie pozwalają organizować [wpisy](wpisy-do-bazy-wiedzy) w logiczne grupy. W publicznym widoku [bazy wiedzy](baza-wiedzy) kategorie wyświetlane są w nawigacji bocznej.

## Struktura drzewiasta

Kategorie mogą być zagnieżdżone — kategoria główna może mieć podkategorie (jeden poziom głębokości). Dzięki temu treść jest lepiej zorganizowana.

## Właściwości kategorii

- **Nazwa** — wyświetlana w nawigacji
- **Opis** — dodatkowy tekst
- **URL** — slug (unikalny w ramach bazy)
- **Priorytet** — kolejność wyświetlania (zmieniany strzałkami góra/dół)
- **Prywatna** — widoczna tylko dla zalogowanych z uprawnieniami
- **Baza wiedzy** — do której bazy należy
- **Kategoria nadrzędna** — opcjonalna (dla podkategorii)
- **Zdjęcie** — opcjonalny obrazek kategorii

## Kolejność wpisów

W kategorii można ustawić domyślną kolejność wyświetlania wpisów — np. po priorytecie, dacie utworzenia, tytule. Jeśli nie ustawiona, używana jest kolejność z ustawień bazy wiedzy.

## Prywatność

Kategoria prywatna jest widoczna tylko dla użytkowników z uprawnieniami. Podkategorie kategorii prywatnej dziedziczą prywatność.

## Dokumentacja API

Kategoria może mieć pole `content_api` — dokumentację techniczną wyświetlaną w kontekście API.

---

## 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 | `/kb/categories.json` | Lista kategorii |
| GET | `/kb/categories/:id.json` | Pojedyncza kategoria |
| POST | `/kb/categories.json` | Utworzenie kategorii |
| PATCH | `/kb/categories/:id.json` | Aktualizacja kategorii |
| DELETE | `/kb/categories/:id.json` | Usunięcie kategorii |
| POST | `/kb/categories/:id/up` | Przesuń w górę |
| POST | `/kb/categories/:id/down` | Przesuń w dół |
| GET | `/kb/categories/get_categories_by_kb.json` | Kategorie główne danej bazy |

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

## Pola category

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | tak | Nazwa kategorii |
| `description` | string | nie | Opis |
| `url` | string | nie | Slug URL (unikalny per baza) |
| `knowledge_base_id` | integer | tak | ID bazy wiedzy |
| `category_id` | integer | nie | ID kategorii nadrzędnej |
| `priority` | integer | nie | Priorytet (domyślnie `1`) |
| `private` | boolean | nie | Czy prywatna |
| `content_api` | string | nie | Dokumentacja API (Markdown) |
| `fields` | object | nie | Własne pola (JSONB) |

## Przykład utworzenia

```json
{
  "api_token": "TOKEN",
  "category": {
    "name": "Pierwsze kroki",
    "knowledge_base_id": 1,
    "priority": 10
  }
}
```

## Odpowiedź

```json
{
  "id": 5,
  "name": "Pierwsze kroki",
  "kind": "knowledge_base",
  "priority": 10,
  "private": false,
  "url": "pierwsze-kroki",
  "knowledge_base_id": 1,
  "category_id": null
}
```