Przejdź do treści

User Connect

Wykonanie nowego połączenia. Użytkownik zostanie wydzwoniony trybie click-to-dial zgodnie z konfiguracją linków. Po odebraniu przez użytkownika rozpocznie się proces zestawiania połączenia z podanym numerem lub identyfikatorem. Połączenie zostanie wykonane zgodnie z ustawieniami użytkownika.

PUT /user/{user}/connect/{target}

URL Parameters

Nazwa Rodzaj Przykład Opis
user <STRING> user1 Identyfikator lub nazwa Użytkownika
target <STRING> 7801 Numer miejski lub wewnętrzny identyfikator w systemie (np. numer skrócony)

Body

{
    "media": <LIST>,
    "project_id": <INTEGER>,
    "variables": <OBJECT>,
    "presentation_number": <STRING>,
    "call_info": <OBJECT>,
    "sip_send_variables": <OBJECT>,

}
Nazwa Rodzaj Opcjonalne Przykład Opis
media <LIST> TAK ["chat", "audio", "video"] Media wykorzystane do połączenia.
Dostępne:
- audio
- video
- chat
project_id <INTEGER> TAK 94 Identyfikator projektu, z którego ma wyjść połączenie
variables <OBJECT> TAK {"xyz": "abc"} Ustawia parametry dialogu
presentation_number <STRING> TAK 48123456789 Numer do prezentacji
call_info <CallInfoParams> TAK {"call_info":{"topic":"XYZ-123"}} Obiekt zawierający wartości z konkretnej definicji CallInfo
sip_send_variables <OBJECT> TAK {"X-ConpeekCall": "XYZ-123"} Ustawia parametry niestandardowych zmiennych SIP X-{}

Response Body

{
    "dialog_uuid": <STRING>,
    "media": <LIST>
}
Nazwa Rodzaj Przykład Opis
dialog_uuid <STRING> a52cb58b-2442-4650-8ef8-4ca4dd78a390 Identyfikator połączenia (dialogu) w systemie.
media <LIST> ["chat", "audio", "video"] Media wykorzystane do połączenia.
Dostępne:
- audio
- video
- chat

Response Code

Status Opis
200 Żądanie przyjęte do realizacji
403 Nie można wykonać takiej akcji
404 Nie znaleziono zasobu

Example

curl -X PUT \
$CONPEEK_URL/user/user1/connect/1001 \
-H 'Authorization: '$CONPEEK_KEY \
-H 'Content-Type: application/json' \
-d '{
    "media": ["audio"]
}'
import requests
import json
import os
from urllib import parse

url = parse.urljoin(os.environ["CONPEEK_URL"], "/user/%(username)s/connect/%(target)s" % {
    "username": "user1",
    "target": "1001"
})

payload = {
    "media": ["audio"]
}

headers = {
    'Content-Type': "application/json",
    'Authorization': os.environ["CONPEEK_KEY"]
}

response = requests.request("PUT", url, data=json.dumps(payload), headers=headers)
print(response.text)
<?php
$curl = curl_init();

$username = "user1";
$target = "1001";

$payload = array(
    "media" => array("audio")
);

curl_setopt_array($curl, array(
    CURLOPT_URL => getenv("CONPEEK_URL")."/user/$username/connect/$target",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "PUT",
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => array(
        "Authorization: ".getenv("CONPEEK_KEY"),
        "Content-Type: application/json"
    ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}

Response

200 OK

{
    "dialog_uuid": "f706848f-c21a-49d7-a9f8-3bd47e92d3e4",
    "media": [
        "audio"
    ]
}