Thulium REST API

Agenci

HTTP Zasób Opis
GET agents Zwraca listę agentów.
GET agents/:login Zwraca informacje o agencie.
GET agents/:login/last_queue_connection Zwraca informacje na temat ostatniej rozmowy agenta w kolejce.
GET agents/:login/screenshot/last Zwraca ostatnio wykonany zrzut ekranu agenta (obraz JPEG).
GET agents/:login/status Zwraca status agenta.
GET agents_statuses Zwraca statusy agentów.
POST agents Dodanie agenta.
POST agents/:login/call Zestawia połączenie dla agenta na podany numer.
POST agents/:login/call_preview Dzwoni w kampanii preview.
POST agents/:login/free Odpauzowuje agenta.
POST agents/:login/hangup Rozłącza połączenia agenta.
POST agents/:login/logout Wylogowuje agenta.
POST agents/:login/pause Pauzuje agenta.
POST agents/:login/screenshot Wykonuje zrzut ekranu agenta.
POST agents/:login/stop_recording Zatrzymuje nagrywanie bieżącej rozmowy agenta.

CRM

HTTP Zasób Opis
DELETE companies/:id Usuwanie firmy.
DELETE customers/:id Usuwanie klienta.
GET companies Zwraca listę firm zawężoną o podane kryteria wyszukiwania.
GET companies/:id Zwraca firmę o podanym identyfikatorze firmy.
GET customer_id_by_outbound_status Zwraca listę identyfikatorów klientów zawężoną o aktualny status rekordu w kampanii.
GET customers Zwraca listę klientów zawężonych o podane kryteria wyszukiwania.
GET customers/:id Zwraca klienta o podanym identyfikatorze klienta.
POST companies Dodanie firmy do CRM.
POST customers Dodanie klienta do CRM.
PUT companies/:id Edycja firmy.
PUT customers/:id Edycja klienta.

Kampanie

HTTP Zasób Opis
GET outbounds Zwraca listę wszystkich kampanii.
GET outbounds/:id/agents Zwraca listę wszystkich agentów w danej kampanii.
GET outbounds/:id/statuses Zwraca listę wszystkich statusów w danej kampanii.
POST outbounds Dodaje kampanie.
POST outbounds/:id/add_agents Dodaje listę agentów do kampanii.
POST outbounds/:id/clone Klonuje kampanię.
POST outbounds/:id/remove_agents Usuwa agentów z kampanii.
POST outbounds/:id/set_agents Dodaje i usuwa agentów z kampanii.
PUT outbounds/:id Aktualizuje kampanie.

Kampanie CRM

HTTP Zasób Opis
DELETE crm_outbounds/:id/records Usuwanie rekordów z kampanii CRM.
DELETE crm_outbounds/:id/records/:customer_id Usuwanie rekordu z kampanii CRM.
GET crm_outbounds/:id/records Zwraca listę rekordów w kampanii wraz z podstawowymi parametrami.
GET crm_outbounds/:id/records/:customer_id Zwraca informacje o rekordzie w kampanii zasilanej z CRM.
POST crm_outbounds/:id/add_records Dodanie wielu rekordów do kampanii CRM.
POST crm_outbounds/:id/records Dodanie rekordu do kampanii CRM.
PUT crm_outbounds/:id/records/:customer_id Edycja rekordu z kampanii zasilanej z CRM.

Nieobecności

HTTP Zasób Opis
DELETE absences/:login Usuwanie nieobecności użytkownika.
GET absence_types Zwraca listę typów nieobecności.
GET absences Zwraca listę obecnych i przyszłych nieobecności uzytkownika.
POST absences Dodanie lub aktualizacja nieobecności dla użytkownika.

Pliki tymczasowe

HTTP Zasób Opis
POST temporary_files Tworzy na serwerze tymczasowy plik.

Użytkownicy

HTTP Zasób Opis
GET users/:login Zwraca informacje o użytkowniku (przypisane konta SIP).

Grupy pól specjalnych klienta

HTTP Zasób Opis
GET customer_field_groups Zwraca listę grup pól specjalnych klienta

Autentykacja

Dla metod, które wymagają autentykacji należy dodać odpowiednie nagłówki do requestu HTTP.

Autentykacja odbywa się przez nagłówek Authorize (więcej informacji).

Przykład

Dla użytkownika user i hasła password należy wysłać w nagłówku typ autoryzacji - Basic oraz wartość zakodowaną kodowaniem Base64 w formacie user:password.

Authorization: Basic dXNlcjpwYXNzd29yZAo=

Dane do autoryzacji

Żeby poznać lub zmienić dane do autoryzacji w API, zaloguj się do Panelu i wejdź do zakładki Administracja -> Parametry API.

Kody odpowiedzi

W ramach wysyłanych requestów zwracane są odpowiednie kody HTTP, które określają status wykonanej operacji.

Metoda Kod HTTP Opis
GET 200 Request poprawny, zwrócono dane.
POST 201 Utworzono obiekt.
PUT 204 Zaktualizowano obiekt.
DELETE 204 Request poprawny, brak danych do zwrócenia.
GET/POST/PUT/DELETE 400 Błędny request: wystąpił błąd podczas walidacji danych.
GET/POST/PUT/DELETE 401 Błędny request: autoryzacja nie powiodła się, podano błędnego użytkownika lub hasło.
GET/POST/PUT/DELETE 403 Błędny request: użytkownik nie posiada uprawnień do wywołania metody.
GET/POST/PUT/DELETE 404 Błędny request: nie znaleziono szukanego zasobu (URI lub obiektu o podanym identyfikatorze).
GET/POST/PUT/DELETE 500 Wewnętrzny błąd serwera podczas przetwarzania requestu.

Obsługa błędów

Dla requestów, które kończą się błędami zwracana jest dokładna informacja o błędzie. Informacja ta zawiera opis i kod błędu oraz identyfikator requestu. Może zostać zwrócony więcej niż jeden błąd.

Identyfikator requestu potrzebny jest przy zgłaszaniu błędów do serwisu Thulium.

Przykład

{
   "request_id": "53678450401cf",
   "errors":
    [
        {
            "message": "Wrong format of phone number.",
            "code": 111111
        },
        {
            "message": "Duplicated customer name.",
            "code": 222222
        }
   ]
}

Język

Język odpowiedzi jest domyślnie ustawiony na angielski. Oznacza to, że wszelkie komunikaty o błędach będą zwrócone po angielsku.

Żeby wymusić inny język należy w ramach requestu wysłać nagłówek Accept-Language.

Przykład

Dla języka polskiego należy wysłać nagłówek:

Accept-Language: pl

Wprowadzenie

System Thulium posiada możliwość wysyłania informacji o połączeniach telefonicznych i czatach na podany adres zwrotny (tzw. callback lub webhook).

Aby skonfigurować taki adres należy w Panelu Thulium w zakładce Administracja -> Parametry API, ustawić adres skryptu, który będzie odpowiedzialny za odbieranie danych. Dane przesyłane są do skryptu metodą POST (przez HTTP lub HTTPS). Dodatkowo w zakładce tej można ustawić czy podczas wywołania skryptu mają się wysyłać dane autoryzacyjne (Auth Basic).

Przypisanie agenta do rozmowy

action Akcja rozróżniająca typ żądania Przykładowa wartość: CHAT_AGENT_ASSIGNED
conversation_id Unikalny identyfikator rozmowy Przykładowa wartość: 83a3f676-e831-47d0-bba7-beda6c0bde88
agent_login Login agenta Przykładowa wartość: jkowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
chat_queue_id Identyfikator kolejki Przykładowa wartość: 1

Zakończenie rozmowy

action Akcja rozróżniająca typ żądania Przykładowa wartość: CHAT_CONVERSATION_CLOSED
conversation_id Unikalny identyfikator rozmowy Przykładowa wartość: 83a3f676-e831-47d0-bba7-beda6c0bde88
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
chat_queue_id Identyfikator kolejki Przykładowa wartość: 1

Stworzenie nowej rozmowy

action Akcja rozróżniająca typ żądania Przykładowa wartość: CHAT_CONVERSATION_CREATED
conversation_id Unikalny identyfikator rozmowy Przykładowa wartość: 83a3f676-e831-47d0-bba7-beda6c0bde88
client_name Nazwa klienta Przykładowa wartość: John Smith
client_email E-mail klienta Przykładowa wartość: john.smith@foo.bar
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
chat_queue_id Identyfikator kolejki Przykładowa wartość: 1

Zakończenie połączenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_COMPLETED
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
queue_id Identyfikator kolejki Przykładowa wartość: 155
agent_login Login agenta Przykładowa wartość: jkowalski
source_number Numer dzwoniącego Przykładowa wartość: 523993855
destination_number Numer agenta Przykładowa wartość: 162
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
duration Pełny czas połączenia (w sekundach) Przykładowa wartość: 69
billsec Czas połączenia, za który operator powinien naliczyć opłatę (w sekundach) Przykładowa wartość: 67
filename Plik z nagraniem rozmowy Przykładowa wartość: SOME-QUEUE/2014-11-17/2014-11-17_125932_1416225570.341.wav

Odebranie połączenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_CONNECTED
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
queue_id Identyfikator kolejki Przykładowa wartość: 155
agent_login Login agenta Przykładowa wartość: jkowalski
source_number Numer dzwoniącego Przykładowa wartość: 523993855
destination_number Numer agenta Przykładowa wartość: 162
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Telefon dzwoni u agenta

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_RINGING
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
queue_id Identyfikator kolejki Przykładowa wartość: 155
agent_login Login agenta Przykładowa wartość: jkowalski
source_number Numer dzwoniącego Przykładowa wartość: 523993855
destination_number Numer agenta Przykładowa wartość: 162
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Wejście do kolejki

action Akcja rozróżniająca typ żądania Przykładowa wartość: ENTER_QUEUE
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
queue_id Identyfikator kolejki Przykładowa wartość: 155
source_number Numer dzwoniącego Przykładowa wartość: 523993855
source_name Nazwa dzwoniącego Przykładowa wartość: BOK: Kowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Wyjście z kolejki

action Akcja rozróżniająca typ żądania Przykładowa wartość: EXIT_QUEUE
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
queue_id Identyfikator kolejki Przykładowa wartość: 155
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Połączenie z klientem i zakończenie połączenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: OUTBOUND_COMPLETED
id Pięcioznakowy identyfikator kampanii Przykładowa wartość: 00001
name Nazwa kampanii Przykładowa wartość: Outbound
record_id Identyfikator rekordu Przykładowa wartość: 162
phone_number Numer, na który dzwonimy Przykładowa wartość: 523993855
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
agent_login Login agenta Przykładowa wartość: jkowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
duration Pełny czas połączenia (w sekundach) Przykładowa wartość: 69
billsec Czas połączenia, za który operator powinien naliczyć opłatę (w sekundach) Przykładowa wartość: 67
filename Plik z nagraniem rozmowy Przykładowa wartość: 00001/2017-07-26/2017-07-26_15.32.19-975789022-1501075938.16.wav
Uwagi:
Parametr action może przyjmować wartości:
  • OUTBOUND_CONNECTING - akcja wywołana w momencie rozpoczęcia zestawiania połączenia
  • OUTBOUND_CUSTOMER_CONNECTED - akcja wywołana w momencie odebrania telefonu przez klienta
  • OUTBOUND_COMPLETED - akcja wywołana w momencie zakończenia odebranego połączenia
  • OUTBOUND_DROP - akcja wywołana w momencie spadu rekordu
  • OUTBOUND_BUSY - akcja wywołana w momencie gdy telefon klienta jest zajęty
  • OUTBOUND_FAX - akcja wywołana w momencie gdy telefon odebrał fax
  • OUTBOUND_NO_ANSWER - akcja wywołana w momencie gdy abonent nie odbiera
  • OUTBOUND_WRONG_NUMBER - akcja wywołana w momencie gdy numer jest niepoprawny
  • OUTBOUND_VOICE_MAIL - akcja wywołana w momencie gdy odebrała automatyczna sekretarka
  • OUTBOUND_FAILURE - akcja wywołana w momencie gdy jest niezidentyfikowany problem z połączeniem
  • OUTBOUND_CONNECTION_PROBLEM - akcja wywołana w momencie gdy wystąpił problem z połączeniem po stronie operatora
  • OUTBOUND_BLACKLIST - akcja wywołana w momencie gdy numer znajduje się na czarnej liście
  • PREDICTIVE_AGENT_ANSWER - akcja wywołana w momencie gdy agent odbiera połączenie predictive

