Użytkownicy 1. Pobranie listy istniejących użytkowników Metoda pozwala na pobranie listy utworzonych użytkowników. Metoda: GETAdres 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: {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 { "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: POSTAdres 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 { "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 { "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: PATCHAdres 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 { "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 { "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: PATCHAdres 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 { "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 { "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: DELETEAdres 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 { "success":true, "data":"OK", "otherData":{ "totalCount":1 }, "message":"OK" }