Informacje

Uwierzytelnianie wymagane
Format odpowiedzi json
Metoda HTTP POST

POST batch/outbounds/:id/records

Ostatnia modyfikacja 2024-04-24 13:19:25

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

URL

https://your-system-name.thulium.com/api/batch/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:
          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

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://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" } ] }

Przykładowy response

{
    "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."
    }
}

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",
            "agent_login": "user"
        }
    ]
}'
;

$request curl_init('https://your-system-name.thulium.com/api/batch/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://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

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"

HTTPie

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