Agent zapisał rekord z kampanii

action Akcja rozróżniająca typ żądania Przykładowa wartość: OUTBOUND_RECORD_SAVED
id Pięcioznakowy identyfikator kampanii Przykładowa wartość: 00001
name Nazwa kampanii Przykładowa wartość: Outbound
record_id Identyfikator rekordu Przykładowa wartość: 162
phone_number Numer, na który dzwonimy Przykładowa wartość: 523993855
agent_login Login agenta Przykładowa wartość: jkowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
system_status Status systemowy Przykładowa wartość: MY_RECORD
status_id Identyfikator statusu rekordu w kampanii Przykładowa wartość: 8
record_id Identyfikator rekordu Przykładowa wartość: 162
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
Uwagi:
Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Pokazana została karta kampanii preview

action Akcja rozróżniająca typ żądania Przykładowa wartość: PREVIEW_RECORD
id Pięcioznakowy identyfikator kampanii Przykładowa wartość: 00001
name Nazwa kampanii Przykładowa wartość: Outbound
record_id Identyfikator rekordu Przykładowa wartość: 162
customer_id Identyfikator klienta Przykładowa wartość: 154
phone_number Numer, na który dzwonimy Przykładowa wartość: 523993855
agent_login Login agenta Przykładowa wartość: jkowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Agent zalogował się do Thulium Agenta

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_LOGGED_IN
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
agent_login Login agenta Przykładowa wartość: jkowalski

Agent wylogował się z Thulium Agenta

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_LOGGED_OUT
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
agent_login Login agenta Przykładowa wartość: jkowalski

Agent zmienił status (pauza/wolny)

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_STATUS_CHANGED
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
agent_login Login agenta Przykładowa wartość: jkowalski
pause_id Identyfikator pauzy Przykładowa wartość: 1
previous_pause_id Identyfikator poprzednio ustawionej pauzy Przykładowa wartość: NULL
Uwagi:
pause_id i previous_pause_id przyjmuje wartość NULL kiedy agent jest wolny

Odebranie zgłoszenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: TICKET_MESSAGE_RECEIVED
ticket_id Identyfikator zgłoszenia Przykładowa wartość: 12
message_id Identyfikator wiadomości w zgłoszeniu Przykładowa wartość: 122
ticket_queue_id Identyfikator kolejki zgłoszeń Przykładowa wartość: 4
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę agentów.

URL

https://api.thulium.pl/api/agents

Przykładowy request

GET https://api.thulium.pl/api/agents

Przykładowy response

