Uwierzytelnianie | wymagane |
Format odpowiedzi | json |
Metoda HTTP | POST |
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,
FAILED - dodanie rekordu nie powiodło się.
https://your-system-name.thulium.com/api/batch/outbounds/:id/records
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
opcjonalny |
Identyfikator statusu rekordu w kampanii.
Przykładowa wartość: 8
|
dictionary_status_id
opcjonalny |
Identyfikator statusu słownikowego.
Przykładowa wartość: 8
|
identifier
opcjonalny |
Unikalny identyfikator rekordu.
Przykładowa wartość: 1234567890
|
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
|
record_fields
opcjonalny |
Obiekt z wartościami struktury kampanii.
Przykładowa wartość: {"field1":"value1","field2":"value2"}
|
order
opcjonalny |
Kolejność rekordu.
Przykładowa wartość: 50
|
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. |
POST | https://your-system-name.thulium.com/api/batch/outbounds/00001/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",
"agent_login": "user"
}
]
} |
{ "111222333": { "http_status": 201, "record_id": 123, "status": "ADDED" }, "222333444": { "http_status": 201, "record_id": 124, "status": "ADDED" }, "555123321": { "http_status": 400, "record_id": 100, "status": "ALREADY_EXISTS" }, "123123123": { "http_status": 400, "status": "FAILED", "message": "Agent not found." } }
<?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",
"agent_login": "user"
}
]
}';
$request = curl_init('https://your-system-name.thulium.com/api/batch/outbounds/00001/records');
curl_setopt($request, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: ' . mb_strlen($data)
));
curl_setopt($request, CURLOPT_USERPWD, 'api_user:api_pass');
curl_setopt($request, CURLOPT_TIMEOUT, 30);
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
curl_setopt($request, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($request, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($request);
if ($response) {
$httpCode = curl_getinfo($request, CURLINFO_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);
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://your-system-name.thulium.com/api/batch/outbounds/00001/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\",
\"agent_login\": \"user\"
}
]
}");
System.out.println(response);
}
}
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",
"agent_login": "user"
}
]
}' "https://your-system-name.thulium.com/api/batch/outbounds/00001/records"
echo '{
"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",
"agent_login": "user"
}
]
}' | http -a api_user:api_pass POST https://your-system-name.thulium.com/api/batch/outbounds/00001/records