Хотели чуть позже на этот счет новость с подробностями описать.
Если коротко, то готовим базовые функции, чтобы можно было сделать интеграцию с телефонией в админке.
Для этого нужно мгновенно передавать события (которые будут приходить через Вебхуки от телефонии) из PHP администратору.
Всего бывает 2 проверенных временем варианта - WebSocket и LongPolling запросы.
Вебсокеты не совсем подходят, так как на шаред хостингах их не развернешь.
Соответственно остался второй вариант.
Модуль, который захочет передавать информацию, должен будет включить LongPolling нужному админку, внутри события start.
\Main\Model\Comet\LongPolling::getInstance()->enable();
Затем при возникновении события, в PHP можно вызвать:
$data = ['param1' => 'value1']; //Любые данные
$user_id = 123; //ID админа, кому сообщение
$expire = 20; //Максимальная актуальность сообщения в секундах, если получатель его не получил за это время, то оно удаляется.
$event_name = 'test'; //Произвольное имя события
\Main\Model\Comet\LongPolling::getInstance()->pushEvent($event_name, $data, $user_id, $expire)
При этом как только в PHP будет вызван pushEvent, в JS сразу будет срабатывать событие rs-event-{$event_name} на элементе body
То есть его мгновенно можно перехватывать:
$('body').on('rs-event-test', function(e, data) {
//data - данные
});