[
    {
        "agent_id": 1,
        "login": "",
        "name": "Automat",
        "surname": "Automat",
        "active": "",
        "number": "",
        "outbound_mode": "manual"
    },
    {
        "agent_id": 2,
        "login": "janko",
        "name": "Jan",
        "surname": "Kowalski",
        "active": true,
        "number": 559933,
        "outbound_mode": "automatic"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca informacje o agencie.

URL

https://api.thulium.pl/api/agents/:login

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.pl/api/agents/jkowalski

Przykładowy response

{
    "agent_id": 1,
    "login": "jkowalski",
    "name": "Jan",
    "surname": "Kowalski",
    "active": true,
    "number": 559933,
    "outbound_mode": "manual"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents/jkowalski');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents/jkowalski");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents/jkowalski"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/last_queue_connection

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca informacje na temat ostatniej rozmowy agenta w kolejce.

URL

https://api.thulium.pl/api/agents/:login/last_queue_connection

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.pl/api/agents/jkowalski/last_queue_connection

Przykładowy response

{
    "queue": "BOK",
    "started_at": "2014-08-11 08:14",
    "ended_at": "2014-08-11 08:16",
    "phone_number": "444333222",
    "customer_id": 34114,
    "customer_label": "smith"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents/jkowalski/last_queue_connection');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents/jkowalski/last_queue_connection");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents/jkowalski/last_queue_connection"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/screenshot/last

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca ostatnio wykonany zrzut ekranu agenta (obraz JPEG).

URL

https://api.thulium.pl/api/agents/:login/screenshot/last

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.pl/api/agents/jkowalski/screenshot/last

Przykładowy response

Dane binarne obrazu (JPEG)

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents/jkowalski/screenshot/last');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents/jkowalski/screenshot/last");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents/jkowalski/screenshot/last"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/status

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca status agenta.

Możliwe statusy:
  • OFF
  • FREE
  • PAUSED
  • INBOUND_CALL
  • OUTBOUND_CALL
  • OUTBOUND_PREVIEW
  • CALL
  • RINGING

URL

https://api.thulium.pl/api/agents/:login/status

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.pl/api/agents/jkowalski/status

Przykładowy response

{
    "login":"jkowalski",
    "status":"PAUSED",
    "pause_id":1,
    "last_change": "2014-10-24 10:30:44"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents/jkowalski/status');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents/jkowalski/status");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents/jkowalski/status"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET agents_statuses

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca statusy agentów.

Opis statusów znajduje się w agents/:login/status.

URL

https://api.thulium.pl/api/agents_statuses

Parametry

include_logged_off

opcjonalny

Czy zwracać informacje o niezalogowanych agentach. Przykładowa wartość: true

Przykładowy request

GET https://api.thulium.pl/api/agents_statuses

Przykładowy response

[
    {
        "login":"jkowalski",
        "status":"PAUSED",
        "pause_id":1,
        "last_change": "2014-10-24 10:30:44"
    },
    {
        "login":"jjanowski",
        "status":"PAUSED",
        "pause_id":2,
        "last_change": "2014-10-24 10:30:44"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/agents_statuses');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/agents_statuses");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/agents_statuses"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodanie agenta.

URL

https://api.thulium.pl/api/agents

Parametry

name

wymagany

Imię agenta. Przykładowa wartość: Jan
surname

wymagany

Nazwisko agenta. Przykładowa wartość: Kowalski
login

wymagany

Login agenta. Przykładowa wartość: jkowalski
password

wymagany

Hasło do autoryzacji podczas logowania. Przykładowa wartość: somepass123!QAZ
number

wymagany

Numer agenta. Przykładowa wartość: 5634
email

opcjonalny

Adres e-mail agenta. Przykładowa wartość: jkowalski@example.com
change_password

opcjonalny

Wymuszenie zmiany hasła podczas pierwszego logowania.
Domyślna wartość: false Przykładowa wartość: true|false
callerid

opcjonalny

Identyfikator dzwoniącego.
Domyślna wartość: pierwsza litera imienia i nazwisko (J.Kowalski). Przykładowa wartość: J.Kowalski
language

opcjonalny

Język panelu.
Domyślna wartość: pl Przykładowa wartość: pl|en
active

opcjonalny

Ustawienie czy konto jest aktywne.
Domyślna wartość: true Przykładowa wartość: true|false
outbound_mode

opcjonalny

Tryb rozmów wychodzących.
Domyślna wartość: manual Przykładowa wartość: manual|blending|auto

Przykładowy request

POST https://api.thulium.pl/api/agents
Dane {"name":"Jan","surname":"Kowalski","login":"jkowalski","email":"jk@foo.bar","password":"pass","number":"345"}

Przykładowy response

{
    "agent_id": "11"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"name":"Jan","surname":"Kowalski","login":"jkowalski","email":"jk@foo.bar","password":"pass","number":"345"}';

$request curl_init('https://api.thulium.pl/api/agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents", "{\"name\":\"Jan\",\"surname\":\"Kowalski\",\"login\":\"jkowalski\",\"email\":\"jk@foo.bar\",\"password\":\"pass\",\"number\":\"345\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"name":"Jan","surname":"Kowalski","login":"jkowalski","email":"jk@foo.bar","password":"pass","number":"345"}' "https://api.thulium.pl/api/agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/call

Ostatnia modyfikacja 2017-11-24 09:52:35

Zestawia połączenie dla agenta na podany numer. Połączenie będzie raportowane w ramach wskazanej kampanii (aby raportowanie było poprawne kampania musi być kampanią uproszczoną).

Aby wykonywać połączenia należy stworzyć kampanię i przypisać do niej agenta.

Domyślnie używana jest kampania o ID 99999.

URL

https://api.thulium.pl/api/agents/:login/call

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski
phone_number

wymagany

Numer telefonu, na który zostanie zestawione połączenie. Opcjonalny jeśli podano customer_id. Przykładowa wartość: 111222333
outbound_id

opcjonalny

Pięcioznakowy identyfikator kampanii. Domyślnie 99999. Przykładowa wartość: 00001
customer_id

opcjonalny

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 321

Uwagi

Jeśli podany zostanie identyfikator klienta customer_id, pole numeru telefonu phone_number nie jest wymagane. W przypadku podania tylko identyfikatora klienta system zestawi połączenie na główny numer telefonu klienta.
Jeśli zostanie podany identyfikator klienta customer_id i numer telefonu phone_number system sprawdzi czy podany numer telefonu jest przypisany do klienta, jeśli zostanie odnaleziony zestawi połączenie dla podanego klienta na żądany numer.

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/call
Dane {"phone_number":"111222333"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"phone_number":"111222333"}';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/call');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/call", "{\"phone_number\":\"111222333\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"phone_number":"111222333"}' "https://api.thulium.pl/api/agents/jkowalski/call"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/call_preview

Ostatnia modyfikacja 2017-11-24 09:52:35
Dzwoni w kampanii preview.

URL

https://api.thulium.pl/api/agents/:login/call_preview

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/call_preview

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/call_preview');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/call_preview", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/call_preview"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/free

Ostatnia modyfikacja 2017-11-24 09:52:35
Odpauzowuje agenta.

URL

https://api.thulium.pl/api/agents/:login/free

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/free

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/free');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/free", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/free"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/hangup

Ostatnia modyfikacja 2017-11-24 09:52:35
Rozłącza połączenia agenta.

URL

https://api.thulium.pl/api/agents/:login/hangup

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/hangup

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/hangup');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/hangup", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/hangup"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/logout

Ostatnia modyfikacja 2017-11-24 09:52:35
Wylogowuje agenta.

URL

https://api.thulium.pl/api/agents/:login/logout

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/logout

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/logout');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/logout", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/logout"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/pause

Ostatnia modyfikacja 2017-11-24 09:52:35
Pauzuje agenta.

URL

https://api.thulium.pl/api/agents/:login/pause

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski
pause_id

wymagany

Pause identifier. Przykładowa wartość: 1

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/pause
Dane {"pause_id":"1"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"pause_id":"1"}';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/pause');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/pause", "{\"pause_id\":\"1\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"pause_id":"1"}' "https://api.thulium.pl/api/agents/jkowalski/pause"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/screenshot

Ostatnia modyfikacja 2017-11-24 09:52:35
Wykonuje zrzut ekranu agenta.

URL

https://api.thulium.pl/api/agents/:login/screenshot

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/screenshot

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/screenshot');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/screenshot", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/screenshot"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/stop_recording

Ostatnia modyfikacja 2017-11-24 09:52:35
Zatrzymuje nagrywanie bieżącej rozmowy agenta.

URL

https://api.thulium.pl/api/agents/:login/stop_recording

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.pl/api/agents/jkowalski/stop_recording

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/agents/jkowalski/stop_recording');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/agents/jkowalski/stop_recording", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/agents/jkowalski/stop_recording"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE companies/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie firmy. Usuwa firmę i wszystkie jej zależności.

URL

https://api.thulium.pl/api/companies/:id

Parametry

id

wymagany

Identyfikator firmy, która ma być usunięta. Przykładowa wartość: 13

Przykładowy request

DELETE https://api.thulium.pl/api/companies/13

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/companies/13');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/companies/13");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/companies/13"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE customers/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie klienta. Usuwa klienta i wszystkie jego zależności.

URL

https://api.thulium.pl/api/customers/:id

Parametry

id

wymagany

Identyfikator klient, który ma być usunięty. Przykładowa wartość: 13

Przykładowy request

DELETE https://api.thulium.pl/api/customers/13

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/customers/13');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/customers/13");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/customers/13"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET companies

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę firm zawężoną o podane kryteria wyszukiwania.

URL

https://api.thulium.pl/api/companies

Parametry

identifier

opcjonalny

Identyfikator firmy. Jeśli zostanie ustawiony pusty zwróci firmy, które nie mają ustawionego identyfikatora. Przykładowa wartość: 3434558
email

opcjonalny

Adres e-mail firmy. Przykładowa wartość: jan.kowalski@foo.bar
phone_number

opcjonalny

Numer telefonu firmy. Przykładowa wartość: 555666777
nip

opcjonalny

Numer NIP firmy. Przykładowa wartość: 6783144527
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie. Przykładowa wartość: custom type name
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie. Przykładowa wartość: custom group name
custom_fields

opcjonalny

Wyszukiwanie po wartościach pól specjalnych. Można wyszukiwać po wielu polach specjalnych na raz.
Dla każdego pola można podać kilka alternatywnych wartości.
Na przykład:
["custom_fields" => [
    "Kraj" => ["POLSKA", "NORWEGIA"],
    "Miasto" => "Kraków"
]];
Przykładowa wartość: custom_fields[Kraj][0]=POLSKA&custom_fields[Kraj][1]=NORWEGIA&custom_fields[Miasto]=Krak%C3%B3w
include_custom_fields

opcjonalny

Czy zwracać pola specjalne klienta. Przykładowa wartość: true
include_address

opcjonalny

Czy zwracać adres klienta. Przykładowa wartość: true
limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 1000. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
order

opcjonalny

Lista pól, po których będą posortowane rezultaty. Prefiks '-' oznacza sortowanie malejące, brak prefiksu rosnące. Możliwe jest sortowanie po polach: name, nip, company_id, identifier. Przykładowa wartość: name,-customer_id,nip

Przykładowy request

GET https://api.thulium.pl/api/companies?nip=6783144527&include_custom_fields=true&include_address=true

Przykładowy response

[
        {
        "name": "Thulium",
        "company_id": 28,
        "customer_id": 13,
        "identifier": "3434558",
        "phone_number": "123456789",
        "phone_numbers": ["123456789", "987654321"],
        "email": "thulium@example.com",
        "emails": ["thulium@example.com", "thulium.bok@example.com"],
        "type": "internal",
        "group": "partner",
        "nip": "6783144527",
        "account_manager":"",
        "address":
        {
            "street": "Zlotej Jesieni",
            "building": "7",
            "flat": null,
            "postcode": "31-827",
            "city": "Krakow",
            "post_office": "Krakow",
            "borough": null,
            "county": null,
            "voivodship": null,
            "country": "Poland"
        },
       "custom_fields":
       {
          "ID": null,
          "Additional info": "none"
       }
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/companies?nip=6783144527&include_custom_fields=true&include_address=true');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/companies?nip=6783144527&include_custom_fields=true&include_address=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/companies?nip=6783144527&include_custom_fields=true&include_address=true"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET companies/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca firmę o podanym identyfikatorze firmy.

URL

https://api.thulium.pl/api/companies/:id

Parametry

id

wymagany

Identyfikator firmy. Przykładowa wartość: 28
include_custom_fields

opcjonalny

Czy zwracać pola specjalne klienta. Przykładowa wartość: true
include_address

opcjonalny

Czy zwracać adres klienta. Przykładowa wartość: true

Przykładowy request

GET https://api.thulium.pl/api/companies/28?include_custom_fields=true&include_address=true

Przykładowy response

{
    "name": "Thulium",
    "company_id": 28,
    "customer_id": 13,
    "type": "internal",
    "group": "partner",
    "nip": "6783144527",
    "account_manager":"",
    "address":
    {
        "street": "Zlotej Jesieni",
        "building": "7",
        "flat": null,
        "postcode": "31-827",
        "city": "Krakow",
        "post_office": "Krakow",
        "borough": null,
        "county": null,
        "voivodship": null,
        "country": "Poland"
    },
    custom_fields":
    {
      "ID": null,
      "Additional info": "none"
    }
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/companies/28?include_custom_fields=true&include_address=true');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/companies/28?include_custom_fields=true&include_address=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/companies/28?include_custom_fields=true&include_address=true"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET customer_id_by_outbound_status

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę identyfikatorów klientów zawężoną o aktualny status rekordu w kampanii.

URL

https://api.thulium.pl/api/customer_id_by_outbound_status

Parametry

outbound_id[]

wymagany

Identyfikator kampanii (jeden lub wiele). Przykładowa wartość: 00010
status_id[]

wymagany

Identyfikator statusu z kampanii (jeden lub wiele). Przykładowa wartość: 1

Przykładowy request

GET https://api.thulium.pl/api/customer_id_by_outbound_status?outbound_id[]=00002&status_id[]=1&outbound_id[]=00003&status_id[]=1

Przykładowy response

{"customer_id": [1, 2, 3, 4, 5, 6, 7]}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/customer_id_by_outbound_status?outbound_id[]=00002&status_id[]=1&outbound_id[]=00003&status_id[]=1');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/customer_id_by_outbound_status?outbound_id[]=00002&status_id[]=1&outbound_id[]=00003&status_id[]=1");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/customer_id_by_outbound_status?outbound_id[]=00002&status_id[]=1&outbound_id[]=00003&status_id[]=1"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET customers

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę klientów zawężonych o podane kryteria wyszukiwania.

URL

https://api.thulium.pl/api/customers

Parametry

identifier

opcjonalny

Identyfikator klienta. Jeśli zostanie ustawiony pusty zwróci klientów, którzy nie mają ustawionego identyfikatora. Przykładowa wartość: 3434558
email

opcjonalny

Adres e-mail klienta. Przykładowa wartość: jan.kowalski@foo.bar
phone_number

opcjonalny

Numer telefonu klienta. Przykładowa wartość: 555666777
nip

opcjonalny

Numer NIP klienta. Przykładowa wartość: 6783144527
company_flag

opcjonalny

Klient jest firmą. Przykładowa wartość: true
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie. Przykładowa wartość: custom type name
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie. Przykładowa wartość: custom group name
custom_fields

opcjonalny

Wyszukiwanie po wartościach pól specjalnych. Można wyszukiwać po wielu polach specjalnych na raz.
Dla każdego pola można podać kilka alternatywnych wartości.
Na przykład:
["custom_fields" => [
    "Kraj" => ["POLSKA", "NORWEGIA"],
    "Miasto" => "Kraków"
]];
Przykładowa wartość: custom_fields[Kraj][0]=POLSKA&custom_fields[Kraj][1]=NORWEGIA&custom_fields[Miasto]=Krak%C3%B3w
include_custom_fields

opcjonalny

Czy zwracać pola specjalne klienta. Przykładowa wartość: true
include_address

opcjonalny

Czy zwracać adres klienta. Przykładowa wartość: true
limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 1000. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
order

opcjonalny

Lista pól, po których będą posortowane rezultaty. Prefiks '-' oznacza sortowanie malejące, brak prefiksu rosnące. Możliwe jest sortowanie po polach: surname, name, nip, company_id, customer_id, identifier. Przykładowa wartość: name,-customer_id,nip

Przykładowy request

GET https://api.thulium.pl/api/customers?email=jan.kowalski@foo.bar&include_custom_fields=true&include_address=true

Przykładowy response

[
    {
        "customer_id": 273,
        "name": "Jan",
        "surname": "Kowalski",
        "phone_number": "222333444",
        "phone_numbers": ["222333444", "213443523"],
        "email": "jan.kowalski@foo.bar",
        "emails": ["jan.kowalski@foo.bar", "j.kowalski@foo.bar],
        "company_id": "",
        "identifier": "",
        "type": "",
        "group": "",
        "company_flag": false,
        "birthdate": "",
        "gender": "",
        "homepage": "",
        "nip": "",
        "account_manager":"",
        "address":
        {
            "street": "Zlotej Jesieni",
            "building": "7",
            "flat": null,
            "postcode": "31-827",
            "city": "Krakow",
            "post_office": "Krakow",
            "borough": null,
            "county": null,
            "voivodship": null,
            "country": "Poland"
        },
        "custom_fields":
        {
           "ID": null,
           "Dodatkowe informacje": "Numer dowodu - AXX 121212"
        }
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/customers?email=jan.kowalski@foo.bar&include_custom_fields=true&include_address=true');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/customers?email=jan.kowalski@foo.bar&include_custom_fields=true&include_address=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/customers?email=jan.kowalski@foo.bar&include_custom_fields=true&include_address=true"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET customers/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca klienta o podanym identyfikatorze klienta.

URL

https://api.thulium.pl/api/customers/:id

Parametry

id

wymagany

Identyfikator klienta. Przykładowa wartość: 273
include_custom_fields

opcjonalny

Czy zwracać pola specjalne klienta. Przykładowa wartość: true
include_address

opcjonalny

Czy zwracać adres klienta. Przykładowa wartość: true

Przykładowy request

GET https://api.thulium.pl/api/customers/273?include_custom_fields=true

Przykładowy response

{
    "customer_id": 273,
    "name": "Jan",
    "surname": "Kowalski",
    "phone_number": "222333444",
    "phone_numbers": ["222333444", "213443523"],
    "email": "jan.kowalski@foo.bar",
    "company_id": "",
    "identifier": "",
    "type": "",
    "group": "",
    "company_flag": "",
    "account_manager":"",
    "custom_fields":
    {
       "ID": null,
       "Dodatkowe informacje": "Numer dowodu - AXX 121212"
    }
}
    

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/customers/273?include_custom_fields=true');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/customers/273?include_custom_fields=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/customers/273?include_custom_fields=true"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST companies

Ostatnia modyfikacja 2017-11-24 09:52:35

Dodanie firmy do CRM.

URL

https://api.thulium.pl/api/companies

Parametry

name

wymagany

Nazwa firmy.
nip

opcjonalny

Numer NIP firmy. Jeśli jest podany, ma być unikatowy.
email

opcjonalny

Adres e-mail firmy.
phone_number

opcjonalny

Numer lub numery telefonu firmy.
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie.
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie.
identifier

opcjonalny

Identyfikator firmy.
custom_fields

opcjonalny

Obiekt z wartościami pól specjalnych. Przykładowa wartość: "custom_fields":{"field_name_1":"value_1","field_name_2":"value_2"}
account_manager

opcjonalny

Login opiekuna firmy
address

opcjonalny

Adres firmy.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.

Przykładowy request

POST https://api.thulium.pl/api/companies
Dane {"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}

Przykładowy response

{
    "company_id": "21",
    "customer_id": "121"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}';

$request curl_init('https://api.thulium.pl/api/companies');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/companies", "{\"name\":\"company\",\"nip\":\"6783144527\",\"address\":{\"city\":\"Krakow\",\"street\":\"Zlotej Jesieni\"}}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}' "https://api.thulium.pl/api/companies"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST customers

Ostatnia modyfikacja 2017-11-24 09:52:35

Dodanie klienta do CRM.

URL

https://api.thulium.pl/api/customers

Parametry

name

opcjonalny

Imię klienta.
surname

wymagany

Nazwisko klienta.
email

opcjonalny

Adres lub adresy e-mail klienta.
phone_number

opcjonalny

Numer lub numery telefonu firmy.
company_id

opcjonalny

Identyfikator firmy, do której ma być dodany klient.
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie.
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie.
identifier

opcjonalny

Identyfikator klienta.
gender

opcjonalny

Płeć klienta.
homepage

opcjonalny

Strona WWW klienta.
birthdate

opcjonalny

Data urodzenia klienta.
nip

opcjonalny

NIP klienta.
account_manager

opcjonalny

Login opiekuna klienta
custom_fields

opcjonalny

Obiekt z wartościami pól specjalnych. Przykładowa wartość: "custom_fields":{"field_name_1":"value_1","field_name_2":"value_2"}
address

opcjonalny

Adres klienta.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.

Przykładowy request

POST https://api.thulium.pl/api/customers
Dane {"surname":"Kowalski","phone_number":["333444555","123432234"]}

Przykładowy response

{
    "customer_id": "324"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"surname":"Kowalski","phone_number":["333444555","123432234"]}';

$request curl_init('https://api.thulium.pl/api/customers');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/customers", "{\"surname\":\"Kowalski\",\"phone_number\":[\"333444555\",\"123432234\"]}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"surname":"Kowalski","phone_number":["333444555","123432234"]}' "https://api.thulium.pl/api/customers"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT companies/:id

Ostatnia modyfikacja 2017-11-24 09:52:35

Edycja firmy.

URL

https://api.thulium.pl/api/companies/:id

Parametry

name

opcjonalny

Nazwa firmy.
nip

opcjonalny

Numer NIP firmy. Jeśli jest podany, ma być unikatowy.
email

opcjonalny

Adres e-mail firmy.
phone_number

opcjonalny

Numer lub numery telefonu firmy.
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie.
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie.
identifier

opcjonalny

Identyfikator firmy.
custom_fields

opcjonalny

Obiekt z wartościami pól specjalnych. Przykładowa wartość: "custom_fields":{"field_name_1":"value_1","field_name_2":"value_2"}
account_manager

opcjonalny

Login opiekuna firmy
address

opcjonalny

Adres firmy.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.

Przykładowy request

PUT https://api.thulium.pl/api/companies/23
Dane {"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}';

$request curl_init('https://api.thulium.pl/api/companies/23');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/companies/23", "{\"name\":\"company\",\"nip\":\"6783144527\",\"address\":{\"city\":\"Krakow\",\"street\":\"Zlotej Jesieni\"}}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}' "https://api.thulium.pl/api/companies/23"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT customers/:id

Ostatnia modyfikacja 2017-11-24 09:52:35

Edycja klienta.

URL

https://api.thulium.pl/api/customers/:id

Parametry

name

opcjonalny

Imię klienta.
surname

opcjonalny

Nazwisko klienta.
email

opcjonalny

Adres lub adresy e-mail klienta.
phone_number

opcjonalny

Numer lub numery telefonu firmy.
company_id

opcjonalny

Identyfikator firmy, do której ma być dodany klient.
type

opcjonalny

Tekstowa nazwa typu klienta zdefiniowana w systemie.
group

opcjonalny

Tekstowa nazwa grupy klienta zdefiniowana w systemie.
identifier

opcjonalny

Identyfikator klienta.
gender

opcjonalny

Płeć klienta.
homepage

opcjonalny

Strona WWW klienta.
birthdate

opcjonalny

Data urodzenia klienta.
nip

opcjonalny

NIP klienta.
account_manager

opcjonalny

Login opiekuna klienta
custom_fields

opcjonalny

Obiekt z wartościami pól specjalnych. Przykładowa wartość: "custom_fields":{"field_name_1":"value_1","field_name_2":"value_2"}
address

opcjonalny

Adres klienta.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.

Przykładowy request

PUT https://api.thulium.pl/api/customers/12
Dane {"surname":"Kowalski","phone_number":"333444555"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"surname":"Kowalski","phone_number":"333444555"}';

$request curl_init('https://api.thulium.pl/api/customers/12');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/customers/12", "{\"surname\":\"Kowalski\",\"phone_number\":\"333444555\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"surname":"Kowalski","phone_number":"333444555"}' "https://api.thulium.pl/api/customers/12"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET outbounds

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę wszystkich kampanii.

URL

https://api.thulium.pl/api/outbounds

Przykładowy request

GET https://api.thulium.pl/api/outbounds

Przykładowy response

[
    {
        "id": "00002",
        "name": "API test",
        "crm": true,
        "order": 100,
        "parity": 50
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/outbounds');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/outbounds");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/outbounds"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę wszystkich agentów w danej kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/agents

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001

Przykładowy request

GET https://api.thulium.pl/api/outbounds/00001/agents

Przykładowy response

[
    {
        "login": "jkowalski",
        "number": "3113",
        "active_in_outbound": true
    },
    {
        "login": "anowak",
        "number": "3422",
        "active_in_outbound": false
    }
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/outbounds/00001/agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/outbounds/00001/agents");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/outbounds/00001/agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/statuses

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę wszystkich statusów w danej kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/statuses

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001

Uwagi

Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Przykładowy request

GET https://api.thulium.pl/api/outbounds/00001/statuses

Przykładowy response

[
    {
        "system_status": "CALL",
        "status_id": "3",
        "name": "Contact needed"
    },
    {
        "system_status": "NO_CALL",
        "status_id": "4",
        "name": "Not interested"
    }
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/outbounds/00001/statuses');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/outbounds/00001/statuses");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/outbounds/00001/statuses"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodaje kampanie.

URL

https://api.thulium.pl/api/outbounds

Parametry

id

opcjonalny

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
name

wymagany

Nazwa tworzonej kampanii. Przykładowa wartość: Kampania sprzedażowa 2015
dialer

wymagany

Typ dialera dla tworzonej kampanii . Przykładowa wartość: preview
crm

wymagany

Określa sposób zasilania kampanii: CRM lub CSV. Przykładowa wartość: true
active

opcjonalny

Określa czy kampania ma być aktywna po utworzeniu. Domyślnie aktywna. Przykładowa wartość: true
start_date

opcjonalny

Data rozpoczęcia kampanii. Domyślnie dzisiejszy dzień. Przykładowa wartość: 2015-10-05
end_date

opcjonalny

Data zakończenia kampanii. Przykładowa wartość: 2015-10-25
order

opcjonalny

Kolejność kampanii, wartość z zakresu 1-99999. Domyślnie 50 Przykładowa wartość: 50
parity

opcjonalny

Parytet kampanii, wartość z zakresu 1-100. Domyślnie 50 Przykładowa wartość: 50
parameters

opcjonalny

Obiekt parametrów które będą ustawione dla kampanii. Przykładowa wartość: { "caller_id": "123456789" }

Uwagi

Pole parameters musi zawierać mapę gdzie kluczem jest nazwa parametru a wartością treść, którą chcemy ustawić.
Obsługiwane parametry:
  • caller_id - numer którym będzie się prezentować kampania
  • preview_timeout - liczba sekund jakie agent ma na zapoznanie z rekordem
Pole dialer posiada mozliwość wybrania jednego z poniższych dialerów:
  • predictive
  • progressive
  • preview

Przykładowy request

POST https://api.thulium.pl/api/outbounds
Dane {"id":"09098","name":"Some outbound name","start_date":"2015-09-10","end_date":"2015-09-12","dialer":"predictive","crm":true,"parameters":{"caller_id":"1234"}}

Przykładowy response

{
    "id": "09098","outbound_id": "21"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"id":"09098","name":"Some outbound name","start_date":"2015-09-10","end_date":"2015-09-12","dialer":"predictive","crm":true,"parameters":{"caller_id":"1234"}}';

$request curl_init('https://api.thulium.pl/api/outbounds');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds", "{\"id\":\"09098\",\"name\":\"Some outbound name\",\"start_date\":\"2015-09-10\",\"end_date\":\"2015-09-12\",\"dialer\":\"predictive\",\"crm\":true,\"parameters\":{\"caller_id\":\"1234\"}}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"id":"09098","name":"Some outbound name","start_date":"2015-09-10","end_date":"2015-09-12","dialer":"predictive","crm":true,"parameters":{"caller_id":"1234"}}' "https://api.thulium.pl/api/outbounds"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/add_agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodaje listę agentów do kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/add_agents

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
logins

wymagany

Tablica loginów agentów, którzy będą dodani do kampanii. Przykładowa wartość: ["anowak", "jkowalski"]

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/add_agents
Dane {"logins":["anowak","jkowalski"]}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"logins":["anowak","jkowalski"]}';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/add_agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/add_agents", "{\"logins\":[\"anowak\",\"jkowalski\"]}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"logins":["anowak","jkowalski"]}' "https://api.thulium.pl/api/outbounds/00001/add_agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/clone

Ostatnia modyfikacja 2017-11-24 09:52:35
Klonuje kampanię.

URL

https://api.thulium.pl/api/outbounds/:id/clone

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
new_id

opcjonalny

Pięcioznakowy identyfikator nowej kampanii. Zostanie wygenerowany jeśli nie zostanie przesłany. Przykładowa wartość: 02139
name

wymagany

Nazwa nowej kampanii. Przykładowa wartość: Kampania sprzedażowa 2015
start_date

opcjonalny

Data rozpoczęcia kampanii. Domyślnie dzisiejszy dzień. Przykładowa wartość: 2015-10-05
end_date

opcjonalny

Data zakończenia kampanii. Przykładowa wartość: 2015-10-25
parameters

opcjonalny

Obiekt parametrów które będą ustawione dla kampanii. Przykładowa wartość: { "caller_id": "123456789" }

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/clone
Dane {"new_id":"77744","name":"New cloned outbound","start_date":"2015-09-10","end_date":"2015-09-12","parameters":{"caller_id":"1234"}}

Przykładowy response

{
    "id": "77744"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"new_id":"77744","name":"New cloned outbound","start_date":"2015-09-10","end_date":"2015-09-12","parameters":{"caller_id":"1234"}}';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/clone');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/clone", "{\"new_id\":\"77744\",\"name\":\"New cloned outbound\",\"start_date\":\"2015-09-10\",\"end_date\":\"2015-09-12\",\"parameters\":{\"caller_id\":\"1234\"}}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"new_id":"77744","name":"New cloned outbound","start_date":"2015-09-10","end_date":"2015-09-12","parameters":{"caller_id":"1234"}}' "https://api.thulium.pl/api/outbounds/00001/clone"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/remove_agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwa agentów z kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/remove_agents

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
logins

wymagany

Tablica loginów agentów, którzy będą usunięci z kampanii. Przykładowa wartość: ["anowak", "jkowalski"]

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/remove_agents
Dane {"logins":["anowak","jkowalski"]}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"logins":["anowak","jkowalski"]}';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/remove_agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/remove_agents", "{\"logins\":[\"anowak\",\"jkowalski\"]}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"logins":["anowak","jkowalski"]}' "https://api.thulium.pl/api/outbounds/00001/remove_agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/set_agents

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodaje i usuwa agentów z kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/set_agents

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
logins

wymagany

Tablica loginów agentów, którzy mają być jedynymi agentami przypisanymi do kampanii. Przykładowa wartość: ["anowak", "jkowalski"]

Uwagi

Jeśli agent jest dodany do kampanii a nie został wysłany w liście agentów, zostanie usunięty.

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/set_agents
Dane {"logins":["anowak","jkowalski"]}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"logins":["anowak","jkowalski"]}';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/set_agents');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/set_agents", "{\"logins\":[\"anowak\",\"jkowalski\"]}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"logins":["anowak","jkowalski"]}' "https://api.thulium.pl/api/outbounds/00001/set_agents"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT outbounds/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Aktualizuje kampanie.

URL

https://api.thulium.pl/api/outbounds/:id

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
name

opcjonalny

Nazwa tworzonej kampanii. Przykładowa wartość: Kampania sprzedażowa 2015
dialer

opcjonalny

Typ dialera dla tworzonej kampanii . Przykładowa wartość: preview
active

opcjonalny

Określa czy kampania ma być aktywna po utworzeniu. Domyślnie aktywna. Przykładowa wartość: true
start_date

opcjonalny

Data rozpoczęcia kampanii. Domyślnie dzisiejszy dzień. Przykładowa wartość: 2015-10-05
end_date

opcjonalny

Data zakończenia kampanii. Przykładowa wartość: 2015-10-25
order

opcjonalny

Kolejność kampanii, wartość z zakresu 1-99999. Domyślnie 50 Przykładowa wartość: 50
parity

opcjonalny

Parytet kampanii, wartość z zakresu 1-100. Domyślnie 50 Przykładowa wartość: 50
parameters

opcjonalny

Obiekt parametrów które będą ustawione dla kampanii. Przykładowa wartość: { "caller_id": "123456789" }

Uwagi

Pole parameters musi zawierać mapę gdzie kluczem jest nazwa parametru a wartością treść, którą chcemy ustawić.
Obsługiwane parametry:
  • caller_id - numer którym będzie się prezentować kampania
  • preview_timeout - liczba sekund jakie agent ma na zapoznanie z rekordem
Pole dialer posiada mozliwość wybrania jednego z poniższych dialerów:
  • predictive
  • progressive
  • preview

Przykładowy request

PUT https://api.thulium.pl/api/outbounds/09098
Dane {"name":"Some new name","active":true,"parameters":{"caller_id":"1234"}}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"name":"Some new name","active":true,"parameters":{"caller_id":"1234"}}';

$request curl_init('https://api.thulium.pl/api/outbounds/09098');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/outbounds/09098", "{\"name\":\"Some new name\",\"active\":true,\"parameters\":{\"caller_id\":\"1234\"}}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"name":"Some new name","active":true,"parameters":{"caller_id":"1234"}}' "https://api.thulium.pl/api/outbounds/09098"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE crm_outbounds/:id/records

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie rekordów z kampanii CRM.

URL

https://api.thulium.pl/api/crm_outbounds/:id/records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
customer_id[]

wymagany

Identyfikator klienta zapisanego w CRM (jeden lub wiele). Przykładowa wartość: 441

Przykładowy request

DELETE https://api.thulium.pl/api/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442

Przykładowy response

{
    "441": {
        "record_id": 5235,
        "status": "REMOVED"
    },
    "442": {
        "status":"NOT_EXIST"
    }
}

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie rekordu z kampanii CRM.

URL

https://api.thulium.pl/api/crm_outbounds/:id/records/:customer_id

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
customer_id

wymagany

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 441

Przykładowy request

DELETE https://api.thulium.pl/api/crm_outbounds/00001/records/441

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records/441');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/crm_outbounds/00001/records/441");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/crm_outbounds/00001/records/441"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET crm_outbounds/:id/records

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca listę rekordów w kampanii wraz z podstawowymi parametrami w kolejności dodawania do kampanii.

Parametr count zwraca liczbę znalezionych rekordów w kampanii (uwzględniając filtry).

URL

https://api.thulium.pl/api/crm_outbounds/:id/records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 100. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
order

opcjonalny

Lista pól, po których będą posortowane rezultaty. Prefiks '-' oznacza sortowanie malejące, brak prefiksu rosnące. Możliwe jest sortowanie po polach: next_call_date. Przykładowa wartość: -next_call_date
status_id[]

opcjonalny

Identyfikator statusu z kampanii (jeden lub wiele). Przykładowa wartość: [10, 15]
system_status[]

opcjonalny

Identyfikator statusu systemowego (jeden lub wiele). Przykładowa wartość: [TO_CALL, CALL]
create_date_from

opcjonalny

Minimalna data utworzenia rekordu. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-18
create_date_to

opcjonalny

Maksymalna data utworzenia rekordu. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-20
call_date_from

opcjonalny

Minimalna data ostatniej rozmowy. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-18
call_date_to

opcjonalny

Maksymalna data ostatniej rozmowy. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-20
include_customer

opcjonalny

Czy dołączyć dane klienta do zwracanych rekordów. Przykładowa wartość: true
include_custom_fields

opcjonalny

Czy zwracać pola specjalne klienta. Przykładowa wartość: true
include_address

opcjonalny

Czy zwracać adres klienta. Przykładowa wartość: true

Uwagi

Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Przykładowy request

GET https://api.thulium.pl/api/crm_outbounds/00001/records?limit=5&offset=0&order=-next_call_date&status_id[]=10&status_id[]=15

Przykładowy response

{
        "count": 1,
        "result": [
            {
                "record_id": 228,
                "phone_number": "5555",
                "system_status": "NO_CALL",
                "status": "Nie dzwonić",
                "status_id": 5,
                "call_date": "2016-10-19 14:02",
                "create_date": "2016-10-18 12:02",
                "next_call_date": "",
                "agent_name": "",
                "agent_login": "",
                "customer_id": 311,
                "last_note": "Ostatnia notatka dla rekordu",
                "order":""
            }
        ]
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records?limit=5&offset=0&order=-next_call_date&status_id[]=10&status_id[]=15');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/crm_outbounds/00001/records?limit=5&offset=0&order=-next_call_date&status_id[]=10&status_id[]=15");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/crm_outbounds/00001/records?limit=5&offset=0&order=-next_call_date&status_id[]=10&status_id[]=15"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca informacje o rekordzie w kampanii zasilanej z CRM.

URL

https://api.thulium.pl/api/crm_outbounds/:id/records/:customer_id

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
customer_id

wymagany

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 441

Uwagi

Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Przykładowy request

GET https://api.thulium.pl/api/crm_outbounds/00001/records/441

Przykładowy response

{
    "record_id": 47,
    "phone_number": "158433367",
    "system_status": "NO_CALL",
    "status": "Do not call",
    "status_id": 6,
    "call_date": "2016-10-19 14:02",
    "create_date": "2016-10-18 12:02",
    "next_call_date": "",
    "agent_name": "",
    "agent_login": "",
    "customer_id": 441,
    "last_note": "Last note for record",
    "order": ""
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records/441');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/crm_outbounds/00001/records/441");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/crm_outbounds/00001/records/441"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST crm_outbounds/:id/add_records

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodanie wielu rekordów do kampanii CRM.

W rezultacie zwracana jest lista klientów wraz z informacją o statusie oraz identyfikatorze dodanego rekordu. Zwracany status przyjmować może dwie wartości:
ADDED - klient został dodany do kampanii
ALREADY_EXISTS - klient już był dodany do kampanii.

URL

https://api.thulium.pl/api/crm_outbounds/:id/add_records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
records

wymagany

Lista rekordów do dodania. Każdy rekord z parametrami:
          customer_id

          wymagany

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 441
          status_id

          wymagany

Identyfikator statusu rekordu w kampanii. Statusy można pobrać przez outbounds/:id/statuses. Przykładowa wartość: 8
          agent_id

          opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
          next_call_date

          opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
          order

          opcjonalny

Kolejność rekordu Przykładowa wartość: 50

Przykładowy request

POST https://api.thulium.pl/api/crm_outbounds/00001/add_records
Dane { "records": [ { "customer_id": 441, "status_id": 3 }, { "customer_id": 445, "status_id": 1 } ] }

Przykładowy response

{
    "441": {
        "record_id": 111,
        "status": "ADDED"
    },
    "445": {
        "record_id": 100,
        "status": "ALREADY_EXISTS"
    }
}

Przykładowe wywołanie


PHP

<?php
$data 
'{
    "records": [
        {
            "customer_id": 441,
            "status_id": 3
        },
        {
            "customer_id": 445,
            "status_id": 1
        }
    ]
}'
;

$request curl_init('https://api.thulium.pl/api/crm_outbounds/00001/add_records');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/crm_outbounds/00001/add_records", "{
    \"records\": [
        {
            \"customer_id\": 441,
            \"status_id\": 3
        },
        {
            \"customer_id\": 445,
            \"status_id\": 1
        }
    ]
}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{
    "records": [
        {
            "customer_id": 441,
            "status_id": 3
        },
        {
            "customer_id": 445,
            "status_id": 1
        }
    ]
}' "https://api.thulium.pl/api/crm_outbounds/00001/add_records"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST crm_outbounds/:id/records

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodanie rekordu do kampanii CRM.

URL

https://api.thulium.pl/api/crm_outbounds/:id/records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
customer_id

wymagany

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 441
status_id

wymagany

Identyfikator statusu rekordu w kampanii. Przykładowa wartość: 8
agent_id

opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
next_call_date

opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
order

opcjonalny

Kolejność rekordu Przykładowa wartość: 50

Przykładowy request

POST https://api.thulium.pl/api/crm_outbounds/00001/records
Dane {"customer_id":441,"status_id":3}

Przykładowy response

{
    "record_id": "231"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"customer_id":441,"status_id":3}';

$request curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/crm_outbounds/00001/records", "{\"customer_id\":441,\"status_id\":3}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"customer_id":441,"status_id":3}' "https://api.thulium.pl/api/crm_outbounds/00001/records"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2017-11-24 09:52:35
Edycja rekordu z kampanii zasilanej z CRM.

URL

https://api.thulium.pl/api/crm_outbounds/:id/records/:customer_id

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
customer_id

wymagany

Identyfikator klienta zapisanego w CRM. Przykładowa wartość: 441
status_id

wymagany

Identyfikator statusu rekordu w kampanii. Przykładowa wartość: 8
agent_id

opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
next_call_date

opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
order

opcjonalny

Kolejność rekordu Przykładowa wartość: 50

Przykładowy request

PUT https://api.thulium.pl/api/crm_outbounds/00001/records/441
Dane {"status_id":"3"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"status_id":"3"}';

$request curl_init('https://api.thulium.pl/api/crm_outbounds/00001/records/441');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/crm_outbounds/00001/records/441", "{\"status_id\":\"3\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"status_id":"3"}' "https://api.thulium.pl/api/crm_outbounds/00001/records/441"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE outbounds/:id/records/:phone_number

Ostatnia modyfikacja 2017-11-24 09:52:35

Usuwanie rekordu z kampanii.

Za pomocą API nie można usuwać zduplikowanych numerów.

URL

https://api.thulium.pl/api/outbounds/:id/records/:phone_number

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
phone_number

wymagany

Numer telefonu który zostanie usunięty z kampanii. Przykładowa wartość: 333444555
search_in_additional_numbers

opcjonalny

Flaga odpowiedzialna za wyszukiwanie w numerach dodatkowych. Przykładowa wartość: true

Przykładowy request

DELETE https://api.thulium.pl/api/outbounds/00001/records/333444555

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/records/333444555');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/outbounds/00001/records/333444555");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/outbounds/00001/records/333444555"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/records

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca listę rekordów w kampanii wraz z podstawowymi parametrami w kolejności dodawania do kampanii.

Parametr count zwraca liczbę znalezionych rekordów w kampanii (uwzględniając filtry).

URL

https://api.thulium.pl/api/outbounds/:id/records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 100. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
status_id[]

opcjonalny

Identyfikator statusu z kampanii (jeden lub wiele). Przykładowa wartość: [10, 15]
system_status[]

opcjonalny

Identyfikator statusu systemowego (jeden lub wiele). Przykładowa wartość: [TO_CALL, CALL]
create_date_from

opcjonalny

Minimalna data utworzenia rekordu. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-18
create_date_to

opcjonalny

Maksymalna data utworzenia rekordu. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-20
call_date_from

opcjonalny

Minimalna data ostatniej rozmowy. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-18
call_date_to

opcjonalny

Maksymalna data ostatniej rozmowy. Format YYYY-MM-DD. Przykładowa wartość: 2016-10-20

Uwagi

Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Przykładowy request

GET https://api.thulium.pl/api/outbounds/00001/records?limit=5&offset=0

Przykładowy response

{
        "count": 1,
        "result": [
            {
                "record_id": 228,
                "phone_number": "5555",
                "system_status": "NO_CALL",
                "status": "Do not call",
                "status_id": 5,
                "call_date": "2016-10-19 14:02",
                "create_date": "2016-10-18 12:02",
                "next_call_date": "",
                "agent_name": "",
                "agent_login": "",
                "last_note": "Last note for record",
                "order": ""
            }
        ]
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/outbounds/00001/records?limit=5&offset=0');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/outbounds/00001/records?limit=5&offset=0");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/outbounds/00001/records?limit=5&offset=0"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/records/:phone_number

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca informacje o rekordzie w kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/records/:phone_number

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
phone_number

wymagany

Numer telefonu dodany do kampanii. Przykładowa wartość: 333444555
include_record_fields

opcjonalny

Flaga odpowiedzialna za pokazywanie pól kampanii. Przykładowa wartość: true
search_in_additional_numbers

opcjonalny

Flaga odpowiedzialna za wyszukiwanie w numerach dodatkowych. Przykładowa wartość: true

Uwagi

W celu dołączenia pól zdefiniowanych w kampanii należy użyć flagi include_record_fields. Przyjmuje ona wartości true/false. Domyślnie jest ustawiona na false.
Przykładowe wywołanie: outbounds/00001/records/333444555?include_record_fields=true
W celu wyszukania po wszystkich numerach - łącznie z dodatkowymi należy użyć flagi search_in_additional_numbers. Przyjmuje ona wartości true/false. Domyślnie jest ustawiona na false.
Przykładowe wywołanie: outbounds/00001/records/333444555?search_in_additional_numbers=true
Pole system_status:
  • TO_CALL Do dzwonienia (świeżo dodane rekordy)
  • IN_PROGRESS Obrabiane
  • CALL Dzwonić
  • MY_RECORD Mój rekord
  • NO_CALL Nie dzwonić
  • ABANDONED_AFTER_N_TRIES Odrzucony po n próbach
  • CALL_NO_SOONER_THAN Kontakt nie wcześniej niż
  • CALL_PROGRESSIVE Dzwonić w trybie progressive (np. dla spadów w trybie predictive)

Przykładowy request

GET https://api.thulium.pl/api/outbounds/00001/records/333444555

Przykładowy response

{
    "record_id": 228,
    "phone_number": "333444555",
    "system_status": "NO_CALL",
    "status": "Do not call",
    "status_id": 5,
    "call_date": "2016-10-19 14:02",
    "create_date": "2016-10-18 12:02",
    "next_call_date": "",
    "agent_name": "",
    "agent_login": "",
    "last_note": "Last note for record",
    "order": ""
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/outbounds/00001/records/333444555');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/outbounds/00001/records/333444555");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/outbounds/00001/records/333444555"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/add_records

Ostatnia modyfikacja 2017-11-24 09:52:35

Dodanie wielu rekordów do kampanii.

Za pomocą API nie można dodawać zduplikowanych numerów.

W rezultacie zwracana jest lista numerów wraz z informacją o statusie oraz identyfikatorze dodanego rekordu. Zwracany status przyjmować może dwie wartości:
ADDED - rekord został dodany do kampanii
ALREADY_EXISTS - rekord już istnieje w kampanii.

URL

https://api.thulium.pl/api/outbounds/:id/add_records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
records

wymagany

Lista rekordów do dodania. Każdy rekord z parametrami:
          phone_number

          wymagany

Numer telefonu, na który będą wykonywane połączenia. Przykładowa wartość: 333444555
          status_id

          wymagany

Identyfikator statusu rekordu w kampanii. Przykładowa wartość: 8
          agent_id

          opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
          next_call_date

          opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
          record_fields

          opcjonalny

Obiekt z wartościami struktury kampanii. Przykładowa wartość: {"field1":"value1","field2":"value2"}
          order

          opcjonalny

Kolejność rekordu. Przykładowa wartość: 50

Uwagi

Pole record_fields musi zawierać mapę pól struktury kampanii gdzie kluczem jest tekstowa nazwa pola a wartością treść którą chcemy ustawić.
W obiekcie możemy przekazać tylko te pola, których wartości chcemy ustawić. Jeśli przekazana wartość pola kampanii będzie pusta zawartość pola zostanie usunięta.
W przypadku gdy pole specjalne nie istnieje zostanie zwrócony błąd walidacji.
Wartości pól kampanii możemy ustalać tylko w kampaniach nie CRM.

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/add_records
Dane { "records": [ { "phone_number": "111222333", "status_id": "3", "record_fields": { "pole1": "wartosc1", "pole2": "wartosc2" } }, { "phone_number": "222333444", "status_id": "1", "record_fields": { "pole1": "jakas wartosc" } }, { "phone_number": "555123321", "status_id": "3" }, { "phone_number": "123123123", "status_id": "3" } ] }

Przykładowy response

{
    "111222333": {
        "record_id": 123,
        "status": "ADDED"
    },
    "222333444": {
        "record_id": 124,
        "status": "ADDED"
    },
    "555123321": {
        "record_id": 125,
        "status": "ADDED"
    },
    "123123123": {
        "record_id": 100,
        "status": "ALREADY_EXISTS"
    }
}

Przykładowe wywołanie


PHP

<?php
$data 
'{
    "records": [
        {
            "phone_number": "111222333",
            "status_id": "3",
            "record_fields": {
                "pole1": "wartosc1",
                "pole2": "wartosc2"
            }
        },
        {
            "phone_number": "222333444",
            "status_id": "1",
            "record_fields": {
                "pole1": "jakas wartosc"
            }
        },
        {
            "phone_number": "555123321",
            "status_id": "3"
        },
        {
            "phone_number": "123123123",
            "status_id": "3"
        }
    ]
}'
;

$request curl_init('https://api.thulium.pl/api/outbounds/00001/add_records');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/add_records", "{
    \"records\": [
        {
            \"phone_number\": \"111222333\",
            \"status_id\": \"3\",
            \"record_fields\": {
                \"pole1\": \"wartosc1\",
                \"pole2\": \"wartosc2\"
            }
        },
        {
            \"phone_number\": \"222333444\",
            \"status_id\": \"1\",
            \"record_fields\": {
                \"pole1\": \"jakas wartosc\"
            }
        },
        {
            \"phone_number\": \"555123321\",
            \"status_id\": \"3\"
        },
        {
            \"phone_number\": \"123123123\",
            \"status_id\": \"3\"
        }
    ]
}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{
    "records": [
        {
            "phone_number": "111222333",
            "status_id": "3",
            "record_fields": {
                "pole1": "wartosc1",
                "pole2": "wartosc2"
            }
        },
        {
            "phone_number": "222333444",
            "status_id": "1",
            "record_fields": {
                "pole1": "jakas wartosc"
            }
        },
        {
            "phone_number": "555123321",
            "status_id": "3"
        },
        {
            "phone_number": "123123123",
            "status_id": "3"
        }
    ]
}' "https://api.thulium.pl/api/outbounds/00001/add_records"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/records

Ostatnia modyfikacja 2017-11-24 09:52:35

Dodanie rekordu do kampanii.

Za pomocą API nie można dodawać zduplikowanych numerów.

URL

https://api.thulium.pl/api/outbounds/:id/records

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
phone_number

wymagany

Numer telefonu, na który będą wykonywane połączenia. Przykładowa wartość: 333444555
status_id

wymagany

Identyfikator statusu rekordu w kampanii. Przykładowa wartość: 8
agent_id

opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
next_call_date

opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
record_fields

opcjonalny

Obiekt z wartościami struktury kampanii. Przykładowa wartość: {"field1":"value1","field2":"value2"}
order

opcjonalny

Kolejność rekordu. Przykładowa wartość: 50

Uwagi

Pole record_fields musi zawierać mapę pól struktury kampanii gdzie kluczem jest tekstowa nazwa pola a wartością treść którą chcemy ustawić.
W obiekcie możemy przekazać tylko te pola, których wartości chcemy ustawić. Jeśli przekazana wartość pola kampanii będzie pusta zawartość pola zostanie usunięta.
W przypadku gdy pole specjalne nie istnieje zostanie zwrócony błąd walidacji.
Wartości pól kampanii możemy ustalać tylko w kampaniach nie CRM.

Przykładowy request

POST https://api.thulium.pl/api/outbounds/00001/records
Dane { "phone_number": "111222333", "status_id": "3", "record_fields": { "field1": "value1", "field2": "value2" } }

Przykładowy response

{
    "record_id": "231"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{
    "phone_number": "111222333",
    "status_id": "3",
    "record_fields": {
        "field1": "value1",
        "field2": "value2"
    }
}'
;

$request curl_init('https://api.thulium.pl/api/outbounds/00001/records');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/outbounds/00001/records", "{
    \"phone_number\": \"111222333\",
    \"status_id\": \"3\",
    \"record_fields\": {
        \"field1\": \"value1\",
        \"field2\": \"value2\"
    }
}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{
    "phone_number": "111222333",
    "status_id": "3",
    "record_fields": {
        "field1": "value1",
        "field2": "value2"
    }
}' "https://api.thulium.pl/api/outbounds/00001/records"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT outbounds/:id/records/:phone_number

Ostatnia modyfikacja 2017-11-24 09:52:35

Edytowanie rekordu w kampanii.

Za pomocą API nie można edytować zduplikowanych numerów.

URL

https://api.thulium.pl/api/outbounds/:id/records/:phone_number

Parametry

id

wymagany

Pięcioznakowy identyfikator kampanii. Przykładowa wartość: 00001
phone_number

wymagany

Numer telefonu, na który będą wykonywane połączenia. Przykładowa wartość: 333444555
status_id

wymagany

Identyfikator statusu rekordu w kampanii. Przykładowa wartość: 8
agent_id

opcjonalny

Identyfikator agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: 1020
next_call_date

opcjonalny

Data następnego kontaktu w formacie YYYY-MM-DD hh:mm. Wymagane dla statusu systemowego MY_RECORD i CALL_NO_SOONER_THAN. Przykładowa wartość: 2018-05-24 12:24
search_in_additional_numbers

opcjonalny

Flaga odpowiedzialna za wyszukiwanie w numerach dodatkowych. Przykładowa wartość: true

Uwagi

W celu wyszukania po wszystkich numerach - łącznie z dodatkowymi należy użyć flagi search_in_additional_numbers. Przyjmuje ona wartości true/false. Domyślnie jest ustawiona na false.
Przykładowe wywołanie: outbounds/00001/records/333444555?search_in_additional_numbers=true

Przykładowy request

PUT https://api.thulium.pl/api/outbounds/00001/records/333444555
Dane {"status_id":"3"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"status_id":"3"}';

$request curl_init('https://api.thulium.pl/api/outbounds/00001/records/333444555');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/outbounds/00001/records/333444555", "{\"status_id\":\"3\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"status_id":"3"}' "https://api.thulium.pl/api/outbounds/00001/records/333444555"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET queues

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę kolejek.

URL

https://api.thulium.pl/api/queues

Przykładowy request

GET https://api.thulium.pl/api/queues

Przykładowy response

[
    {
        "queue_id": 1,
        "name": "BOK"
    },
    {
        "queue_id": 2,
        "name": "Serwis"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/queues');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/queues");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/queues"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET queues/:id/topics

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca tematy rozmów dostępnych dla danej kolejki.

Tematy rozmów są pogrupowane (tak jak przy wyborze grup tematów dla danej kolejki).

W ramach grupy tematy są wyświetlane jako lista par id => nazwa.

Zwracane są jedynie aktywne grupy tematów a w ich ramach jedynie aktywne tematy.

Jeżeli grupa tematów jest pusta także się wyświetla.

URL

https://api.thulium.pl/api/queues/:id/topics

Parametry

id

wymagany

Identyfikator kolejki. Przykładowa wartość: 2

Przykładowy request

GET https://api.thulium.pl/api/queues/2/topics

Przykładowy response

{
    {
        groupName: "Grupa jeden",
        topics: [
            {
                "id": 1,
                "name": "jedyny",
                "show_custom_fields": true
            }
        ]
    },
    {
        groupName: "Grupa pusta",
        topics: []
    },
    {
        groupName: "Grupa wiele",
        topics: [
            {
                "id": 2,
                "name": "pierwszy",
                "show_custom_fields": true
            },
            {
                "id": 3,
                "name": "drugi",
                "show_custom_fields": true
            },
            {
                "id": 4,
                "name": "trzeci",
                "show_custom_fields": false
            }
        ]
    }
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/queues/2/topics');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/queues/2/topics");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/queues/2/topics"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET queues/:id/waiting_list

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca numery telefonów osób oczekujących w kolejce.

Jeśli numer telefonu zostanie jednoznacznie odnaleziony w CRM, to zwracany jest identyfikator i imię/nazwisko osoby lub nazwa firmy.

URL

https://api.thulium.pl/api/queues/:id/waiting_list

Parametry

id

wymagany

Identyfikator kolejki. Przykładowa wartość: 2

Przykładowy request

GET https://api.thulium.pl/api/queues/2/waiting_list

Przykładowy response

[
    {
        phone_number: "613459851",
        started_at: "2014-08-06 14:30:37",
        customer_id: null,
        customer_label: null
    },
    {
        phone_number: "840526437",
        started_at: "2014-08-06 14:30:36",
        customer_id: null,
        customer_label: null
    },
    {
        phone_number: "746842523",
        started_at: "2014-08-06 14:30:35",
        customer_id: 123,
        customer_label: "Jan Kowalski"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/queues/2/waiting_list');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/queues/2/waiting_list");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/queues/2/waiting_list"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET queues/:id/waiting_stats

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca liczbę osób oczekujących w kolejce oraz przewidywany czas oczekiwania na połączenie.

Dane zwrócone z zasobu prezentują dane z ostatniej godziny.

URL

https://api.thulium.pl/api/queues/:id/waiting_stats

Parametry

id

wymagany

Identyfikator kolejki. Przykładowa wartość: 2

Przykładowy request

GET https://api.thulium.pl/api/queues/2/waiting_stats

Przykładowy response

{
    "in_queue": 2,
    "approx_wait_time": "00:00:30"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/queues/2/waiting_stats');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/queues/2/waiting_stats");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/queues/2/waiting_stats"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET recordings

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca listę nagrań

Opis pól:
  • count - zwraca całkowitą liczbę znalezionych rekordów (bez uwzględnienia limitu),
  • disposition - zawiera rezultat rozmowy. Zawsze zwraca ANSWERED.
  • duration - zawiera czas rozmowy,
  • billsec - zawiera czas bilingowy,
  • src - numer źródłowy,
  • dst - numer docelowy,
  • operator - operator użyty przy połączeniu,
  • filename - nazwa pliku z nagraniem (do wykorzystania w recordings/stream i recordings/download),
  • user - imię i nazwisko użytkownika wykonującego połączenie,
  • connection_id - unikalny identyfikator połączenia,
  • type - typ połączenia: wychodzące lub przychodzące (OUTBOUND/INBOUND).

URL

https://api.thulium.pl/api/recordings

Parametry

limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 100. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
date_from

opcjonalny

Minimalna data rozmowy. Przykładowa wartość: 2014-07-04
date_to

opcjonalny

Maksymalna data rozmowy. Przykładowa wartość: 2014-07-14 12:34
src

opcjonalny

Numer źródłowy. Przykładowa wartość: 123321
dst

opcjonalny

Numer docelowy. Przykładowa wartość: 123321
connection_id

opcjonalny

Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341

Przykładowy request

GET https://api.thulium.pl/api/recordings?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05

Przykładowy response

{
           "count": 1,
           "result": [   {
                 "date": "2014-07-07 11:08",
                 "src": "123123",
                 "dst": "1234",
                 "disposition": "ANSWERED",
                 "duration": 129,
                 "billsec": 104,
                 "operator": "siptrunk",
                 "filename": "sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav",
                 "user": "Bob Smith",
                 "connection_id": "1416225570.341",
                 "type": "INBOUND"
           }]
        }

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/recordings?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/recordings?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/recordings?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET recordings/download

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca plik z nagraniem.

URL

https://api.thulium.pl/api/recordings/download

Parametry

filename

wymagany

Nazwa pliku z nagraniem. Przykładowa wartość: sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav

Przykładowy request

GET https://api.thulium.pl/api/recordings/download?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav

Przykładowy response

Dane binarne

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/recordings/download?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/recordings/download?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/recordings/download?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET recordings/stream

Ostatnia modyfikacja 2017-11-24 09:52:35
Strumieniuje plik z nagraniem.

URL

https://api.thulium.pl/api/recordings/stream

Parametry

filename

wymagany

Nazwa pliku z nagraniem. Przykładowa wartość: sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav

Przykładowy request

GET https://api.thulium.pl/api/recordings/stream?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav

Przykładowy response

Dane binarne

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/recordings/stream?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/recordings/stream?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/recordings/stream?filename=sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE absences/:login

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie nieobecności użytkownika.

URL

https://api.thulium.pl/api/absences/:login

Parametry

login

wymagany

Login użytkownika. Przykładowa wartość: jkowalski

Przykładowy request

DELETE https://api.thulium.pl/api/absences/jkowalski

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/absences/jkowalski');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/absences/jkowalski");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/absences/jkowalski"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET absence_types

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę typów nieobecności.

URL

https://api.thulium.pl/api/absence_types

Przykładowy request

GET https://api.thulium.pl/api/absence_types

Przykładowy response

[
    {
        "id":"1",
        "name":"Urlop"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/absence_types');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/absence_types");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/absence_types"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET absences

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę obecnych i przyszłych nieobecności uzytkownika.

URL

https://api.thulium.pl/api/absences

Parametry

login

wymagany

Login użytkownika. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.pl/api/absences?login=jkowalski

Przykładowy response

[
    {
        "login":"jkowalski",
        "absence_type_id":"Obiad",
        "date_from":"2015-10-01 12:00",
        "date_to":"2015-10-01 15:00"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/absences?login=jkowalski');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/absences?login=jkowalski");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/absences?login=jkowalski"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST absences

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodanie lub aktualizacja nieobecności dla użytkownika.

URL

https://api.thulium.pl/api/absences

Parametry

login

wymagany

Login użytkownika. Przykładowa wartość: jkowalski
absence_type_id

wymagany

Identyfikator typu nieobecności. Przykładowa wartość: 1
date_from

opcjonalny

Data początku nieobecności. Domyślnie aktualny czas. Przykładowa wartość: 2015-10-01 12:00
date_to

wymagany

Data końca nieobecności. Przykładowa wartość: 2015-10-01 15:00

Przykładowy request

POST https://api.thulium.pl/api/absences
Dane {"login":"jkowalski","absence_type_id":"1","date_from":"2015-10-01 12:00","date_to":"2015-10-01 15:00"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"login":"jkowalski","absence_type_id":"1","date_from":"2015-10-01 12:00","date_to":"2015-10-01 15:00"}';

$request curl_init('https://api.thulium.pl/api/absences');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/absences", "{\"login\":\"jkowalski\",\"absence_type_id\":\"1\",\"date_from\":\"2015-10-01 12:00\",\"date_to\":\"2015-10-01 15:00\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"login":"jkowalski","absence_type_id":"1","date_from":"2015-10-01 12:00","date_to":"2015-10-01 15:00"}' "https://api.thulium.pl/api/absences"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET downloads/:id/attached_file

Ostatnia modyfikacja 2017-11-24 09:52:35
Pobieranie załączonego pliku.

URL

https://api.thulium.pl/api/downloads/:id/attached_file

Parametry

id

wymagany

File identifier. Przykładowa wartość: 21

Przykładowy request

GET https://api.thulium.pl/api/downloads/21/attached_file

Przykładowy response

Dane binarne

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/downloads/21/attached_file');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/downloads/21/attached_file");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/downloads/21/attached_file"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST temporary_files

Ostatnia modyfikacja 2017-11-24 09:52:35

Tworzy na serwerze tymczasowy plik dostępny przez 24 godziny. Zwrócony token jest używany np. przy dodawaniu załączników do zgłoszenia.

URL

https://api.thulium.pl/api/temporary_files

Parametry

filename

wymagany

Nazwa pliku. Przykładowa wartość: file.txt

Przykładowy request

POST https://api.thulium.pl/api/temporary_files?filename=file.txt
Dane file content

Przykładowy response

{"filename":"file.txt","token":"180174033853be57b76ed6a","size":12}

Przykładowe wywołanie


PHP

<?php
$data 
'file content';

$request curl_init('https://api.thulium.pl/api/temporary_files?filename=file.txt');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.postRawData("https://api.thulium.pl/api/temporary_files?filename=file.txt", new ByteArrayInputStream("content".getBytes(StandardCharsets.UTF_8)));
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/octet-stream" --data-binary @file.png "https://api.thulium.pl/api/temporary_files?filename=file.txt"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET connections

Ostatnia modyfikacja 2017-11-24 09:52:35

Zwraca listę połączeń

Opis pól:
  • count - zwraca całkowitą liczbę znalezionych rekordów (bez uwzględnienia limitu),
  • disposition - zawiera rezultat połączenia. Możliwe wartości to: BUSY, FAILED, ANSWERED, NO ANSWER.
  • duration - zawiera czas rozmowy,
  • billsec - zawiera czas bilingowy,
  • src - numer źródłowy,
  • dst - numer docelowy,
  • operator - operator użyty przy połączeniu,
  • filename - nazwa pliku z nagraniem (do wykorzystania w recordings/stream i recordings/download),
  • user - imię i nazwisko użytkownika wykonującego połączenie,
  • connection_id - unikalny identyfikator połączenia,
  • type - typ połączenia: wychodzące lub przychodzące (OUTBOUND/INBOUND).

URL

https://api.thulium.pl/api/connections

Parametry

limit

opcjonalny

Liczba rekordów, które mają być zwrócone. Domyślnie: 100. Maksymalna wartość: 100. Przykładowa wartość: 100
offset

opcjonalny

Od którego rekordu należy zwrócić rezultat (używane, gdy rekordów jest więcej, niż limit). Domyślna wartość: 0. Przykładowa wartość: 10
date_from

opcjonalny

Minimalna data rozmowy. Przykładowa wartość: 2014-07-04
date_to

opcjonalny

Maksymalna data rozmowy. Przykładowa wartość: 2014-07-14 12:34
src

opcjonalny

Numer źródłowy. Przykładowa wartość: 123321
dst

opcjonalny

Numer docelowy. Przykładowa wartość: 123321
connection_id

opcjonalny

Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
include_topics

opcjonalny

Czy zwracać temat rozmowy. Przykładowa wartość: true

Przykładowy request

GET https://api.thulium.pl/api/connections?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05

Przykładowy response

{
           "count": 1,
           "result": [   {
                 "date": "2014-07-07 11:08",
                 "src": "123123",
                 "dst": "1234",
                 "disposition": "ANSWERED",
                 "duration": 129,
                 "billsec": 104,
                 "operator": "siptrunk",
                 "filename": "sprzedaz/2014-07-07/2014-07-07_093545_921063395.234.wav",
                 "user": "Bob Smith",
                 "connection_id": "1416225570.341",
                 "type": "INBOUND"
           }]
        }

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/connections?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/connections?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/connections?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET connections/:id/topic

Ostatnia modyfikacja 2017-11-24 09:52:35

URL

https://api.thulium.pl/api/connections/:id/topic

Parametry

id

wymagany

Unikalne ID połączenia. Przykładowa wartość: xxxxx

Przykładowy request

GET https://api.thulium.pl/api/connections/123423.23/topic

Przykładowy response

{
    "topic_id": 96,
    "agent_login": "jan.kowalski",
    "comment": "komentarz do rozmowy",
    "custom_fields": [
        {
            "field_id": 1,
            "value": "pole 1 wartość"
        },
        {
            "field_id": 2,
            "value": "pole 2 wartość"
        }
    ]
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/connections/123423.23/topic');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/connections/123423.23/topic");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/connections/123423.23/topic"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST connections/:id/hangup

Ostatnia modyfikacja 2017-11-24 09:52:35
Rozłącza połączenie.

URL

https://api.thulium.pl/api/connections/:id/hangup

Parametry

id

wymagany

Unikalne ID połączenia. Przykładowa wartość: xxxxx

Przykładowy request

POST https://api.thulium.pl/api/connections/xxxxx/hangup

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/connections/xxxxx/hangup');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/connections/xxxxx/hangup", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.pl/api/connections/xxxxx/hangup"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST connections/call

Ostatnia modyfikacja 2017-11-24 09:52:35

Zestawia połączenie na wskazany numer.

Ponieważ w chwili wywoływania metody nieznany jest rezultat z jakim zakończy się próba połączenia, to metoda nic nie zwraca.

URL

https://api.thulium.pl/api/connections/call

Parametry

sip

wymagany

Numer SIP, dla którego ma być zestawione połączenie. Przykładowa wartość: 301
phone_number

wymagany

Numer telefonu, na który system zadzwoni. Przykładowa wartość: 666777888

Przykładowy request

POST https://api.thulium.pl/api/connections/call
Dane {"sip":"391","phone_number":"666777888"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"sip":"391","phone_number":"666777888"}';

$request curl_init('https://api.thulium.pl/api/connections/call');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/connections/call", "{\"sip\":\"391\",\"phone_number\":\"666777888\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"sip":"391","phone_number":"666777888"}' "https://api.thulium.pl/api/connections/call"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST connections/topic

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodaje lub aktualizuje temat połączenia.

URL

https://api.thulium.pl/api/connections/topic

Parametry

connection_id

wymagany

Unikalne ID połączenia. Przykładowa wartość: xxxxx
topic_id

wymagany

ID wybranego tematu tematu rozmowy. Zarówno temat jak i grupa do której należy muszą być aktywne. Można je zdobyć odpytując queue/:id/topics. Przykładowa wartość: 11
comment

opcjonalny

Komentarz do połączenia. Przykładowa wartość: nic ciekawego
custom_fields

opcjonalny

Lista parametrów używanych do zapisania wartości pól dodatkowych. Lista obiektów o atrybutach 'field_id', 'value'. Oba atrybuty są wymagane jeżeli taki obiekt wystąpi. Przykładowa wartość: [ { "field_id": 1, "value": "pewna wartość" }, { "field_id": 2, "value": "wartość druga" } ]

Przykładowy request

POST https://api.thulium.pl/api/connections/topics
Dane {"connection_id":"xxxxx","topic_id":1,"comment":"nic ciekawego","custom_fields":[{"field_id":1,"value":"pewna wartosc"},{"field_id":2,"value":"wartosc druga"}]}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"connection_id":"xxxxx","topic_id":1,"comment":"nic ciekawego","custom_fields":[{"field_id":1,"value":"pewna wartosc"},{"field_id":2,"value":"wartosc druga"}]}';

$request curl_init('https://api.thulium.pl/api/connections/topics');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/connections/topics", "{\"connection_id\":\"xxxxx\",\"topic_id\":1,\"comment\":\"nic ciekawego\",\"custom_fields\":[{\"field_id\":1,\"value\":\"pewna wartosc\"},{\"field_id\":2,\"value\":\"wartosc druga\"}]}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"connection_id":"xxxxx","topic_id":1,"comment":"nic ciekawego","custom_fields":[{"field_id":1,"value":"pewna wartosc"},{"field_id":2,"value":"wartosc druga"}]}' "https://api.thulium.pl/api/connections/topics"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP DELETE

DELETE forwardings/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Usuwanie przekierowania.

URL

https://api.thulium.pl/api/forwardings/:id

Parametry

id

wymagany

Identyfikator przekierowania. Przykładowa wartość: 12

Przykładowy request

DELETE https://api.thulium.pl/api/forwardings/12

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.pl/api/forwardings/12');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'DELETE');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.delete("https://api.thulium.pl/api/forwardings/12");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.pl/api/forwardings/12"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET forwardings

Ostatnia modyfikacja 2017-11-24 09:52:35
Pobieranie przekierowań.

URL

https://api.thulium.pl/api/forwardings

Parametry

destination_number

opcjonalny

Numer docelowy. Przykładowa wartość: 1234

Przykładowy request

GET https://api.thulium.pl/api/forwardings?destination_number=1234

Przykładowy response

[
  {
    "id": 12,
    "source_number": "1232",
    "destination_number": "1234",
    "forward_to": "234234",
    "date_from": "2015-08-24",
    "date_to": "2015-08-27",
    "time_from": "11:30",
    "time_to": "12:30",
    "description": "forwarding"
  }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/forwardings?destination_number=1234');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.get("https://api.thulium.pl/api/forwardings?destination_number=1234");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.pl/api/forwardings?destination_number=1234"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST forwardings

Ostatnia modyfikacja 2017-11-24 09:52:35
Dodawanie przekierowania.

URL

https://api.thulium.pl/api/forwardings

Parametry

source_number

opcjonalny

Numer źródłowy. Przykładowa wartość: 123
destination_number

opcjonalny

Numer docelowy. Przykładowa wartość: 123
forward_to

wymagany

Numer, na który nastąpi przekierowanie. Przykładowa wartość: 12345
date_from

opcjonalny

Data, od której przekierowanie będzie aktywne. Przykładowa wartość: 2015-08-24
date_to

opcjonalny

Data, do której przekierowanie będzie aktywne. Przykładowa wartość: 2015-09-24
time_from

opcjonalny

Godzina, od której przekierowanie będzie aktywne. Przykładowa wartość: 12:00
time_to

opcjonalny

Godzina, do której przekierowanie będzie aktywne. Przykładowa wartość: 13:00
description

opcjonalny

Opis przekierowania. Przykładowa wartość: Opis

Przykładowy request

POST https://api.thulium.pl/api/forwardings
Dane {"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a description"}

Przykładowy response

{
    "id": "21"
}

Przykładowe wywołanie


PHP

<?php
$data 
'{"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a description"}';

$request curl_init('https://api.thulium.pl/api/forwardings');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'POST');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.post("https://api.thulium.pl/api/forwardings", "{\"source_number\":\"111\",\"destination_number\":\"222\",\"forward_to\":\"333\",\"date_from\":\"2001-01-01\",\"date_to\":\"2007-07-07\",\"time_from\":\"01:01\",\"time_to\":\"07:07\",\"description\":\"a description\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a description"}' "https://api.thulium.pl/api/forwardings"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP PUT

PUT forwardings/:id

Ostatnia modyfikacja 2017-11-24 09:52:35
Zmiana przekierowania.

URL

https://api.thulium.pl/api/forwardings/:id

Parametry

id

wymagany

Identyfikator przekierowania. Przykładowa wartość: 12
source_number

opcjonalny

Numer źródłowy. Przykładowa wartość: 123
destination_number

opcjonalny

Numer docelowy. Przykładowa wartość: 123
forward_to

opcjonalny

Numer, na który nastąpi przekierowanie. Przykładowa wartość: 12345
date_from

opcjonalny

Data, od której przekierowanie będzie aktywne. Przykładowa wartość: 2015-08-24
date_to

opcjonalny

Data, do której przekierowanie będzie aktywne. Przykładowa wartość: 2015-09-24
time_from

opcjonalny

Godzina, od której przekierowanie będzie aktywne. Przykładowa wartość: 12:00
time_to

opcjonalny

Godzina, do której przekierowanie będzie aktywne. Przykładowa wartość: 13:00
description

opcjonalny

Opis przekierowania. Przykładowa wartość: Opis

Przykładowy request

PUT https://api.thulium.pl/api/forwardings/12
Dane {"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a new description"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a new description"}';

$request curl_init('https://api.thulium.pl/api/forwardings/12');
curl_setopt($requestCURLOPT_HTTPHEADER, array(
    
'Content-Type: application/json; charset=utf-8',
    
'Content-Length: ' mb_strlen($data)
));
curl_setopt($requestCURLOPT_USERPWD'api_user:api_pass');
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);
curl_setopt($requestCURLOPT_CUSTOMREQUEST'PUT');
curl_setopt($requestCURLOPT_POSTFIELDS$data);

$response curl_exec($request);
if (
$response) {
    
$httpCode curl_getinfo($requestCURLINFO_HTTP_CODE);
    if (
$httpCode == 200){
        
print_r(json_decode($response));
    } else {
        echo 
$response;
    }
} else {
    
trigger_error(curl_error($request), E_USER_WARNING);
}

curl_close($request);
JAVA

public class Example {
    public static void main(String[] args) throws Exception {
        ThuliumRestClient restClient = new ThuliumRestClient("api_user", "api_pass", true);

        ThuliumRestClient.ThuliumRestResponse response = restClient.put("https://api.thulium.pl/api/forwardings/12", "{\"source_number\":\"111\",\"destination_number\":\"222\",\"forward_to\":\"333\",\"date_from\":\"2001-01-01\",\"date_to\":\"2007-07-07\",\"time_from\":\"01:01\",\"time_to\":\"07:07\",\"description\":\"a new description\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{"source_number":"111","destination_number":"222","forward_to":"333","date_from":"2001-01-01","date_to":"2007-07-07","time_from":"01:01","time_to":"07:07","description":"a new description"}' "https://api.thulium.pl/api/forwardings/12"

Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP GET

GET system/pauses

Ostatnia modyfikacja 2017-11-24 09:52:35
Zwraca listę pauz.

URL

https://api.thulium.pl/api/system/pauses

Przykładowy request

GET https://api.thulium.pl/api/system/pauses

Przykładowy response

[
    {
        "id": 2,
        "name": "przerwa"
    },
    {
        "id": 0,
        "name": "wrap-up"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.pl/api/system/pauses');
curl_setopt($requestCURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8'));
curl_setopt($requestCURLOPT_USERPWD"api_user:api_pass");
curl_setopt($requestCURLOPT_TIMEOUT30);
curl_setopt($requestCURLOPT_RETURNTRANSFERtrue);

$response curl_exec($request);
if (