Devtoid

Создание звонка в Битрикс24

Для тестов например

$queryUrl = 'https://local:8081/rest/1/kf2jrfy3tym6vdw7/telephony.externalcall.register.json';
$queryData = http_build_query(array(
    'USER_PHONE_INNER' => 100,
    'PHONE_NUMBER'     => '+79000000000',
    'TYPE'             => CVoxImplantMain::CALL_INCOMING,
    'CRM_CREATE'       => true,
    'USER_ID'          => 1,
));

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_POST           => 1,
    CURLOPT_HEADER         => 0,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_URL            => $queryUrl,
    CURLOPT_POSTFIELDS     => $queryData,
    CURLOPT_SSL_VERIFYHOST => false
));
$result = curl_exec($curl);
$error = curl_error($curl);
curl_close($curl);
$result = json_decode($result, true);

echo '<pre>telephony.externalcall.register</pre>';
echo "<pre>" . print_r($result, 1) . "</pre>";
echo "<pre>" . print_r($error, 1) . "</pre>";


if ($result['result']['CALL_ID']) {
    $queryUrl = 'https://local:8081/rest/1/kf2jrfy3tym6vdw7/telephony.externalcall.finish.json';
    $queryData = http_build_query([
            "CALL_ID"     => $result['result']['CALL_ID'],
            "USER_ID"     => 1,
            "DURATION"    => '120',
            "STATUS_CODE" => '200',
            "ADD_TO_CHAT" => true,
            "RECORD_URL"  => 'http://local/recordXXX.mp3'
        ]
    );

    $curl = curl_init();
    curl_setopt_array($curl, array(
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_POST           => 1,
        CURLOPT_HEADER         => 0,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_URL            => $queryUrl,
        CURLOPT_POSTFIELDS     => $queryData,
        CURLOPT_SSL_VERIFYHOST => false
    ));
    $result = curl_exec($curl);
    $error = curl_error($curl);
    curl_close($curl);
    $result = json_decode($result, true);

    echo '<pre>telephony.externalcall.finish</pre>';
    echo "<pre>" . print_r($result, 1) . "</pre>";
    echo "<pre>" . print_r($error, 1) . "</pre>";
}