# Użytkownicy #### 1. Pobranie listy istniejących użytkowników Metoda pozwala na pobranie listy utworzonych użytkowników.

Metoda: **GET** Adres URL: **{twoja\_nazwa}.ccrm.pl/publicApi/users**

Metoda stosuje stronicowanie powyżej 1000 rekordów. API zwróci zawsze maksymalnie 1000 rekordów, a o resztę należy zapytać dodając do adresu page={numer\_strony}. Przykładowo, dla sytuacji gdzie jest więcej niż 1000 rekordów stosujemy: ```JSON {twoja_nazwa}.ccrm.pl/publicApi/users?page=2 ``` **Struktura żądania**
**Właściwość** **Wartość** **Opis**
success bool
data array
data.uuid uuid Wartość identyfikująca rekord.
data.firstName string Imię.
data.lastName string Nazwisko.
data.email null | Email Adres e-mail.
data.avatar null | string Nazwa pliku z avatarem.
data.permission array Grupa uprawnień.
data.permission.uuid uuid Unikalny identyfikator grupy uprawnień.
data.permission.name string Nazwa grupy uprawnień.
data.smsPresentation array Lista prezentacji SMS.
data.smsPresentation.presentation string Właściwa prezentacja pola nadawcy.
data.smsPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation array Lista prezentacja dla celów połączeń.
data.callPresentation.presentation string Właściwa prezentacja dla połączeń.
data.callPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation.name string Nazwa numeru.
data.callPresentation.clipPrefix null | string Prefiks dopisany do numeru.
extensionId null | int Unikalny identyfikator przypisanego konta SIP.
extension null | int Numer konta SIP.
dynamicExtension int | in:0,1 Wskazanie, czy użytkownik korzysta ze statycznego czy dynamicznego wyboru konta SIP.
dnd int | in:0,1 Informacja, czy użytkownik posiada włączone DND.
workNumber null | string Numer służbowy.
status string in: online, offline Informacja o statusie użytkownika.
callTalking int | in: 0,1 Informacja czy użytkownik aktualnie prowadzi rozmowę.
groupMain object Główna grupa użytkowników, do jakiej przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
groups array Lista grup do których przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
otherData.totalCount int Ilość użytkowników.
message string
**Tabela uzupełniająca: groups**
**Właściwość** **Wartość** **Opis**
uuid uuid Wartość identyfikująca rekord.
name string Nazwa grupy.
typeUuid uuid Wartość identyfikująca typ grupy (grupę nadrzędną).
type string Typ grupy (nazwa grupy nadrzędnej).
Przykład odpowiedzi```JSON { "success":true, "data":[ { "uuid":"f6e4999b-6292-45ab-bb02-20b2e9284280", "firstName":"Anna", "lastName":"Zaradna", "email":"azaradna@firma.pl", "avatar":"", "permission":{ "uuid":"e167c85c-9e8e-4dcd-bfff-fde2c963ecfa", "name":"Standardowa", }, "smsPresentation":[ { "presentation":"LOSOWY NUMER", "uuid":"7c2177f8-e47b-4fc5-8270-bd259ff8e4df" } ], "callPresentation":[ { "presentation":"ANONIMOWY", "uuid":"9b171bcd-b54d-4794-bf70-6386bae2d577", "name":null, "clipPrefix":null } ], "extensionId":null, "extension":null, "dynamicExtension":1, "dnd":null, "workNumber":"+48 777 888 999", "status":"offline", "callTalking":0, "groupMain":{ "uuid":"42fae84d-202c-48b4-b902-e8015607240c", "name":"Specjalista obsługi klienta", "typeuuid":"2526b503-01bb-43c8-8e65-8b1bfc2e7ee5", "type":"Stanowisko" }, "groups":[ { "uuid":"42fae84d-202c-48b4-b902-e8015607240c", "name":"Specjalista obsługi klienta", "typeuuid":"2526b503-01bb-43c8-8e65-8b1bfc2e7ee5", "type":"Stanowisko" }, ] }, ], "otherData":{ "totalCount":18 }, "message":"OK" } ```
#### 2. Stworzenie nowego użytkownika Metoda pozwala na edycję wcześniej utworzonego użytkownika.

