Особенности настройки после обновления Битрикс24 23.300.0

Для возможности совершения звонков (click-to-call) из коробочной версии Битрикс24 в закрытой сети необходимо:

В административном интерфейсе 1С-Битрикс24 (<portal_address>/bitrix) в разделе Контент → Структура сайта → Файлы и папки

  1. Проверим наличие файла в котором будем производить изменения по следующему пути local/php_interface/init.php

Если такого файла нет, изменять будем содержимое файла bitrix/php_interface/init.phpили файл init.php для конкретного файла. (документация по файлу init.php)\

  1. Добавим в init.php следующий код

\Bitrix\Main\Loader::includeModule('rest');
class MyEventProvider extends \Bitrix\Rest\Event\ProviderOAuth
{
   public function send(array $queryData)
   {
      $http = new \Bitrix\Main\Web\HttpClient();
      foreach($queryData as $key => $item)
      {
         if(preg_match('/192\.168\./', $item['query']['QUERY_URL'])) // directly sending handlers, having  192.168. in the address
         {
            $http->post($item['query']['QUERY_URL'], $item['query']['QUERY_DATA']);
            unset($queryData[$key]);
         }
      }
      if(count($queryData) > 0)
      {
         parent::send(array_values($queryData)); // all the rest is to be sent via the standard mechanism
      }
   }
}
\Bitrix\Rest\Event\Sender::setProvider(MyEventProvider::instance());
  1. В данном коде нужно изменить шаблон '/192\.168\./' у функции preg_match: в нём должен быть адрес на который будут отправляться click-to-call запросы, это должен быть адрес по которому с сервера Bitrix24 доступна админка модуля, например, если админка модуля доступна по адресу example.com:8077, то шаблон будет '/example\.com:8077/'

  2. Такой же адрес для запросов click-to-call должен быть указан в настройках модуля, в разделе Битрикс24:

Адрес для запросов c2c

Last updated

Was this helpful?