Как просто интегрировать свою телефонию?
При помощи нового REST API для телефонии вы сможете реализовать любые пользовательские сценарии
-
Разговор с клиентом
Показ карточки звонка менеджеру, ответственному за клиента -
Очередь обработки звонка
Одновременная и последовательная очередь обработки входящего звонка -
Групповая коммуникация
Перенаправление звонка между сотрудниками -
Записи разговоров и отчеты
Сохранение записи звонка в CRM и стандартных отчетах
Интеграция в 3 шага!
Мы максимально упростили создание интеграций с вашей телефонией
-
всего 4 метода REST
Новый API для телефонии включает всего 4 метода и одно событие! Можно изучить за 15 минут! -
OAuth не нужен!
Вместо сложного механизма аутентификации можно использовать вебхуки с пользовательскими паролями! -
Любые сценарии
Постепенно усложняйте сценарии интеграции от базовых до самых сложных!
Как связать входящий звонок с Битрикс24?
Базовый сценарий интеграции
-
Всего один метод REST API
Добавьте входящий вебхук для метода telephony.externalcall.register -
Автосправка для разработчика
При добавлении вебхука, Битрик24 подскажет параметры и даст уже готовый URL для вызова со стороны вашей телефонии. Больше ничего не нужно! -
Автоматическое создание лида
Если входящий номер не записан в CRM, то Битрикс24 автоматически создаст лид и метод вернет его идентификатор! -
Автоматический поиск клиентов в CRM
Если подходящий лид, контакт или компания есть в CRM, то метод сообщит об этом вам!
<?php
$queryUrl = 'https://xxx.bitrix24.ru/rest/1/yyyyxxx000111/telephony.externalcall.register.json';
$queryData = http_build_query(array(
'USER_ID' => 1,
'PHONE_NUMBER' => '555666777',
'TYPE' => 2,
'CALL_START_DATE' => '2016-16-11 10:10',
'CRM_CREATE' => true
));
$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,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
Как совместить вашу очередь обработки звонка с Битрикс24?
Любая логика очереди!
-
Всего два метода REST API
Добавьте входящие вебхуки для методов telephony.externalcall.show и telephony.externalcall.hide -
Любой принцип обработки очереди
Показывайте карточку звонка нужным пользователям одновременно или по очереди, вызывая вебхук telephony.externalcall.show, и спрячьте карточки в нужный момент при помощи telephony.externalcall.hide
<?php
$queryUrl = 'https://xxx.bitrix24.ru/rest/1/yyyyxxx000111/telephony.externalcall.hide.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.a2fc40b56aa869141cc6aa2d2a965ba6.1478527542', //берется из telephony.externalcall.register
'USER_ID' => 1 // убираем карточку у пользователя 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,
));
$result = curl_exec($curl);
curl_close($curl);
$queryUrl = 'https://xxx.bitrix24.ru/rest/1/yyyyxxx000111/telephony.externalcall.show.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.a2fc40b56aa869141cc6aa2d2a965ba6.1478527542', //берется из telephony.externalcall.register,
'USER_ID' => 6 //показываем карточку пользователю 6
));
$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,
));
$result = curl_exec($curl);
curl_close($curl);
Как пользователь сможет позвонить из Битрикс24?
Звонки прямо из CRM!
-
Всего одно событие REST API
Добавьте исходящий вебхук для события OnExternalCallStart -
Пользователь нажимает на звонок прямо в Битрикс24
Когда пользователь нажмет на телефонный номер клиента прямо в интерфейсе Битрикс24, вебхук сообщит номер исходящего звонка вашей АТС -
Запускайте звонок!
Вам останется только запустить исходящий вызов на стороне вашей телефонии!
укажите url вашего обработчика в настройках исходящего webhook
https://your_server/your_webhook_script.php
код обработчика
<?php
/*
Битрикс24 передает в обработчик $_REQUEST с данными:
array(
'PHONE_NUMBER' => '555666777', //номер, на который звонит пользователь Битрикс24
'USER_ID' => '1', //пользователь, который звонит из интерфейса Битрикс24
'CRM_ENTITY_TYPE' => 'LEAD', //тип объекта CRM, из карточки которого звонит пользователь Битрикс24
'CRM_ENTITY_ID' => '248' //ID объекта CRM, из карточки которого звонит пользователь Битрикс24
)
*/
// регистрируем исходящий звонок
$queryUrl = 'https://xxx.bitrix24.ru/rest/1/yyyyxxx000111/telephony.externalcall.register.json';
$queryData = http_build_query(array(
'USER_ID' => $_REQUEST['USER_ID'],
'PHONE_NUMBER' => $_REQUEST['USER_ID'],
'TYPE' => 1, // исходящий звонок
'CALL_START_DATE' => '2016-16-11 10:10',
'CRM_CREATE' => false,
'CRM_ENTITY_TYPE' => $_REQUEST['CRM_ENTITY_TYPE'],
'CRM_ENTITY_ID' => $_REQUEST['CRM_ENTITY_ID']
));
$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,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
Как сохранить звонок в Битрикс24?
Данные о звонках прямо в интерфейсе CRM!
-
Всего один метод REST API
Добавьте входящий вебхук для метода telephony.externalcall.finish -
Простое добавление звонка
Когда разговор завершен, вызовите вебхук, указав данные совершенного звонка – длительность и статус -
Хранение и прослушивание записей в Битрикс24
Вы можете дать ссылку на запись звонка и Битрикс24 автоматически закачает ее в CRM! -
Стандартные отчеты по телефонии
Можно даже указать стоимость звонка, чтобы пользователи могли оптимизировать свою работу!
<?php
$queryUrl = 'https://xxx.bitrix24.ru/rest/1/yyyyxxx000111/telephony.externalcall.finish.json';
$queryData = http_build_query(array(
'CALL_ID' => 'externalCall.733e885003cbac98d92b811806caeaea.1478528885', //берется из telephony.externalcall.register
'DURATION' => '120', //длительность звонка в секундах
'STATUS_CODE' => 200, //успешный звонок
'RECORD_URL' => 'http://your_server/call_record.mp3', //url на запись звонка для сохранения в Битрикс24
));
$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,
));
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, 1);
Недостаточно возможностей webhooks?
Прочитайте документацию и посмотрите готовый пример создания локального приложения