Metoda: **POST** Adres URL: **{twoja\_nazwa}.ccrm.pl/publicApi/users**

**Struktura żądania**
**Właściwość** **Wartość** **Opis** **Wymagane**
email email Adres e-mail. TAK
password string Hasło użytkownika. TAK
firstName string Imię. TAK
lastName string Nazwisko. TAK
extensionId int Unikalny identyfikator przypisanego konta SIP. TAK, jeżeli dynamicExtension = 0
permission uuid Uuid grupy uprawnień. TAK
workNumber phone Numer telefonu.
dynamicExtension int | in:0,1 Flaga oznaczająca, czy konto użytkownika będzie wykorzystywać dynamicznie przypisywane konta SIP. TAK
dynamicExtensionIds array Lista dozwolonych identyfikatorów kont SIP. TAK, jeżeli dynamicExtension = 1
smsPresentation array Lista prezentacji SMS.
callPresentation array Lista prezentacji numerem dla celów połączeń.
callPresentation.presentation string Właściwa prezentacja.
callPresentation.name string Nazwa numeru.
callPresentation.clipPrefix string Prefiks dopisany do numeru.
callPresentation.intlFormat string Międzynarodowy format numeru.
groups array Lista grup użytkowników. TAK
groups.\* uuid Uuid grupy użytkowników.
message string
Przykład żądania```JSON { "email":"jkowalski5@firma.pl", "password":"Hasło123!", "firstName":"Jan", "lastName":"Kowalski", "extensionId":34819, "permission":"482a11cb-0226-4616-ac89-3ac49f290ace", "workNumber":"48333666999", "dynamicExtension":0, "dynamicExtensionIds":{ }, "smsPresentation":[ "LOSOWY NUMER", 48777888999 ], "callPresentation":[ { "presentation":"ANONIMOWY" }, { "presentation":48777888999, "name":"", "clipPrefix":null, "intlFormat":"+48 777 888 999" } ], „groups”:[ 518d257c-a87e-44e4-80f9-5b15ec4da85a", "7b880d97-3caf-4cae-867a-c95901309585" ] } ```
--- **Struktura odpowiedzi**
**Właściwość** **Wartość** **Opis**
success bool
data array
data.uuid uuid Wartość identyfikująca rekord.
data.firstName string Imię.
data.lastName string Nazwisko.
data.email null | Email Adres e-mail.
data.avatar null | string Nazwa pliku z avatarem.
data.permission array Grupa uprawnień.
data.permission.uuid uuid Unikalny identyfikator grupy uprawnień.
data.permission.name string Nazwa grupy uprawnień.
data.smsPresentation array Lista prezentacji SMS.
data.smsPresentation.presentation string Właściwa prezentacja pola nadawcy.
data.smsPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation array Lista prezentacja dla celów połączeń.
data.callPresentation.presentation string Właściwa prezentacja dla połączeń.
data.callPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation.name string Nazwa numeru.
data.callPresentation.clipPrefix null | string Prefiks dopisany do numeru.
extensionId null | int Unikalny identyfikator przypisanego konta SIP.
extension null | int Numer konta SIP.
dynamicExtension int | in:0,1 Wskazanie, czy użytkownik korzysta ze statycznego czy dynamicznego wyboru konta SIP.
dnd int | in:0,1 Informacja, czy użytkownik posiada włączone DND.
workNumber null | string Numer służbowy.
status string in: online, offline Informacja o statusie użytkownika.
callTalking int | in: 0,1 Informacja czy użytkownik prowadzi rozmowę.
groupMain object Główna grupa użytkowników, do jakiej przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
groups array Lista grup do których przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
otherData object
message string
**Tabela uzupełniająca: groups**
**Właściwość** **Wartość** **Opis**
uuid uuid Wartość identyfikująca rekord.
name string Nazwa grupy.
typeUuid uuid Wartość identyfikująca typ grupy (grupę nadrzędną).
type string Typ grupy (nazwa grupy nadrzędnej).
Przykład odpowiedzi```JSON { "success":true, "data":{ "uuid":"d16bf172-734c-4c67-8f27-9301f7623c43", "firstName":"Jan", "lastName":"Kowalski", "email":"jkowalski@firma.pl", "avatar":null, "permission":{ "uuid":"482a11cb-0226-4616-ac89-3ac49f290ace", "name":"Administrator", "permanent":0 }, "permanent":0, "active":1, "extensionId":34819, "extension":30, "dynamicExtension":0, "dnd":null, "workNumber":"+48 777 888 999", "status":null, "callTalking":0, "groupMain":{ "uuid":"7b880d97-3caf-4cae-867a-c95901309585", "name":"Administrator", "typeuuid":"33ceacf9-89be-4f75-89a2-0596031f2032", "type":"Stanowisko" }, "groups":[ { "uuid":"7b880d97-3caf-4cae-867a-c95901309585", "name":"Administrator", "typeuuid":"33ceacf9-89be-4f75-89a2-0596031f2032", "type":"Stanowisko" }, { "uuid":"518d257c-a87e-44e4-80f9-5b15ec4da85a", "name":"Podgrupa 1", "typeuuid":"9582f65b-0a05-43bf-998d-7ebc70037af2", "type":"Druga grupa" } ] }, "otherData":{ }, "message":"OK" } ```
#### 3. Edycja użytkownika Metoda pozwala na edycję wcześniej utworzonego użytkownika.

