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_call Zwraca ostatnią rozmowę z kolejki.
GET agents/:login/screenshot/last Zwraca ostatnio wykonany zrzut ekranu agenta (obraz JPEG).
GET agents/:login/status Zwraca status agenta.
GET agents_groups Zwraca grupy agentów.
GET agents_statuses Zwraca statusy agentów.
GET agents_work_report Zwraca raport pracy agentów.
POST agents Dodanie agenta.
POST agents/:login/answer Odbiera telefon agenta jeśli korzysta on z Thulium Softphone.
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/login Loguje 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.
POST customers/:id/feed_records Dodanie wpisu do historii kontaktu.
PUT companies/:id Edycja firmy.
PUT customers/:id Edycja klienta.

Kampanie

HTTP Zasób Opis
DELETE outbounds/:id Usuwa kampanię wraz ze wszystkimi rekordami.
GET outbounds Zwraca listę wszystkich kampanii.
GET outbounds/:id/agents Zwraca listę wszystkich agentów w danej kampanii.
GET outbounds/:id/stats Zwraca statystykę rekordów dla kampanii.
GET outbounds/:id/statuses Zwraca listę wszystkich statusów w danej kampanii.
GET outbounds/stats Zwraca statystykę rekordów dla wszystkich aktywnych 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 (seria)

HTTP Zasób Opis
DELETE batch/outbounds Usuwanie wielu kampanii wraz ze wszystkimi rekordami.

Kampanie CRM

HTTP Zasób Opis
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/records Dodanie rekordu do kampanii CRM.
POST crm_outbounds/:id/records/:customer_id/copy_notes Kopiuje notatki z kampanii do CRM.
PUT crm_outbounds/:id/records/:customer_id Edycja rekordu z kampanii zasilanej z CRM.

Kampanie zwykłe

HTTP Zasób Opis
DELETE outbounds/:id/records/:phone_number Usuwanie rekordu z kampanii.
DELETE outbounds/:id/records_by_identifier/:identifier Usuwanie rekordu z kampanii.
GET outbounds/:id/records Zwraca listę rekordów w kampanii wraz z podstawowymi parametrami.
GET outbounds/:id/records/:phone_number Zwraca informacje o rekordzie w kampanii.
GET outbounds/:id/records_by_identifier/:identifier Zwraca informacje o rekordzie w kampanii.
GET outbounds_by_phone_number/:phone_number Zwraca listę kampanii, w których jest podany numer telefonu.
POST outbound_status_by_phone_number Zmiana statusu rekordów na podstawie numeru telefonu.
POST outbounds/:id/records Dodanie rekordu do kampanii.
PUT outbounds/:id/records/:phone_number Edytowanie rekordu w kampanii.
PUT outbounds/:id/records_by_identifier/:identifier Edytowanie rekordu w kampanii.

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).

Zgłoszenia

HTTP Zasób Opis
GET ticket_categories Zwraca listę kategorii zgłoszeń.
GET ticket_statuses Zwraca listę statusów zgłoszeń.
GET tickets Zwraca listę zgłoszeń.
GET tickets/:id Zwraca informacje o zgłoszeniu.
GET tickets/today_stats Zwraca statystyki zgłoszeń dla obecnego dnia.
POST tickets Dodanie zgłoszenia.
POST tickets/:id/comment Dodanie komentarza do zgłoszenia.
POST tickets/:id/customer_response Dodanie odpowiedzi od klienta do zgłoszenia.
PUT tickets/:id Edycja zgłoszenia.

Grupy pól specjalnych klienta

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

Elementy webhook

HTTP Zasób Opis
DELETE webhooks/:id Usuwa element webhook.
GET webhooks Zwraca wszystkie elementy webhook.
POST webhooks Dodaje element webhook.

Uwierzytelnianie

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

Uwierzytelnianie 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 stworzyć nowego użytkownika dla API zaloguj się do Panelu i wejdź do zakładki Administracja -> Użytkownicy -> Użytkownicy 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.
POST/PUT/DELETE 207 Odpowiedź zawiera wiele statusów dla poszczególnych obiektów.
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 410 Błędny request: szukany zasób został permanętnie usunięty.
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 -> Webhooki, 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

Stworzenie klienta

action Akcja rozróżniająca typ żądania Przykładowa wartość: CUSTOMER_CREATED
customer_id Identyfikator klienta Przykładowa wartość: 154
company_id Identyfikator firmy Przykładowa wartość: 5
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Porzucenie połaczenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: ABANDONED
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
hold_time Czas oczekiwania przed porzuceniem (w sekundach) Przykładowa wartość: 7
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

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
customer_id Identyfikator klienta Przykładowa wartość: 154
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
reason Strona która zakończyła połączenie (agent - użytkownik, caller - klient) Przykładowa wartość: caller

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

Agent nie odebrał połączenia

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_NOT_ANSWERED
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

Rozpoczęcie połączenia z IVR

action Akcja rozróżniająca typ żądania Przykładowa wartość: ENTER_IVR
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
source_number Numer dzwoniącego Przykładowa wartość: 523993855
destination_number Numer docelowy Przykładowa wartość: 111222333
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Transfer z kolejki do agenta

action Akcja rozróżniająca typ żądania Przykładowa wartość: QUEUE_TRANSFERRED_TO_AGENT
connection_id Unikalny identyfikator połączenia Przykładowa wartość: 1416225570.341
type Typ wykonanego transfery (attended, blind) Przykładowa wartość: attended
queue_id Identyfikator kolejki Przykładowa wartość: 155
agent_login Login agenta Przykładowa wartość: jkowalski
destination_number Numer agenta Przykładowa wartość: 162
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
customer_id Identyfikator klienta Przykładowa wartość: 154
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
caller_id Prezentacja numeru Przykładowa wartość: 123975300
attempt Próba połączenia (tylko dla OUTBOUND_CONNECTING) Przykładowa wartość: 1
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
  • OUTBOUND_AGENT_FAILED - akcja wywołana w momencie gdy nie udało się wykonać połączenia dla agenta (np. tuż przed rozpoczęciem dzwonienia przestał działać telefon - może nie wywołać się wtedy OUTBOUND_CONNECTING)
  • 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
next_call_date Data następnego połączenia Przykładowa wartość: 2017-04-20 09:46:00
assigned_agent_login Login przypisanego agenta Przykładowa wartość: jkowalski
previous_status_id Identyfikator poprzednio ustawionego statusu Przykładowa wartość: NULL
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 systemu

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 systemu

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

Telefon agenta został podłączony do systemu

action Akcja rozróżniająca typ żądania Przykładowa wartość: AGENT_PHONE_CONNECTED
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24
agent_login Login agenta Przykładowa wartość: jkowalski
phone_number Numer pod którym agent jest dostępny Przykładowa wartość: 800

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

