Ми максимально спростили створення інтеграцій з вашою телефонією
Базовий сценарій інтеграції
<?php
$queryUrl = 'https://xxx.bitrix24.ua/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);
Будь-яка логіка черги!
<?php
$queryUrl = 'https://xxx.bitrix24.ua/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.ua/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);
Дзвінки прямо з CRM!
вкажіть 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);
Дані про дзвінки прямо в інтерфейсі CRM!
<?php
$queryUrl = 'https://xxx.bitrix24.ua/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);
Прочитайте документацію та подивіться готовий приклад створення локального застосунку