planfix-end.php
<?php
//данные в запросе
$ExtNum = $argv[1]; //Номер клиента
$IntNum = $argv[2]; //Внутренний номер сотрудника
$CallID = $argv[3]; //Уникальный идентификатор
$FullFname = $argv[4]; //Ссылка на файл записи разговора
$CallMeDURATION = $argv[5]; //Продолжительность звонка
$CallMeDISPOSITION = $argv[6]; //Статус звонка
// Проверка статуса звонка
switch ($CallMeDISPOSITION) {
case 'ANSWERED':
$sipcode = 'Success'; // успешный звонок
break;
case 'ANSWER':
$sipcode = 'Success'; // успешный звонок
break;
case 'NO ANSWER':
$sipcode = 'Cancelled'; // нет ответа
break;
case 'BUSY':
$sipcode = 'Missed'; // занято
break;
default:
if(empty($CallMeDISPOSITION)) $sipcode = 'Missed'; //если пустой пришел, то поставим неотвечено
else $sipcode = 'Cancelled'; // отклонено, когда все остальное
break;
}
if ($CallMeDISPOSITION == "ANSWERED") {
//Формирования массива данных звонка
$result = getPlanfixApi(array(
'cmd' => 'event',
'type' => 'in',
'event' => 'ACCEPTED',
'phone' => $ExtNum,
'diversion' => $IntNum,
'ext' => $IntNum,
'callid' => $CallID,
'planfix_token' => '0000000000000000000000000000'
));
$result = getPlanfixApi(array(
'cmd' => 'event',
'type' => 'in',
'event' => 'COMPLETED',
'phone' => $ExtNum,
'diversion' => $IntNum,
'ext' => $IntNum,
'callid' => $CallID,
'duration' => $CallMeDURATION,
'is_recorded' => '1',
'status' => $sipcode,
'record_link' => $FullFname,
'planfix_token' => '0000000000000000000000000000'
));
}
else {
//Формирования массива данных звонка
$result = getPlanfixApi(array(
'cmd' => 'event',
'type' => 'in',
'event' => 'COMPLETED',
'phone' => $ExtNum,
'diversion' => $IntNum,
'ext' => $IntNum,
'callid' => $CallID,
'duration' => $CallMeDURATION,
'is_recorded' => '1',
'status' => $sipcode,
'record_link' => $FullFname,
'planfix_token' => '0000000000000000000000000000'
));
}
//Функция обращения к методу EVENT API Planfix
function getPlanfixApi($data){
$url = '
https://softmart.planfix.ru/tel/api';
if (!$url) return false;
$queryUrl = $url;
$queryData = http_build_query($data);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $queryUrl,
CURLOPT_POSTFIELDS => $queryData,
));
$result = curl_exec($curl);
//echo $result;
curl_close($curl);
}
?>