Odpowiedź na zgłoszenie

action Akcja rozróżniająca typ żądania Przykładowa wartość: TICKET_AGENT_REPLIED
ticket_id Identyfikator zgłoszenia Przykładowa wartość: 12
message_id Identyfikator wiadomości w zgłoszeniu Przykładowa wartość: 122
agent_login Login agenta Przykładowa wartość: jkowalski
date Data wykonania akcji Przykładowa wartość: 2016-04-20 09:46:24

Pierwsze zamknięcie zgłoszenia

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

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

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę agentów.

URL

https://api.thulium.com/api/agents

Przykładowy request

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

Przykładowy response

[
    {
        "agent_id": 1,
        "login": "",
        "name": "Automat",
        "surname": "Automat",
        "email": "",
        "active": "",
        "number": "",
        "outbound_mode": "manual"
    },
    {
        "agent_id": 2,
        "login": "janko",
        "name": "Jan",
        "surname": "Kowalski",
        "email": "jan.kowalski@example.org",
        "active": true,
        "number": 559933,
        "outbound_mode": "automatic"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/api/agents");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca informacje o agencie.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

{
    "agent_id": 1,
    "login": "jkowalski",
    "name": "Jan",
    "surname": "Kowalski",
    "email": "jan.kowalski@example.org",
    "active": true,
    "number": 559933,
    "outbound_mode": "manual"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/api/agents/jkowalski");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents/jkowalski Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/last_queue_call

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca ostatnią rozmowę z kolejki (z ostatnich 24 godzin).

URL

https://api.thulium.com/api/agents/:login/last_queue_call

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.com/api/agents/jkowalski/last_queue_call

Przykładowy response

{
    "connection_id":"1563281993.1",
    "phone_number":"666555444",
    "start_date":"2019-07-16 14:59:54",
    "answered_date":"2019-07-16 14:59:59",
    "end_date":"2019-07-16 15:00:20",
    "customer_id":123,
    "customer_identifier":"some_company"
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/agents/jkowalski/last_queue_call');
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.com/api/agents/jkowalski/last_queue_call");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents/jkowalski/last_queue_call Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/screenshot/last

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca ostatnio wykonany zrzut ekranu agenta (obraz JPEG).

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

Dane binarne obrazu (JPEG)

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/screenshot/last"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents/jkowalski/screenshot/last Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents/:login/status

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca status agenta.

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

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

GET https://api.thulium.com/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.com/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.com/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.com/api/agents/jkowalski/status"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents/jkowalski/status Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents_groups

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca grupy agentów.

URL

https://api.thulium.com/api/agents_groups

Przykładowy request

GET https://api.thulium.com/api/agents_groups

Przykładowy response

[
    {
        "group_id":1,
        "name": "First group"
    },
    {
        "group_id":2,
        "name": "Second group"
    },
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/agents_groups');
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.com/api/agents_groups");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents_groups Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents_statuses

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca statusy agentów.

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

URL

https://api.thulium.com/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.com/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.com/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.com/api/agents_statuses");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents_statuses Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET agents_work_report

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca raport pracy agentów.

URL

https://api.thulium.com/api/agents_work_report

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
agent_logins

opcjonalny

Lista loginów agentów dla której ma być wygenerowany raport. UWAGA: Jeśli parametr nie zostanie przekazany wymagane jest podanie parametru agent_group_ids.
Identyfikatory agentów możemy pobrać z /agents Przykładowa wartość: agent_logins[]=jankowalski&agent_logins[]=anowak
agent_group_ids

opcjonalny

Lista identyfikatorów grup agentów dla której ma być wygenerowany raport. UWAGA: Jeśli parametr nie zostanie przekazany wymagane jest podanie parametru agent_logins.
Lista identyfikatorów grup agentów może zostać pobrana z /agents_groups Przykładowa wartość: agent_group_ids[]=2&agent_group_ids[]=3&agent_group_ids[]=9
date_from

wymagany

Data rozpoczęcia. Przykładowa wartość: 2019-11-01 11:12:00
date_to

wymagany

Data zakończenia. Przykładowa wartość: 2019-11-02 11:12:00
aggregate_by

opcjonalny

Grupowanie, domyślenie miesiąc (month). Jedna z wartości: hour_of_day, minute, hour, day, week, month, year Przykładowa wartość: month
queues_ids

opcjonalny

Lista identyfikatorów kolejek. Przykładowa wartość: queues_ids[]=1&queues_ids[]=3
outbound_threshold

opcjonalny

Próg dla wychodzących (s), domyślnie 0 Przykładowa wartość: 10

Przykładowy request

GET https://api.thulium.com/api/agents_work_report?agent_logins[]=jkowalski&date_from=2021-09-19&date_to=2021-10-19&aggregate_by=day

Przykładowy response

[
    {
        "agent": {
            "login": jkowalski,
            "name": "Janko",
            "surname": "Walski"
        },
        "period": "2019-12",
        "inbound": {
            "count": 0,
            "answered_count": 0,
            "not_answered_count": 0,
            "transferred_count": 0,
            "sum": "00:00:00",
            "average": "00:00:00",
            "wait_sum": 0,
            "wait_average": "00:00:00",
            "calls_per_hour": 0
        },
        "outbound_above_threshold": {
            "count": 0,
            "sum": "00:00:00",
            "average": "00:00:00"
        },
        "outbound_below_threshold": {
            "count": 0,
            "sum": "00:00:00",
            "average": "00:00:00"
        },
        "pauses": [
            {
                "id": "all",
                "count": 0,
                "sum": "00:00:00",
                "average": "00:00:00"
            },
            {
                "id": "free",
                "count": 0,
                "sum": "00:00:00",
                "average": "00:00:00"
            },
            {
                "id": 0,
                "count": 0,
                "sum": "00:00:00"
            },
            {
                "id": 1,
                "count": 0,
                "sum": "00:00:00",
                "average": "00:00:00"
            },
            {
                "id": 2,
                "count": 0,
                "sum": "00:00:00",
                "average": "00:00:00"
            },
            {
                "id": 3,
                "count": 0,
                "sum": "00:00:00"
            },
            {
                "id": 4,
                "count": 0,
                "sum": "00:00:00"
            }
        ]
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/agents_work_report?agent_logins[]=jkowalski&date_from=2021-09-19&date_to=2021-10-19&aggregate_by=day');
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.com/api/agents_work_report?agent_logins[]=jkowalski&date_from=2021-09-19&date_to=2021-10-19&aggregate_by=day");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X GET -H "Accept: application/json" "https://api.thulium.com/api/agents_work_report?agent_logins[]=jkowalski&date_from=2021-09-19&date_to=2021-10-19&aggregate_by=day"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/agents_work_report agent_logins[]==jkowalski date_from==2021-09-19 date_to==2021-10-19 aggregate_by==day Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Dodanie agenta.

URL

https://api.thulium.com/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
roles

opcjonalny

Identyfikatory ról. Przykładowa wartość: [1, 2]

Przykładowy request

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

Przykładowy response

{
    "agent_id": "11",
    "agent_login": "jkowalski"
}

Przykładowe wywołanie


PHP

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

$request curl_init('https://api.thulium.com/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.com/api/agents", "{\"name\":\"Jan\",\"surname\":\"Kowalski\",\"login\":\"jkowalski\",\"email\":\"jk@foo.bar\",\"password\":\"pass\",\"number\":\"345\",\"roles\":[1,2]}");
        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","roles":[1,2]}' "https://api.thulium.com/api/agents"

HTTPie

echo '{"name":"Jan","surname":"Kowalski","login":"jkowalski","email":"jk@foo.bar","password":"pass","number":"345","roles":[1,2]}' | http -a api_user:api_pass POST https://api.thulium.com/api/agents

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/answer

Ostatnia modyfikacja 2021-10-19 11:57:24
Odbiera telefon agenta jeśli korzysta on z Thulium Softphone.

URL

https://api.thulium.com/api/agents/:login/answer

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Uwagi

Funkcja działa tylko gdy agent korzysta z Thulium Softphone.

Przykładowy request

POST https://api.thulium.com/api/agents/jkowalski/answer

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/agents/jkowalski/answer');
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.com/api/agents/jkowalski/answer", "");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/answer

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/call

Ostatnia modyfikacja 2021-10-19 11:57:24

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 kampania jest wybierana automatycznie na podstawie przypisania agenta do kampanii.

URL

https://api.thulium.com/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. Przykładowa wartość: 00001
customer_id

opcjonalny

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

opcjonalny

Numer prezentacji (domyślnie brany jest z routingu połączeń lub parametrów kampanii). Przykładowa wartość: 321
custom_data

opcjonalny

Dodatkowe dane które zostaną przesyłane w webhookach. Przykładowa wartość: {"example":"json"} / some-id-123

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.com/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.com/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.com/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.com/api/agents/jkowalski/call"

HTTPie

echo '{"phone_number":"111222333"}' | http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/call

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/call_preview

Ostatnia modyfikacja 2021-10-19 11:57:24
Dzwoni w kampanii preview.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/call_preview"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/call_preview

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/free

Ostatnia modyfikacja 2021-10-19 11:57:24
Odpauzowuje agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/free"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/free

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/hangup

Ostatnia modyfikacja 2021-10-19 11:57:24
Rozłącza połączenia agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/hangup"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/hangup

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/login

Ostatnia modyfikacja 2021-10-19 11:57:24
Loguje agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

POST https://api.thulium.com/api/agents/jkowalski/login

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/agents/jkowalski/login');
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.com/api/agents/jkowalski/login", "");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/login

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/logout

Ostatnia modyfikacja 2021-10-19 11:57:24
Wylogowuje agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/logout"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/logout

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/pause

Ostatnia modyfikacja 2021-10-19 11:57:24
Pauzuje agenta.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/agents/jkowalski/pause"

HTTPie

echo '{"pause_id":"1"}' | http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/pause

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/screenshot

Ostatnia modyfikacja 2021-10-19 11:57:24
Wykonuje zrzut ekranu agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/screenshot"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/screenshot

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST agents/:login/stop_recording

Ostatnia modyfikacja 2021-10-19 11:57:24
Zatrzymuje nagrywanie bieżącej rozmowy agenta.

URL

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

Parametry

login

wymagany

Login agenta. Przykładowa wartość: jkowalski

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/agents/jkowalski/stop_recording"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/agents/jkowalski/stop_recording

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET chats

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca listę czatów.

Parametr count zwraca całkowitą liczbę znalezionych czatów (bez uwzględnienia limitu).

URL

https://api.thulium.com/api/chats

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 rozpoczęcia czata. Przykładowa wartość: 2014-07-04
date_to

opcjonalny

Maksymalna data rozpoczęcia czata. Przykładowa wartość: 2014-07-14 12:34
status

opcjonalny

Status czata. Przykładowa wartość: CLOSED
chat_queue_id

opcjonalny

Identyfikator kolejki czata. Przykładowa wartość: 3
include_messages

opcjonalny

Dołącz listę wiadomości. Może przyjąć wartość true/false, domyślnie false. Przykładowa wartość: false

Uwagi

Pole status może przyjmować następujące wartości:
  • CREATED - czat został rozpoczęty przez klienta
  • IN_PROGRESS - czat jest w trakcie (co oznacza, że agent odpisał na czat)
  • CLOSED - czat został zakończony
W polu sent_by zwracany jest autor wiadomości. Przyjmuje jedną z wartości:
  • USER - wiadomość napisana przez agenta
  • CLIENT - wiadomość napisana przez klienta
  • AUTO - wiadomość systemowa

Przykładowy request

GET https://api.thulium.com/api/chats?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05&status=CLOSED&include_messages=true

Przykładowy response

{
   "count": 3,
   "result": [
       {
            "chat_queue_id": 3,
            "client_email": "andrzej.nowak@company.bar",
            "client_name": "Andrzej Nowak",
            "customer_id": 2,
            "conversation_id": "6ed7c941-2c8a-411e-95d2-338a9f64800a",
            "created_at": "2017-12-11 10:23:04.318",
            "closed_at": "2017-12-11 11:21:05.221",
            "status": "CLOSED",
            "user_login": "jkowalski",
            "rating": 1,
            "messages": [
                {
                    "date": "2020-01-01 11:02:03",
                    "message": "Dzień dobry!",
                    "sent_by": "USER",
                    "user_name": "Jan Kowalski",
                    "user_login": "jkowalski"
                },
                {
                    "date": "2020-01-01 11:02:46",
                    "message": "Dzień dobry, mam pytanie odnośnie produktu",
                    "sent_by": "CLIENT",
                    "user_name": null,
                    "user_login": null
                },
                {
                    "date": "2020-01-01 11:02:56",
                    "message": "Jakiego konkretnie?",
                    "sent_by": "USER",
                    "user_name": "Jan Kowalski",
                    "user_login": "jkowalski"
                }
            ]
       }
   ]
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/chats?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05&status=CLOSED&include_messages=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.com/api/chats?limit=1&offset=0&date_from=2014-07-04&date_to=2014-07-05&status=CLOSED&include_messages=true");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/chats limit==1 offset==0 date_from==2014-07-04 date_to==2014-07-05 status==CLOSED include_messages==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET chats/queues

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca listę kolejek czatów.

URL

https://api.thulium.com/api/chats/queues

Przykładowy request

GET https://api.thulium.com/api/chats/queues

Przykładowy response

[
  {
    "chat_queue_id": 3,
    "name": "BOK",
    "display_name": null
  },
  {
    "chat_queue_id": 4,
    "name": "service",
    "display_name": "Service queue"
  }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/chats/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.com/api/chats/queues");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/chats/queues Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST chat_conversations/:id/message

Ostatnia modyfikacja 2021-10-19 11:57:24
Wysyła wiadomość na czacie w ramach danej konwersacji.

URL

https://api.thulium.com/api/chat_conversations/:id/message

Parametry

id

wymagany

Identyfikator konwersacji (zwrócony przez start). Przykładowa wartość: 6ed7c941-2c8a-411e-95d2-338a9f64800a
text

opcjonalny

Wiadomość do wysłania. Przykładowa wartość: Hello, world!

Przykładowy request

POST https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/message
Dane {"text":"Hello, world!"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"text":"Hello, world!"}';

$request curl_init('https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/message');
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.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/message", "{\"text\":\"Hello, world!\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"text":"Hello, world!"}' "https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/message"

HTTPie

echo '{"text":"Hello, world!"}' | http -a api_user:api_pass POST https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/message

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST chat_conversations/:id/stop

Ostatnia modyfikacja 2021-10-19 11:57:24
Zakańcza konwersację na czacie.

URL

https://api.thulium.com/api/chat_conversations/:id/stop

Parametry

id

wymagany

Identyfikator konwersacji (zwrócony przez start). Przykładowa wartość: 6ed7c941-2c8a-411e-95d2-338a9f64800a

Przykładowy request

POST https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/stop

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/stop');
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.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/stop", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/stop"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/chat_conversations/6ed7c941-2c8a-411e-95d2-338a9f64800a/stop

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST chat_conversations/start

Ostatnia modyfikacja 2021-10-19 11:57:24

Rozpoczyna konwersację na czacie.

Kolejność dopasowania klientów z CRM:

  • Pole customer_id
  • Pole client_id
  • Adres e-mail

URL

https://api.thulium.com/api/chat_conversations/start

Parametry

chat_queue_id

wymagany

Identyfikator kolejki czata. Przykładowa wartość: 3
client_name

opcjonalny

Imię klienta. Przykładowa wartość: Jan
client_surname

opcjonalny

Nazwisko klienta. Przykładowa wartość: Kowalski
client_email

opcjonalny

Adres e-mail klienta. Przykładowa wartość: jan.kowalski@example.org
client_id

opcjonalny

Zewnętrzny identyfikator klienta. Przykładowa wartość: 1234
customer_id

opcjonalny

Identyfikator klienta w Thulium. Przykładowa wartość: 1

Przykładowy request

POST https://api.thulium.com/api/chat_conversations/start?chat_queue_id=3&client_id=1234

Przykładowy response

{
    "conversation_id": "6ed7c941-2c8a-411e-95d2-338a9f64800a"
}

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/chat_conversations/start?chat_queue_id=3&client_id=1234');
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.com/api/chat_conversations/start?chat_queue_id=3&client_id=1234", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.com/api/chat_conversations/start?chat_queue_id=3&client_id=1234"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/chat_conversations/start

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE companies/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie firmy. Usuwa firmę i wszystkie jej zależności. Zachowane zostają informacje o połączeniach, czatach oraz zgłoszeniach.

URL

https://api.thulium.com/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.com/api/companies/13

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/api/companies/13");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/companies/13 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE customers/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie klienta. Usuwa klienta i wszystkie jego zależności. Zachowane zostają informacje o połączeniach, czatach oraz zgłoszeniach.

URL

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

Parametry

id

wymagany

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

Przykładowy request

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

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/api/customers/13");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/customers/13 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET companies

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę firm zawężoną o podane kryteria wyszukiwania.

URL

https://api.thulium.com/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
include_invoice_address

opcjonalny

Czy zwracać adres do faktur. Przykładowa wartość: true
include_mail_drop_address

opcjonalny

Czy zwracać adres korespondencyjny. 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.com/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.com/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.com/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.com/api/companies?nip=6783144527&include_custom_fields=true&include_address=true"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/companies nip==6783144527 include_custom_fields==true include_address==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET companies/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca firmę o podanym identyfikatorze firmy.

URL

https://api.thulium.com/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
include_invoice_address

opcjonalny

Czy zwracać adres do faktur. Przykładowa wartość: true
include_mail_drop_address

opcjonalny

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

Przykładowy request

GET https://api.thulium.com/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.com/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.com/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.com/api/companies/28?include_custom_fields=true&include_address=true"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/companies/28 include_custom_fields==true include_address==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET customer_id_by_outbound_status

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę identyfikatorów klientów zawężoną o aktualny status rekordu w kampanii.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/customer_id_by_outbound_status?outbound_id[]=00002&status_id[]=1&outbound_id[]=00003&status_id[]=1"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/customer_id_by_outbound_status outbound_id[]==00002 status_id[]==1 outbound_id[]==00003 status_id[]==1 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET customers

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę klientów zawężonych o podane kryteria wyszukiwania.

URL

https://api.thulium.com/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 lub pustą wartość (klienci którzy nie mają numeru telefonu) 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
include_invoice_address

opcjonalny

Czy zwracać adres do faktur. Przykładowa wartość: true
include_mail_drop_address

opcjonalny

Czy zwracać adres korespondencyjny. 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.com/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":"",
        "updated_at":"",
        "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.com/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.com/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.com/api/customers?email=jan.kowalski@foo.bar&include_custom_fields=true&include_address=true"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/customers email==jan.kowalski@foo.bar include_custom_fields==true include_address==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET customers/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca klienta o podanym identyfikatorze klienta.

URL

https://api.thulium.com/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
include_invoice_address

opcjonalny

Czy zwracać adres do faktur. Przykładowa wartość: true
include_mail_drop_address

opcjonalny

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

Przykładowy request

GET https://api.thulium.com/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":"",
    "updated_at":"",
    "custom_fields":
    {
       "ID": null,
       "Dodatkowe informacje": "Numer dowodu - AXX 121212"
    }
}
    

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/customers/273?include_custom_fields=true"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/customers/273 include_custom_fields==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST companies

Ostatnia modyfikacja 2021-10-19 11:57:24

Dodanie firmy do CRM.

URL

https://api.thulium.com/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.
note

opcjonalny

Notatka.
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.
invoice_address

opcjonalny

Adres do faktur.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.
mail_drop_address

opcjonalny

Adres korespondencyjny.
   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.com/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.com/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.com/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.com/api/companies"

HTTPie

echo '{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}' | http -a api_user:api_pass POST https://api.thulium.com/api/companies

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST customers

Ostatnia modyfikacja 2021-10-19 11:57:24

Dodanie klienta do CRM.

URL

https://api.thulium.com/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.
note

opcjonalny

Notatka.
pesel

opcjonalny

Numer PESEL.
job

opcjonalny

Miejsce pracy.
job_title

opcjonalny

Stanowisko.
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.
invoice_address

opcjonalny

Adres do faktur.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.
mail_drop_address

opcjonalny

Adres korespondencyjny.
   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.com/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.com/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.com/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.com/api/customers"

HTTPie

echo '{"surname":"Kowalski","phone_number":["333444555","123432234"]}' | http -a api_user:api_pass POST https://api.thulium.com/api/customers

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST customers/:id/feed_records

Ostatnia modyfikacja 2021-10-19 11:57:24

Dodanie wpisu do historii kontaktu.

URL

https://api.thulium.com/api/customers/:id/feed_records

Parametry

type

wymagany

Typ wpisu (możliwe typy: ZOWIE)
payload

wymagany

Dane wpisu.

Przykładowy request

POST https://api.thulium.com/api/customers/23/feed_records
Dane {"type":"ZOWIE","payload":"[{\"id\":\"sample-id\",\"type\":\"text\",\"payload\":{\"message\":\"Sample message\"},\"author\":\"customer\",\"time\":\"2021-02-02T10:10:12\"}]"}

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'{"type":"ZOWIE","payload":"[{\"id\":\"sample-id\",\"type\":\"text\",\"payload\":{\"message\":\"Sample message\"},\"author\":\"customer\",\"time\":\"2021-02-02T10:10:12\"}]"}';

$request curl_init('https://api.thulium.com/api/customers/23/feed_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.com/api/customers/23/feed_records", "{\"type\":\"ZOWIE\",\"payload\":\"[{\\"id\\":\\"sample-id\\",\\"type\\":\\"text\\",\\"payload\\":{\\"message\\":\\"Sample message\\"},\\"author\\":\\"customer\\",\\"time\\":\\"2021-02-02T10:10:12\\"}]\"}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '{"type":"ZOWIE","payload":"[{\"id\":\"sample-id\",\"type\":\"text\",\"payload\":{\"message\":\"Sample message\"},\"author\":\"customer\",\"time\":\"2021-02-02T10:10:12\"}]"}' "https://api.thulium.com/api/customers/23/feed_records"

HTTPie

echo '{"type":"ZOWIE","payload":"[{\"id\":\"sample-id\",\"type\":\"text\",\"payload\":{\"message\":\"Sample message\"},\"author\":\"customer\",\"time\":\"2021-02-02T10:10:12\"}]"}' | http -a api_user:api_pass POST https://api.thulium.com/api/customers/23/feed_records

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP PUT

PUT companies/:id

Ostatnia modyfikacja 2021-10-19 11:57:24

Edycja firmy.

URL

https://api.thulium.com/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.
note

opcjonalny

Notatka.
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.
invoice_address

opcjonalny

Adres do faktur.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.
mail_drop_address

opcjonalny

Adres korespondencyjny.
   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.com/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.com/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.com/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.com/api/companies/23"

HTTPie

echo '{"name":"company","nip":"6783144527","address":{"city":"Krakow","street":"Zlotej Jesieni"}}' | http -a api_user:api_pass PUT https://api.thulium.com/api/companies/23

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP PUT

PUT customers/:id

Ostatnia modyfikacja 2021-10-19 11:57:24

Edycja klienta.

URL

https://api.thulium.com/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.
note

opcjonalny

Notatka.
pesel

opcjonalny

Numer PESEL.
job

opcjonalny

Miejsce pracy.
job_title

opcjonalny

Stanowisko.
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.
invoice_address

opcjonalny

Adres do faktur.
   street

   opcjonalny

Nazwa ulicy.
   building

   opcjonalny

Numer budynku.
   flat

   opcjonalny

Numer mieszkania.
   postcode

   opcjonalny

Kod pocztowy.
   city

   opcjonalny

Miasto.
   country

   opcjonalny

Kraj.
mail_drop_address

opcjonalny

Adres korespondencyjny.
   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.com/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.com/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.com/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.com/api/customers/12"

HTTPie

echo '{"surname":"Kowalski","phone_number":"333444555"}' | http -a api_user:api_pass PUT https://api.thulium.com/api/customers/12

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE batch/customers

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie klientów. Usuwa klientów i wszystkie ich zależności. Zachowane zostają informacje o połączeniach, czatach oraz zgłoszeniach.

URL

https://api.thulium.com/api/batch/customers

Parametry

customer_id[]

wymagany

Identyfikator klienta, który ma być usunięty (jeden lub wiele). Przykładowa wartość: 13

Przykładowy request

DELETE https://api.thulium.com/api/batch/customers?customer_id[]=13&customer_id[]=14

Przykładowy response

{
    "13": {
        "http_status": 204,
    },
    "14": {
        "http_status": 404,
        "message": "Customer not found."
    }
}

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/batch/customers?customer_id[]=13&customer_id[]=14');
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.com/api/batch/customers?customer_id[]=13&customer_id[]=14");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.com/api/batch/customers?customer_id[]=13&customer_id[]=14"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/batch/customers customer_id[]==13 customer_id[]==14 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST batch/customers

Ostatnia modyfikacja 2021-10-19 11:57:24

Dodanie wielu klientów.

URL

https://api.thulium.com/api/batch/customers

Parametry

customers

wymagany

Lista klientów do dodania. Każdy klient zawiera:
          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.
          note

          opcjonalny

Notatka.
          pesel

          opcjonalny

Numer PESEL.
          job

          opcjonalny

Miejsce pracy.
          job_title

          opcjonalny

Stanowisko.
          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.
          invoice_address

          opcjonalny

Adres do faktur.
             street

             opcjonalny

Nazwa ulicy.
             building

             opcjonalny

Numer budynku.
             flat

             opcjonalny

Numer mieszkania.
             postcode

             opcjonalny

Kod pocztowy.
             city

             opcjonalny

Miasto.
             country

             opcjonalny

Kraj.
          mail_drop_address

          opcjonalny

Adres korespondencyjny.
             street

             opcjonalny

Nazwa ulicy.
             building

             opcjonalny

Numer budynku.
             flat

             opcjonalny

Numer mieszkania.
             postcode

             opcjonalny

Kod pocztowy.
             city

             opcjonalny

Miasto.
             country

             opcjonalny

Kraj.

Uwagi

Pole custom_fields musi zwawierać mapę pól specjalnych gdzie kluczem jest tekstowa nazwa pola specjalnego 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 specjalnego będzie pusta zawartość pola zostanie usunięta.
W przypadku gdy pole specjalne nie istnieje zostanie utworzone.
Odpowiedź zawiera obiekt, którego klucze odpowiadają kolejności klientów na liście customers

Przykładowy request

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

Przykładowy response

{
    "0": {
        "http_status": 201,
        "customer_id": "13"
    },
    "1": {
        "http_status": 400,
        "message": "Phone number must be numeric."
    }
}

Przykładowe wywołanie


PHP

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

$request curl_init('https://api.thulium.com/api/batch/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.com/api/batch/customers", "{\"customers\":[{\"surname\":\"Kowalski\"},{\"phone_number\":\"333444555\"}]}");
        System.out.println(response);
    }
}

CURL

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

HTTPie

echo '{"customers":[{"surname":"Kowalski"},{"phone_number":"333444555"}]}' | http -a api_user:api_pass POST https://api.thulium.com/api/batch/customers

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP PUT

PUT batch/customers

Ostatnia modyfikacja 2021-10-19 11:57:24

Edycja wielu klientów.

URL

https://api.thulium.com/api/batch/customers

Parametry

customers

wymagany

Lista klientów do edycji. Każdy klient zawiera:
          customer_id

          wymagany

Identyfikator klienta który ma zostań zaktualizowany.
          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.
          note

          opcjonalny

Notatka.
          pesel

          opcjonalny

Numer PESEL.
          job

          opcjonalny

Miejsce pracy.
          job_title

          opcjonalny

Stanowisko.
          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.
          invoice_address

          opcjonalny

Adres do faktur.
             street

             opcjonalny

Nazwa ulicy.
             building

             opcjonalny

Numer budynku.
             flat

             opcjonalny

Numer mieszkania.
             postcode

             opcjonalny

Kod pocztowy.
             city

             opcjonalny

Miasto.
             country

             opcjonalny

Kraj.
          mail_drop_address

          opcjonalny

Adres korespondencyjny.
             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.com/api/batch/customers
Dane { "customers": [ { "customer_id": "13", "surname": "Kowalski" }, { "customer_id": "14", "phone_number": "333444555" } ] }

Przykładowy response

{
    "13": {
        "http_status": 204
    },
    "14": {
        "http_status": 404,
        "message": "Customer not found."
    }
}

Przykładowe wywołanie


PHP

<?php
$data 
'{
    "customers": [
        {
            "customer_id": "13",
            "surname": "Kowalski"
        },
        {
            "customer_id": "14",
            "phone_number": "333444555"
        }
    ]
}'
;

$request curl_init('https://api.thulium.com/api/batch/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'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.com/api/batch/customers", "{
    \"customers\": [
        {
            \"customer_id\": \"13\",
            \"surname\": \"Kowalski\"
        },
        {
            \"customer_id\": \"14\",
            \"phone_number\": \"333444555\"
        }
    ]
}");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X PUT -H "Content-type: application/json" -d '{
    "customers": [
        {
            "customer_id": "13",
            "surname": "Kowalski"
        },
        {
            "customer_id": "14",
            "phone_number": "333444555"
        }
    ]
}' "https://api.thulium.com/api/batch/customers"

HTTPie

echo '{
    "customers": [
        {
            "customer_id": "13",
            "surname": "Kowalski"
        },
        {
            "customer_id": "14",
            "phone_number": "333444555"
        }
    ]
}' | http -a api_user:api_pass PUT https://api.thulium.com/api/batch/customers

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE outbounds/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwa kampanię wraz ze wszystkimi rekordami.

URL

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

Parametry

id

wymagany

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

opcjonalny

Flaga, która określa, czy nagrania mają zostać usunięte. Domyślnie wyłączona. Przykładowa wartość: true

Uwagi

Kampania oraz nagrania nie są usuwane natychmiast, tylko dodawane do kolejki do usunięcia. Usunięcie wszystkich rekordów i nagrań może potrwać do kilku godzin.

Przykładowy request

DELETE https://api.thulium.com/api/outbounds/12?delete_recordings=true

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/outbounds/12?delete_recordings=true');
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.com/api/outbounds/12?delete_recordings=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.com/api/outbounds/12?delete_recordings=true"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/outbounds/12 delete_recordings==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę wszystkich kampanii.

URL

https://api.thulium.com/api/outbounds

Przykładowy request

GET https://api.thulium.com/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.com/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.com/api/outbounds");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę wszystkich agentów w danej kampanii.

URL

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

Parametry

id

wymagany

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

Przykładowy request

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

Przykładowy response

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

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/outbounds/00001/agents"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/agents Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/stats

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca statystykę rekordów dla kampanii.

URL

https://api.thulium.com/api/outbounds/:id/stats

Parametry

id

wymagany

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

Uwagi

Zwracane pola to:
  • id identyfikator kampanii
  • records_count całkowita liczba rekordów w kampanii
  • completion_percent procent ukończenia kampanii

Przykładowy request

GET https://api.thulium.com/api/outbounds/00001/stats

Przykładowy response

{
    "id": "00001",
    "records_count": 1324,
    "completion_percent": 14.87
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/outbounds/00001/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.com/api/outbounds/00001/stats");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/stats Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/statuses

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca listę wszystkich statusów w danej kampanii.

URL

https://api.thulium.com/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.com/api/outbounds/00001/statuses

Przykładowy response

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

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/outbounds/00001/statuses"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/statuses Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/stats

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca statystykę rekordów dla wszystkich aktywnych kampanii.

URL

https://api.thulium.com/api/outbounds/stats

Parametry

id

wymagany

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

Uwagi

Zwracane pola to:
  • id identyfikator kampanii
  • records_count całkowita liczba rekordów w kampanii
  • completion_percent procent ukończenia kampanii

Przykładowy request

GET https://api.thulium.com/api/outbounds/stats

Przykładowy response

[
    {
        "id": "00001",
        "records_count": 1324,
        "completion_percent": 14.87
    },
    {
        "id": "00002",
        "records_count": 20,
        "completion_percent": 23
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/outbounds/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.com/api/outbounds/stats");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/stats Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST outbounds

Ostatnia modyfikacja 2021-10-19 11:57:24
Dodaje kampanie.

URL

https://api.thulium.com/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" }
group_id

opcjonalny

Id grupy kampani. Przykładowa wartość: 15

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
  • predictive_max_calls - maksymalna wartość współczynnika naddzwaniania
  • predictive_min_calls - minimalna wartość współczynnika naddzwaniania
Pole dialer posiada mozliwość wybrania jednego z poniższych dialerów:
  • predictive
  • progressive
  • preview

Przykładowy request

POST https://api.thulium.com/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.com/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.com/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.com/api/outbounds"

HTTPie

echo '{"id":"09098","name":"Some outbound name","start_date":"2015-09-10","end_date":"2015-09-12","dialer":"predictive","crm":true,"parameters":{"caller_id":"1234"}}' | http -a api_user:api_pass POST https://api.thulium.com/api/outbounds

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/add_agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Dodaje listę agentów do kampanii.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/outbounds/00001/add_agents"

HTTPie

echo '{"logins":["anowak","jkowalski"]}' | http -a api_user:api_pass POST https://api.thulium.com/api/outbounds/00001/add_agents

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/clone

Ostatnia modyfikacja 2021-10-19 11:57:24
Klonuje kampanię.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/outbounds/00001/clone"

HTTPie

echo '{"new_id":"77744","name":"New cloned outbound","start_date":"2015-09-10","end_date":"2015-09-12","parameters":{"caller_id":"1234"}}' | http -a api_user:api_pass POST https://api.thulium.com/api/outbounds/00001/clone

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/remove_agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwa agentów z kampanii.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/outbounds/00001/remove_agents"

HTTPie

echo '{"logins":["anowak","jkowalski"]}' | http -a api_user:api_pass POST https://api.thulium.com/api/outbounds/00001/remove_agents

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/set_agents

Ostatnia modyfikacja 2021-10-19 11:57:24
Dodaje i usuwa agentów z kampanii.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/outbounds/00001/set_agents"

HTTPie

echo '{"logins":["anowak","jkowalski"]}' | http -a api_user:api_pass POST https://api.thulium.com/api/outbounds/00001/set_agents

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP PUT

PUT outbounds/:id

Ostatnia modyfikacja 2021-10-19 11:57:24
Aktualizuje kampanie.

URL

https://api.thulium.com/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" }
group_id

opcjonalny

Id grupy kampani. Przykładowa wartość: 15

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
  • predictive_max_calls - maksymalna wartość współczynnika naddzwaniania
  • predictive_min_calls - minimalna wartość współczynnika naddzwaniania
Pole dialer posiada mozliwość wybrania jednego z poniższych dialerów:
  • predictive
  • progressive
  • preview

Przykładowy request

PUT https://api.thulium.com/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.com/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.com/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.com/api/outbounds/09098"

HTTPie

echo '{"name":"Some new name","active":true,"parameters":{"caller_id":"1234"}}' | http -a api_user:api_pass PUT https://api.thulium.com/api/outbounds/09098

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE batch/outbounds

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie wielu kampanii wraz ze wszystkimi rekordami.

URL

https://api.thulium.com/api/batch/outbounds

Parametry

id[]

wymagany

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

opcjonalny

Flaga, która określa, czy nagrania mają zostać usunięte. Domyślnie wyłączona. Przykładowa wartość: true

Uwagi

Kampania oraz nagrania nie są usuwane natychmiast, tylko dodawane do kolejki do usunięcia. Usunięcie wszystkich rekordów i nagrań może potrwać do kilku godzin.
Możliwe statusy odpowiedzi:
  • REMOVAL_QUEUED - kampania dodana do kolejki
  • NOT_EXIST - kampania nie istnieje
  • ALREADY_QUEUED - kampania była wcześniej dodana do kolejki

Przykładowy request

DELETE https://api.thulium.com/api/batch/outbounds?id[]=00001&id[]=00002&id[]=00003&delete_recordings=true

Przykładowy response

[
    {
        "http_status": 200,
        "id": "00001",
        "status": "REMOVAL_QUEUED"
    },
    {
        "http_status": 404,
        "id": "00002",
        "status": "NOT_EXIST"
    },
    {
        "http_status": 400,
        "id": "00003",
        "status": "ALREADY_QUEUED"
    }
]

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/batch/outbounds?id[]=00001&id[]=00002&id[]=00003&delete_recordings=true');
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.com/api/batch/outbounds?id[]=00001&id[]=00002&id[]=00003&delete_recordings=true");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.com/api/batch/outbounds?id[]=00001&id[]=00002&id[]=00003&delete_recordings=true"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/batch/outbounds id[]==00001 id[]==00002 id[]==00003 delete_recordings==true Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie rekordu z kampanii CRM.

Rekord, który jest w trakcie rozmowy nie zostanie usunięty.

URL

https://api.thulium.com/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.com/api/crm_outbounds/00001/records/441

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/crm_outbounds/00001/records/441"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/crm_outbounds/00001/records/441 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET crm_outbounds/:id/records

Ostatnia modyfikacja 2021-10-19 11:57:24

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.com/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
include_invoice_address

opcjonalny

Czy zwracać adres do faktur. Przykładowa wartość: true
include_mail_drop_address

opcjonalny

Czy zwracać adres korespondencyjny. 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.com/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.com/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.com/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.com/api/crm_outbounds/00001/records?limit=5&offset=0&order=-next_call_date&status_id[]=10&status_id[]=15"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/crm_outbounds/00001/records limit==5 offset==0 order==-next_call_date status_id[]==10 status_id[]==15 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca informacje o rekordzie w kampanii zasilanej z CRM.

URL

https://api.thulium.com/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.com/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.com/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.com/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.com/api/crm_outbounds/00001/records/441"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/crm_outbounds/00001/records/441 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST crm_outbounds/:id/records

Ostatnia modyfikacja 2021-10-19 11:57:24
Dodanie rekordu do kampanii CRM.

URL

https://api.thulium.com/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

opcjonalny

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

opcjonalny

Identyfikator statusu słownikowego. Przykładowa wartość: 8
agent_login

opcjonalny

Login agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: j.doe
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.com/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.com/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.com/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.com/api/crm_outbounds/00001/records"

HTTPie

echo '{"customer_id":441,"status_id":3}' | http -a api_user:api_pass POST https://api.thulium.com/api/crm_outbounds/00001/records

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST crm_outbounds/:id/records/:customer_id/copy_notes

Ostatnia modyfikacja 2021-10-19 11:57:24
Kopiuje notatki z kampanii do CRM.

URL

https://api.thulium.com/api/crm_outbounds/:id/records/:customer_id/copy_notes

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

POST https://api.thulium.com/api/crm_outbounds/00001/records/441/copy_notes

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/crm_outbounds/00001/records/441/copy_notes');
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.com/api/crm_outbounds/00001/records/441/copy_notes", "");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X POST -H "Content-type: application/json" -d '' "https://api.thulium.com/api/crm_outbounds/00001/records/441/copy_notes"

HTTPie

http -a api_user:api_pass POST https://api.thulium.com/api/crm_outbounds/00001/records/441/copy_notes

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP PUT

PUT crm_outbounds/:id/records/:customer_id

Ostatnia modyfikacja 2021-10-19 11:57:24
Edycja rekordu z kampanii zasilanej z CRM.

URL

https://api.thulium.com/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

opcjonalny

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

opcjonalny

Identyfikator statusu słownikowego. Przykładowa wartość: 8
agent_login

opcjonalny

Login agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: j.doe
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.com/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.com/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.com/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.com/api/crm_outbounds/00001/records/441"

HTTPie

echo '{"status_id":"3"}' | http -a api_user:api_pass PUT https://api.thulium.com/api/crm_outbounds/00001/records/441

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE batch/crm_outbounds/:id/records

Ostatnia modyfikacja 2021-10-19 11:57:24
Usuwanie wielu rekordów z kampanii CRM.

Rekord, który jest w trakcie rozmowy nie zostanie usunięty (zwróci status CALL_IN_PROGRESS).

URL

https://api.thulium.com/api/batch/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.com/api/batch/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442

Przykładowy response

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

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/batch/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.com/api/batch/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.com/api/batch/crm_outbounds/00001/records?customer_id[]=441&customer_id[]=442"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/batch/crm_outbounds/00001/records customer_id[]==441 customer_id[]==442 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST batch/crm_outbounds/:id/records

Ostatnia modyfikacja 2021-10-19 11:57:24
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,
FAILED - dodanie klienta do kampanii nie powiodło się.

URL

https://api.thulium.com/api/batch/crm_outbounds/:id/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

          opcjonalny

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

          opcjonalny

Identyfikator statusu słownikowego. Przykładowa wartość: 8
          agent_login

          opcjonalny

Login agenta do którego zostanie przypisany rekord. Wymagane dla statusu systemowego MY_RECORD. Przykładowa wartość: j.doe
          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.com/api/batch/crm_outbounds/00001/records
Dane { "records": [ { "customer_id": 441, "status_id": 3 }, { "customer_id": 445, "status_id": 1 }, { "customer_id": 448, "status_id": 1 } ] }

Przykładowy response

{
    "441": {
        "http_status": 201,
        "record_id": 111,
        "status": "ADDED"
    },
    "445": {
        "http_status": 400,
        "record_id": 100,
        "status": "ALREADY_EXISTS"
    },
    "448": {
        "http_status": 400,
        "status": "FAILED",
        "message": "Customer not found."
    }
}

Przykładowe wywołanie


PHP

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

$request curl_init('https://api.thulium.com/api/batch/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.com/api/batch/crm_outbounds/00001/records", "{
    \"records\": [
        {
            \"customer_id\": 441,
            \"status_id\": 3
        },
        {
            \"customer_id\": 445,
            \"status_id\": 1
        },
        {
            \"customer_id\": 448,
            \"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
        },
        {
            "customer_id": 448,
            "status_id": 1
        }
    ]
}' "https://api.thulium.com/api/batch/crm_outbounds/00001/records"

HTTPie

echo '{
    "records": [
        {
            "customer_id": 441,
            "status_id": 3
        },
        {
            "customer_id": 445,
            "status_id": 1
        },
        {
            "customer_id": 448,
            "status_id": 1
        }
    ]
}' | http -a api_user:api_pass POST https://api.thulium.com/api/batch/crm_outbounds/00001/records

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE outbounds/:id/records/:phone_number

Ostatnia modyfikacja 2021-10-19 11:57:24

Usuwanie rekordu z kampanii.

Dla zduplikowanych numerów zostaną usunięte wszystkie znalezione rekordy.

Rekord, który jest w trakcie rozmowy nie zostanie usunięty.

URL

https://api.thulium.com/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.com/api/outbounds/00001/records/333444555

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/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.com/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.com/api/outbounds/00001/records/333444555"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/outbounds/00001/records/333444555 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP DELETE

DELETE outbounds/:id/records_by_identifier/:identifier

Ostatnia modyfikacja 2021-10-19 11:57:24

Usuwanie rekordu z kampanii.

Rekord, który jest w trakcie rozmowy nie zostanie usunięty.

URL

https://api.thulium.com/api/outbounds/:id/records_by_identifier/:identifier

Parametry

id

wymagany

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

wymagany

Unikalny identyfikator rekordu. Przykładowa wartość: 1234567890

Przykładowy request

DELETE https://api.thulium.com/api/outbounds/00001/records_by_identifier/:record_id

Przykładowy response

<!-- pusty -->

Przykładowe wywołanie


PHP

<?php
$data 
'';

$request curl_init('https://api.thulium.com/api/outbounds/00001/records_by_identifier/:record_id');
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.com/api/outbounds/00001/records_by_identifier/:record_id");
        System.out.println(response);
    }
}

CURL

curl -u api_user:api_pass -k -X DELETE -H "Accept: application/json" "https://api.thulium.com/api/outbounds/00001/records_by_identifier/:record_id"

HTTPie

http -a api_user:api_pass DELETE https://api.thulium.com/api/outbounds/00001/records_by_identifier/:record_id Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/records

Ostatnia modyfikacja 2021-10-19 11:57:24

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.com/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.com/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",
                "identifier": "1234567890",
                "order": ""
            }
        ]
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/outbounds/00001/records?limit=5&offset=0"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/records limit==5 offset==0 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/records/:phone_number

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca informacje o rekordzie w kampanii.

URL

https://api.thulium.com/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.com/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",
    "identifier": "1234567890",
    "order": ""
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/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.com/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.com/api/outbounds/00001/records/333444555"

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/records/333444555 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds/:id/records_by_identifier/:identifier

Ostatnia modyfikacja 2021-10-19 11:57:24
Zwraca informacje o rekordzie w kampanii.

URL

https://api.thulium.com/api/outbounds/:id/records_by_identifier/:identifier

Parametry

id

wymagany

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

wymagany

Unikalny identyfikator rekordu. Przykładowa wartość: 1234567890
include_record_fields

opcjonalny

Flaga odpowiedzialna za pokazywanie pól kampanii. 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_by_identifier/1234567890?include_record_fields=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.com/api/outbounds/00001/records_by_identifier/1234567890

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",
    "identifier": "1234567890",
    "order": ""
}

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/outbounds/00001/records_by_identifier/1234567890');
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.com/api/outbounds/00001/records_by_identifier/1234567890");
        System.out.println(response);
    }
}

CURL

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

HTTPie

http -a api_user:api_pass GET https://api.thulium.com/api/outbounds/00001/records_by_identifier/1234567890 Accept:application/json

Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP GET

GET outbounds_by_phone_number/:phone_number

Ostatnia modyfikacja 2021-10-19 11:57:24

Zwraca listę kampanii, w których jest podany numer telefonu.

Brany pod uwagę jest tylko główny numer telefon.

URL

https://api.thulium.com/api/outbounds_by_phone_number/:phone_number

Przykładowy request

GET https://api.thulium.com/api/outbounds_by_phone_number/111222333

Przykładowy response

[
    {
        "id": "00002",
        "name": "API test",
        "status_id": 1,
        "system_status": "CALL"
    }
]

Przykładowe wywołanie


PHP

<?php
$request 
curl_init('https://api.thulium.com/api/outbounds_by_phone_number/111222333');
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