[Intum](https://intum.fr/aide.md) / [CRM](https://intum.fr/aide/crm.md)

# [Kontakty](https://intum.fr/aide/crm/kontakty.md) | [API](#api)

## Kontakty CRM

Kontakt to osoba powiązana z [klientem](klienci) — np. pracownik firmy, opiekun projektu, osoba kontaktowa. Jeden klient może mieć wiele kontaktów.

## Dane kontaktu

- Imię i nazwisko
- Stanowisko
- E-mail, telefon, telefon komórkowy
- Adres (ulica, kod pocztowy, miasto, kraj)
- Strona internetowa
- Opis i notatki

## Powiązanie z klientem

Kontakt jest przypisany do klienta. Jeden z kontaktów może być oznaczony jako **główny kontakt** klienta — jest wtedy wyświetlany na karcie klienta.

Jeśli kontakt nie ma wypełnionego adresu, system używa adresu klienta.

## Rodzaje kontaktów

- **Nabywca (buyer)** — kontakt po stronie kupującego
- **Dostawca (supplier)** — kontakt po stronie dostawcy

## Powiązania

Z poziomu kontaktu widać:

- E-maile wysłane/odebrane na adres kontaktu
- Połączenia VoIP
- [Interesy](interesy) powiązane z kontaktem
- [Notatki](notatki)
- Rozmowy czatowe
- Dokumenty

## Łączenie kontaktów

Gdy w ramach klienta powstały duplikaty kontaktów — można je scalić. System rozpoznaje duplikaty po e-mailu i numerze telefonu.

## Zewnętrzne ID

Kontakt może mieć `external_id` do synchronizacji z zewnętrznymi systemami.

## Wyszukiwanie

Kontakty można wyszukiwać po imieniu, nazwisku, e-mailu, firmie i opisie. Wyszukiwarka obsługuje dopasowanie od początku słowa.

---

## 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/contacts.json` | Lista kontaktów |
| GET | `/crm/contacts/:id.json` | Pojedynczy kontakt |
| POST | `/crm/contacts.json` | Utworzenie kontaktu |
| PATCH | `/crm/contacts/:id.json` | Aktualizacja kontaktu |
| DELETE | `/crm/contacts/:id.json` | Usunięcie kontaktu |
| GET | `/crm/contacts/search.json` | Wyszukiwanie |

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

## Pola contact

| Pole | Typ | Wymagane | Opis |
|------|-----|----------|------|
| `name` | string | nie | Pełna nazwa |
| `first_name` | string | nie | Imię |
| `last_name` | string | nie | Nazwisko |
| `position` | string | nie | Stanowisko |
| `email` | string | nie | E-mail |
| `phone` | string | nie | Telefon |
| `mobile_phone` | string | nie | Telefon komórkowy |
| `kind` | string | tak | `buyer` lub `supplier` |
| `client_id` | integer | nie | ID klienta |
| `status_id` | integer | nie | ID statusu |
| `responsible_id` | integer | nie | ID odpowiedzialnego |
| `department_id` | integer | nie | ID działu |
| `category_id` | integer | nie | ID kategorii |
| `external_id` | string | nie | Zewnętrzne ID |
| `street` | string | nie | Ulica |
| `post_code` | string | nie | Kod pocztowy |
| `city` | string | nie | Miasto |
| `country` | string | nie | Kod kraju |
| `www` | string | nie | Strona internetowa |
| `description` | text | nie | Opis |
| `note` | text | nie | Notatka |
| `fields` | object | nie | Własne pola (JSONB) |

## Filtrowanie

| Parametr | Opis |
|----------|------|
| `q` | Wyszukiwanie pełnotekstowe |
| `client_id` | Filtruj po kliencie |
| `extracted_email` | Szukaj po e-mailu |
| `status_id` | Filtruj po statusie |

## Przykład utworzenia

```json
{
  "api_token": "TOKEN",
  "contact": {
    "first_name": "Jan",
    "last_name": "Kowalski",
    "email": "jan@firma.pl",
    "phone": "+48123456789",
    "position": "Kierownik IT",
    "kind": "buyer",
    "client_id": 123
  }
}
```