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

# [Klienci](https://intum.pl/pomoc/crm/klienci.md) | [API](#api)

Klient to główny profil w bazie CRM. Reprezentuje firmę, instytucję lub organizację, z którą współpracujesz - to na nim trzymasz dane rejestrowe (pełna nazwa, NIP, adres) i to wokół niego gromadzi się cała historia współpracy.

### Do czego służy karta Klienta

- gromadzi ogólne dane firmy: nazwę, NIP, adres główny
- zbiera **całościową historię** wszystkich działań - interesów, transakcji oraz zgłoszeń e-mail i helpdesk od wszystkich pracowników tej firmy
- pozwala przypisać firmę do działu w Twojej organizacji i do opiekuna

Dzięki temu, nawet gdy po stronie klienta zmieniają się osoby, historia ustaleń i transakcji z firmą zostaje w jednym miejscu.

### A czym jest Kontakt?

Kontakt to konkretna osoba (pracownik, menedżer, dyrektor), przypisana do profilu danego Klienta. Na kontakcie trzymasz dane bezpośrednie: imię i nazwisko, służbowy e-mail, bezpośredni numer telefonu, stanowisko.

Relacja jest typu **1 do wielu** - pod jednego Klienta (np. *Firma XYZ*) możesz podpiąć tylu pracowników, z iloma realnie utrzymujesz kontakt (np. Panią Kasię z księgowości, Pana Tomasza z działu IT oraz Pana Janusza, który jest prezesem).

### Czym się różnią

- **Klient** = firma jako całość: dane rejestrowe i zbiorcza historia współpracy
- **Kontakt** = pojedyncza osoba w tej firmie: dane bezpośrednie do człowieka

Kiedy pisze do Ciebie Pan Adam z działu zaopatrzenia firmy *X*, system wie, że Kontaktem jest *Adam Nowak*, ale całą rozmowę zapisze również na zbiorczej karcie Klienta *X*.

### Ważna zasada: dziedziczenie działów

**Jeśli przypiszesz Klienta do konkretnego działu w swojej firmie, każdy jego Kontakt automatycznie dziedziczy ten dział.**

Osoba kontaktowa nie może mieć innego działu niż firma macierzysta, pod którą podlega. To zabezpieczenie, które gwarantuje spójność uprawnień i porządek w przypisywaniu spraw wewnątrz Twojego zespołu.
<h3>Film — jak dodać klienta</h3>
<p><iframe src="https://s3.eu-west-1.amazonaws.com/attachments.intum.net/public-files/2/65980b96d5b8c59dccf8ea428b0ef5fa841018a8?v=https%3A%2F%2Fs3.eu-west-1.amazonaws.com%2Fattachments.intum.net%2Fpublic-files%2F2%2F26eea6ec24213586e39bd68f113b4f017ef21582&amp;poster=https%3A%2F%2Fs3.eu-west-1.amazonaws.com%2Fattachments.intum.net%2Fpublic-files%2F2%2F42cb8bd9e819ccfa7d6d11818bb67cf983f2b88f&amp;start=0" style="width:100%;max-width:720px;aspect-ratio:16/9;height:auto;display:block;margin:0 auto;border:0" loading="lazy" frameborder="0" allowfullscreen></iframe></p>

---

## 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 | `/crm/clients.json` | Lista klientów |
| GET | `/crm/clients/:id.json` | Pojedynczy klient |
| POST | `/crm/clients.json` | Utworzenie klienta |
| PATCH | `/crm/clients/:id.json` | Aktualizacja klienta |
| DELETE | `/crm/clients/:id.json` | Usunięcie klienta |
| POST | `/crm/clients/upsert.json` | Utwórz lub zaktualizuj (po external_id) |
| GET | `/crm/clients/autocomplete.json` | Wyszukiwanie (autocomplete) |
| POST | `/crm/clients/:id/change_bulk_option` | Zmiana statusu |
| POST | `/crm/clients/merge_clients` | Scalenie klientów |
| GET | `/crm/clients/e/:external_id.json` | Pobranie po external_id |

**Autoryzacja:** `Authorization: Bearer TOKEN` (uprawnienie: **crm**)

## Pola client

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | tak | Nazwa klienta |
| `first_name` | string | nie | Imię |
| `last_name` | string | nie | Nazwisko |
| `kind` | string | nie | `buyer` lub `supplier` |
| `company` | boolean | nie | Czy firma |
| `email` | string | nie | E-mail |
| `phone` | string | nie | Telefon |
| `mobile_phone` | string | nie | Telefon komórkowy |
| `tax_no` | string | nie | NIP (unikalny per konto) |
| `register_number` | string | nie | REGON |
| `street` | string | nie | Ulica |
| `post_code` | string | nie | Kod pocztowy |
| `city` | string | nie | Miasto |
| `country` | string | nie | Kod kraju |
| `www` | string | nie | Strona internetowa |
| `domain` | string | nie | Domena firmy |
| `description` | text | nie | Opis |
| `note` | text | nie | Notatka |
| `status_id` | integer | nie | ID statusu |
| `responsible_id` | integer | nie | ID odpowiedzialnego |
| `department_id` | integer | nie | ID działu |
| `project_id` | integer | nie | ID projektu |
| `category_id` | integer | nie | ID kategorii |
| `external_id` | string | nie | Zewnętrzne ID (unikalne per konto) |
| `score` | decimal | nie | Scoring klienta |
| `origin` | string | nie | Źródło pozyskania |
| `archive` | boolean | nie | Archiwizacja |
| `tags` | array | nie | Tagi `["vip", "premium"]` |
| `fields` | object | nie | Własne pola (JSONB) |

## Filtrowanie (GET /crm/clients.json)

| Parametr | Opis |
|----------|------|
| `q` | Wyszukiwanie pełnotekstowe |
| `status_id` | Filtruj po statusie |
| `responsible_id` | Filtruj po odpowiedzialnym |
| `department_id` | Filtruj po dziale |
| `project_id` | Filtruj po projekcie |
| `tag_ids` | Filtruj po tagach |
| `archive` | `true` = zarchiwizowani |

## Upsert (utwórz lub zaktualizuj)

```json
{
  "api_token": "TOKEN",
  "client": {
    "external_id": "CRM-123",
    "name": "Firma ABC",
    "email": "kontakt@firma.pl"
  }
}
```

Jeśli klient z `external_id: "CRM-123"` istnieje — zostanie zaktualizowany. Jeśli nie — utworzony.

## Przykład utworzenia

```json
{
  "api_token": "TOKEN",
  "client": {
    "name": "Firma ABC",
    "kind": "buyer",
    "email": "kontakt@firma.pl",
    "phone": "+48123456789",
    "tax_no": "PL1234567890",
    "city": "Warszawa",
    "status_id": 1
  }
}
```

---

## Powiązane

- [Automatyczna synchronizacja danych klientów pomiędzy własną aplikacją a Intum CRM](https://intum.pl/pomoc/crm/automatyczna-synchronizacja-danych-klientow.md)
- [Import klientów i kontaktów z pliku (CSV / TSV / XLSX)](https://intum.pl/pomoc/import-klientow-i-kontaktow-z-pliku-csv-tsv-xlsx.md)
- [Tygodniowy przegląd nowości: Sprawdź najnowsze funkcje](https://intum.pl/pomoc/nowosci/tygodniowy-przeglad-nowosci-sprawdz-najnowsze-funkcje.md)
- [Import klientów z Fakturowni](https://intum.pl/pomoc/crm/import-klientow-z-fakturowni.md)
