Informacje

Autentykacja wymagana
Format odpowiedzi json
Metoda HTTP POST

POST outbounds/:id/add_records

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

Dodanie wielu rekordów do kampanii.

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

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

URL

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

Parametry

id

wymagany

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

wymagany

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

          wymagany

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

          wymagany

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

          opcjonalny

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

          opcjonalny

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

          opcjonalny

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

          opcjonalny

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

Uwagi

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

Przykładowy request

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

Przykładowy response

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

Przykładowe wywołanie


PHP

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

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

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

curl_close($request);
JAVA

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

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

CURL

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