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)
{
"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
{
"api_token": "TOKEN",
"client": {
"name": "Firma ABC",
"kind": "buyer",
"email": "kontakt@firma.pl",
"phone": "+48123456789",
"tax_no": "PL1234567890",
"city": "Warszawa",
"status_id": 1
}
}