Project

General

Profile

API - CallQueue / Save

API CallQueue / Save se foloseste pentru programa apeluri pentru a fi sunate mai tarziu, conform unui orar prestabilit, folosing Originate call.

API URL

https://[YOUR-PBX-URL]/api/call-queue

Datele se trasmit prin POST sau GET si trebuie sa fie de forma:

Array
(
    [action] => save
    [data] => Array
        (
            [project_id] => 1
            [type] => queue
            [destination] => test-queue
            [campaign_name] => Test campaign
            [campaign_info] => Some special info
            [outbound_type] => auto
            [attend_type] => attended
            [outbound_number] => +40212345678
            [outbound_trunk] => default-trunk
            [calls] => Array
                (
                    [0] => Array
                        (
                            [caller_id] => 0123456789
                            [caller_id_name] => John Doe
                            [priority] => 0
                            [schedule] => 
                            [external_id] => asdf1234
                            [max_retries] => 5
                            [vars] => Array
                                (
                                    [SKIP_WELCOME] => 1
                                    [SKIP_WE_ARE_RECORDING] => 1
                                    [SKIP_ENTER_QUEUE] => 0
                                    [BACKEND_LINK] => https://[YOUR-EXTERNAL-CRM-URL]/?change_this_url=1234
                                )

                        )

                )

        )

    [api_hash] => 20b093246dac88454f390553e813aa0d
)

Parametrul action trebuie sa aiba valoarea save

Parametri:

  • project_id: ID proiect in centrala
  • type: tipul destinatiei catre care se trimite apelul intern (user, queue, context)
  • destination: user-ul/coada din centrala pentru care se initiaza apelul
  • campaign_name: nume campanie
  • campaign_info: informatii suplimentare camapanie
  • outbound_type: tipul de campanie automata sau manuala (auto, manual)
  • attend_type: apelul se realizeaza cu sau fara un agent (attended, unattended)
  • outbound_number: numarul care este afisat catre destinatar, optional
  • outbound_trunk: providerul prin care se face apelul, optional
  • calls: array cu apelurile
    • caller_id: numarul de telefon care este apelat
    • caller_id_name: numele persoanei care este apelata
    • priority: prioritatea apelului in call queue
    • schedule: data si ora la care se programeaza apelul. Format: Y-m-d H:i:s (ex: 2017-02-16 00:00:00)
    • external_id: ID din baza de date externa (ex: activity ID)
    • max_retries: numarul maxim de incercari pana se abandoneaza apelul
    • vars: array cu diferite variabile pentru contextul din PBX, optional

Headere HTTP:

Content-Type: text/xml
Authorization: Bearer <token>

Exemplu generare parametri:

$params = array(
    'action' => 'save',
    'data' => array(
        'project_id' => 1,
        'type' => 'queue', // user, queue, context
        'destination' => 'test-queue',
        'campaign_name' => 'Test campaign',
        'campaign_info' => 'Some special info',
        'outbound_type' => 'auto', // auto, manual
        'attend_type' => 'attended', // attended, unattended
        'outbound_number' => '+40212345678', // dnid
        'outbound_trunk' => 'default-trunk',
        'calls' => array(
            array(
                'caller_id' => '0123456789',
                'caller_id_name' => 'John Doe',
                'priority' => 0,
                'schedule' => '', // default NOW()
                'external_id' => 'asdf1234',
                'max_retries' => 5,
                'vars' => array(
                    'SKIP_WELCOME' => 1,
                    'SKIP_WE_ARE_RECORDING' => 1,
                    'SKIP_ENTER_QUEUE' => 0,
                    'BACKEND_LINK' => 'https://[YOUR-EXTERNAL-CRM-URL]/?change_this_url=1234', // for pop-up
                ),
            )
        )
    )
);

Exemplu generare hash:

$params['api_hash'] = md5(http_build_query($params) . 'your_api_key'); // make hash

Exemplu trimitere date:

$url = 'https://[YOUR-PBX-URL]/api/call-queue';
$token = 'your_api_token';
echo curlPost($url, http_build_query($params), array("Authorization: Bearer {$token}"));

Raspuns

In caz de succes:

{

    "has_error": false,
    "messages": [ ],
    "pagination": [ ],
    "results": [
        {
            "external_id": "asdf12345",
            "queue_id": 79,
            "schedule": "2017-02-20 15:22:32" 
        }
    ]

}

Sau in caz de eroare:

{

    "has_error": true,
    "messages": [
        "Call #0 is already scheduled with queue_id #78" 
    ],
    "pagination": [ ],
    "results": [ ]

}

Disponibil si in alte limbi: EN

Go to top