Metoda: **PATCH** Adres URL: **{twoja\_nazwa}.ccrm.pl/publicApi/users/{uuid}**

**Struktura żądania**
**Właściwość** **Wartość** **Opis** **Wymagane**
email email Adres e-mail. TAK
password string Hasło użytkownika. TAK
firstName string Imię. TAK
lastName string Nazwisko. TAK
extensionId int Unikalny identyfikator przypisanego konta SIP. TAK, jeżeli dynamicExtension = 0
permission uuid Uuid grupy uprawnień. TAK
workNumber phone Numer telefonu.
dynamicExtension int | in:0,1 Flaga oznaczająca, czy konto użytkownika będzie wykorzystywać dynamicznie przypisywane konta SIP. TAK
dynamicExtensionIds array Lista dozwolonych identyfikatorów kont SIP. TAK, jeżeli dynamicExtension = 1
smsPresentation array Lista prezentacji SMS.
callPresentation array Lista prezentacji numerem dla celów połączeń.
callPresentation.presentation string Właściwa prezentacja.
callPresentation.name string Nazwa numeru.
callPresentation.clipPrefix string Prefiks dopisany do numeru.
callPresentation.intlFormat string Międzynarodowy format numeru.
groups array Lista grup użytkowników. TAK
groups.\* uuid Uuid grupy użytkowników.
message string
Przykład żądania```JSON { "email":"jkowalski@firma.pl", "password":"Hasło123!", "passwordConfirmation":" Hasło123!", "firstName":"Jan", "lastName":"Kowalski", "extensionId":null, "permission":"e167c85c-9e8e-4dcd-bfff-fde2c963ecfa", "workNumber":"", "dynamicExtension":1, "dynamicExtensionIds":[ 13420, 13495 ], "smsPresentation":[ "LOSOWY NUMER" ], "callPresentation":[ { "presentation":"ANONIMOWY" } ], "groups":{ "639a997c-5f8d-4966-a5c4-e6d0cbc3d769":"94971867-82e1-45d8-a656-bf4b0e4d226e", "1585e46c-f433-4cef-a02b-a763a404eaed":"", "b67d124f-403b-4cf6-8297-6a26417c385a":"", "2526b503-01bb-43c8-8e65-8b1bfc2e7ee5":"42fae84d-202c-48b4-b902-e8015607240c", "7861298f-e8f2-4df5-9c67-858e9510bbdf":"b891d6c4-06da-40a4-8b4e-b0a2cc1cec22" } } ```
--- **Struktura odpowiedzi**
**Właściwość** **Wartość** **Opis**
success bool
data array
data.uuid uuid Wartość identyfikująca rekord.
data.firstName string Imię.
data.lastName string Nazwisko.
data.email null | Email Adres e-mail.
data.avatar null | string Nazwa pliku z avatarem.
data.permission array Grupa uprawnień.
data.permission.uuid uuid Unikalny identyfikator grupy uprawnień.
data.permission.name string Nazwa grupy uprawnień.
data.smsPresentation array Lista prezentacji SMS.
data.smsPresentation.presentation string Właściwa prezentacja pola nadawcy.
data.smsPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation array Lista prezentacja dla celów połączeń.
data.callPresentation.presentation string Właściwa prezentacja dla połączeń.
data.callPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation.name string Nazwa numeru.
data.callPresentation.clipPrefix null | string Prefiks dopisany do numeru.
extensionId null | int Unikalny identyfikator przypisanego konta SIP.
extension null | int Numer konta SIP.
dynamicExtension int | in:0,1 Wskazanie, czy użytkownik korzysta ze statycznego czy dynamicznego wyboru konta SIP.
dnd int | in:0,1 Informacja, czy użytkownik posiada włączone DND.
workNumber null | string Numer służbowy.
status string in: online, offline Informacja o statusie użytkownika.
callTalking int | in: 0,1 Informacja czy użytkownik prowadzi rozmowę.
groupMain object Główna grupa użytkowników, do jakiej przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
groups array Lista grup do których przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
otherData object
message string
**Tabela uzupełniająca: groups**
**Właściwość** **Wartość** **Opis**
uuid uuid Wartość identyfikująca rekord.
name string Nazwa grupy.
typeUuid uuid Wartość identyfikująca typ grupy (grupę nadrzędną).
type string Typ grupy (nazwa grupy nadrzędnej).
Przykład odpowiedzi```JSON { "success":true, "data":{ "uuid":"d16bf172-734c-4c67-8f27-9301f7623c43", "firstName":"Jan", "lastName":"Kowalski", "email":"jkowalski@firma.pl", "avatar":null, "permission":{ "uuid":"482a11cb-0226-4616-ac89-3ac49f290ace", "name":"Administrator", "permanent":0 }, "permanent":0, "active":1, "extensionId":34819, "extension":30, "dynamicExtension":0, "dnd":null, "workNumber":"+48 777 888 999", "status":null, "callTalking":0, "groupMain":{ "uuid":"7b880d97-3caf-4cae-867a-c95901309585", "name":"Administrator", "typeuuid":"33ceacf9-89be-4f75-89a2-0596031f2032", "type":"Stanowisko" }, "groups":[ { "uuid":"7b880d97-3caf-4cae-867a-c95901309585", "name":"Administrator", "typeuuid":"33ceacf9-89be-4f75-89a2-0596031f2032", "type":"Stanowisko" }, { "uuid":"518d257c-a87e-44e4-80f9-5b15ec4da85a", "name":"Podgrupa 1", "typeuuid":"9582f65b-0a05-43bf-998d-7ebc70037af2", "type":"Druga grupa" } ] }, "otherData":{ }, "message":"OK" } ```
#### #### 4. Zablokowanie użytkownika Metoda pozwala na zablokowanie utworzonego wcześniej użytkownika, uniemożliwiając mu dostęp (logowanie) do CRM. Blokada użytkownika odbywa się w ten sam sposób jak jego edycja, wysyłamy tylko jedno pole active o wartości 0.

