Общие вопросы по API ВАТС MANGO OFFICE
Функции API Виртуальной АТС
- Уведомление о входящем звонке
- Совершение исходящего звонка
- Получение истории звонков
- Получение записей разговоров
- Перемаршрутизация звонков
- Перехват звонков
- Получение списка и контактов сотрудников
- Групповой звонок с автоматическим выбором свободного оператора
- Выбор линии АТС для исходящего звонка
- Уведомление о нажатиях DTMF клавиш
С помощью этих функций вы получите и используете записи разговоров так, как это нужно вам в принятых бизнес-процессах и в используемых приложениях. Например, прослушивание разговоров из вашей CRM или формирование архива записей избранных звонков для обучения сотрудников.
Использование функции описано в технической документации API MANGO OFFICE, примерах использования (см. ниже) и дополнительных примерах:
(Раскрыть) Запрос на звонок
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свой ключ
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свою подпись
$url = 'https://app.mango-office.ru/vpbx/commands/callback';
$data = array(
"command_id" => "ID" . rand(10000000,99999999),
"from" => array(
"extension" => "101", // внутренний номер, за счет которого производится звонок. (например 101)
"number" => "sip:example@example.mangosip.ru" // <- кто звонит (можно SIP)
// "number" => "74951234567" // <- (можно номер)
) ,
"to_number" => "74950001122" // <- кому звонит
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести результат команды
?>
(Раскрыть) Запрос на звонок с подстановкой определенного номера DID из личного кабинета
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свой ключ
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свою подпись
$url = 'https://app.mango-office.ru/vpbx/commands/callback';
$data = array(
"command_id" => "ID" . rand(10000000,99999999),
"from" => array(
"extension" => "101", // внутренний номер сотрудника, за счет которого производится звонок. (например 101)
"number" => "sip:example@example.mangosip.ru" // <- кто звонит (можно SIP)
//"number" => "74950001122" // <- (можно мобильный/городской номер)
) ,
"to_number" => "74950007788", // <- кому позвонить
"line_number" => "74950000666" // <- какой АОН
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести результат команды
?>
(Раскрыть) Запрос на групповой звонок
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свой ключ
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свою подпись
$url = 'https://app.mango-office.ru/vpbx/commands/callback_group';
$data = array(
"command_id" => "ID" . rand(10000000,99999999),
"from" => "222", // <- внутренний номер группы
"to" => "79260001122", // <- кому звонить (номер клиента)
"line_number" => "74957777777" // <- номер линии (АОН)
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести результат команды
?>
(Раскрыть) Запрос истории
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // указать свой ключ
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; // указать свою подпись
$url = 'https://app.mango-office.ru/vpbx/stats/request';
$data = array(
"date_from" => "1481630491",
"date_to" => "1481734491",
"from" => array(
"extension" => "",
"number" => ""
) ,
"to" => array(
"extension" => "",
"number" => ""
),
"fields" => "records,start,finish,answer,from_extension,from_number,to_extension,to_number,disconnect_reason,line_number,location,entry_id"
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = json_decode (curl_exec($ch));
curl_close($ch);
//echo "RESPONSE = " . $response;
// ключ получили в переменную $респонс
//теперь с ключом запрос на получение массива данных статистики вызовов
$url_result = 'https://app.mango-office.ru/vpbx/stats/result';
$data_result = $response;
$json_result = json_encode($data_result);
$sign_result = hash('sha256', $api_key . $json_result . $api_salt);
$post_data_result =array(
'vpbx_api_key' => $api_key,
'sign' => $sign_result,
'json' => $json_result
);
//echo "
sign=" . $sign_result;
$post_result = http_build_query($post_data_result);
$ch_result = curl_init($url_result);
curl_setopt($ch_result, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch_result, CURLOPT_POST, 1);
curl_setopt($ch_result, CURLOPT_POSTFIELDS, $post_result);
$history_data = curl_exec($ch_result);
curl_close($ch_result);
//echo "
HISTORY :
" . $history_data ;
echo $history_data; // вывести полученную историю
?>
(Раскрыть) Запрос на получение записи
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свой ключ
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; // вставить свою подпись
$url = 'https://app.mango-office.ru/vpbx/queries/recording/post/';
$data = array(
"recording_id" => "MTo4MzE0NjoyODU4NzI0NjQ1OjA=", // <- идентификатор записи (можно взять из уведомления о записи или из статистики вызовов)
"action" => "download" // <- скачать ("play" - проиграть)
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); // отключить автоматический редирект по ссылке
$response = curl_exec($ch);
curl_close($ch);
//echo $response;
$link = substr($response, strripos($response,'location') + 9);
echo $link; // вывести ссылку на mp3
?>
(Раскрыть) Запрос на получение всех сотрудников
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$url = 'https://app.mango-office.ru/vpbx/config/users/request';
$data = array(
); // $data оставляем пустой если нужны все сотрудники.
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести сотрудников
?>
(Раскрыть) Запрос на получение сотрудника 27
<?php
$api_key = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$api_salt = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$url = 'https://app.mango-office.ru/vpbx/config/users/request';
$data = array(
"extension" => "27" // добавочный номер сотрудника 27
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести сотрудника
?>
(Раскрыть) Запрос на отправку смс
<?php
$api_key = 'хххххххххххххххххххххххххххххххххх'; // Уникальный код вашей АТС
$api_salt = 'хххххххххххххххххххххххххххххххххх'; // Ключ для создания подписи
$url = 'https://app.mango-office.ru/vpbx/commands/sms';
$data = array(
"command_id" => "ID" . rand(10000000,99999999), // идентификатор команды
"from_extension" => "101", // внутренний номер сотрудника
"text" => "Example php SMS Send", // текст смс
"to_number" => "74950001122", // кому отправить смс
"sms_sender" => "" // ОБЯЗАТЕЛЬНЫЙ ПАРАМЕТР. имя отправителя. Если не заполнено - будет использоваться имя отправителя, выбранное в ЛК.
);
$json = json_encode($data);
$sign = hash('sha256', $api_key . $json . $api_salt);
$postdata = array(
'vpbx_api_key' => $api_key,
'sign' => $sign,
'json' => $json
);
$post = http_build_query($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
curl_close($ch);
echo $response; // вывести результат
?>
Адрес для запросов к API: 81.88.85.67
На вашем сетевом оборудование откройте доступ к: 81.88.82.36
Услуги записи разговоров тарифицируются в зависимости от версии Виртуальной АТС.
Подключить API вы можете в личном кабинете. Получить больше информации обо всех особенностях и возможностях API вы можете на странице Подключение по API
npm библиотека для API Виртуальной АТС. Смотреть подробнее.
Примечание: техническая поддержка MANGO OFFICE не предоставляет консультацию по использованию вышеупомянутой npm библиотеки.