Metoda: **PATCH** Adres URL: **{twoja\_nazwa}.ccrm.pl/publicApi/users/{uuid}**

**Struktura żądania** Wysyłamy wyłącznie active: 0.
**Właściwość** **Wartość** **Opis** **Wymagane**
active 0 TAK
Przykład żądania```JSON { "active":0 } ```
--- **Struktura odpowiedzi**
**Właściwość** **Wartość** **Opis**
success bool
data array
data.uuid uuid Wartość identyfikująca rekord.
data.firstName string Imię.
data.lastName string Nazwisko.
data.email null | Email Adres e-mail.
data.avatar null | string Nazwa pliku z avatarem.
data.permission array Grupa uprawnień.
data.permission.uuid uuid Unikalny identyfikator grupy uprawnień.
data.permission.name string Nazwa grupy uprawnień.
data.smsPresentation array Lista prezentacji SMS.
data.smsPresentation.presentation string Właściwa prezentacja pola nadawcy.
data.smsPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation array Lista prezentacja dla celów połączeń.
data.callPresentation.presentation string Właściwa prezentacja dla połączeń.
data.callPresentation.uuid uuid Wartość identyfikująca rekord.
data.callPresentation.name string Nazwa numeru.
data.callPresentation.clipPrefix null | string Prefiks dopisany do numeru.
extensionId null | int Unikalny identyfikator przypisanego konta SIP.
extension null | int Numer konta SIP.
dynamicExtension int | in:0,1 Wskazanie, czy użytkownik korzysta ze statycznego czy dynamicznego wyboru konta SIP.
dnd int | in:0,1 Informacja, czy użytkownik posiada włączone DND.
workNumber null | string Numer służbowy.
status string in: online, offline Informacja o statusie użytkownika.
callTalking int | in: 0,1 Informacja czy użytkownik prowadzi rozmowę.
groupMain object Główna grupa użytkowników, do jakiej przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
groups array Lista grup do których przypisany jest użytkownik. Szerszy opis w pomocniczej tabeli groups.
otherData object
message string
**Tabela uzupełniająca: groups**
**Właściwość** **Wartość** **Opis**
uuid uuid Wartość identyfikująca rekord.
name string Nazwa grupy.
typeUuid uuid Wartość identyfikująca typ grupy (grupę nadrzędną).
type string Typ grupy (nazwa grupy nadrzędnej).
Przykład odpowiedzi```JSON { "success":true, "data":{ "uuid":"f6b84e79-39df-4854-945d-202c89678f19", "firstName":"Jan", "lastName":"Kowalski", "email":"jkowalski@firma.pl", "avatar":"", "permission":{ "uuid":"e167c85c-9e8e-4dcd-bfff-fde2c963ecfa", "name":"Standardowa", "permanent":0 }, "smsPresentation":[ { "presentation":"LOSOWY NUMER", "uuid":"90fba2c5-70b6-42f8-9942-a43c7ee7dd25" } ], "callPresentation":[ { "presentation":"ANONIMOWY", "uuid":"2b756093-8417-4785-b8f0-89a84a5ff9bf", "name":null, "clipPrefix":null } ], "permanent":0, "active":0, "extensionId":7675, "extension":125, "dynamicExtension":0, "dnd":null, "workNumber":"", "status":null, "callTalking":0, "groupMain":{ "uuid":"edcc29af-9e2a-41b5-acce-74863904d27e", "name":"Sprzedawca", "typeuuid":"2526b503-01bb-43c8-8e65-8b1bfc2e7ee5", "type":"Stanowisko" }, "groups":[ { "uuid":"edcc29af-9e2a-41b5-acce-74863904d27e", "name":"Sprzedawca", "typeuuid":"2526b503-01bb-43c8-8e65-8b1bfc2e7ee5", "type":"Stanowisko" } ] }, "otherData":{ }, "message":"OK" } ```
#### 5. Usunięcie użytkownika Metoda pozwala na całkowite usunięcie wcześniej utworzonego użytkownika.

Metoda: **DELETE** Adres URL: **{twoja\_nazwa}.ccrm.pl/publicApi/users/{uuid}**

**Struktura odpowiedzi**
**Właściwość** **Wartość** **Opis**
success bool
data string
otherData.totalCount int Ilość usuniętych rekordów.
message string
Przykład odpowiedzi```JSON { "success":true, "data":"OK", "otherData":{ "totalCount":1 }, "message":"OK" } ```