Сценарий встройки WebRTC
Регистрация встройки
Регистрация встройки для «клиента» на каждой странице.
Имеется специальное место встройки, которое в виде невидимого фрейма формируется на каждой странице Битрикс24. Регистрация делается так:
'placement.bind', [ 'PLACEMENT' => 'PAGE_BACKGROUND_WORKER', 'HANDLER' => 'http://example.com/placement/?ty=1', 'OPTIONS' => [ 'errorHandlerUrl' => 'http://example.com/logg.php?ty=1', ], 'LANG_ALL' => [ 'ru' => [ 'TITLE' => 'test', ] ] ]
Важное отличие от обычной встройки – параметр Options[errorHandlerUrl]
. В этот обработчик передается сигнал, что мы отключаем встройку на конкретном портале Битрикс24, в случае, если обработчик, указанный в Handler
, отвечает слишком медленно. Поскольку встройка формируется на каждой странице, важно, чтобы обработчик встройки вызывался быстро (сейчас считаем, что «не быстро» - это когда обработчик вызывался дольше 5 сек три раза). В случае отключения нужно будет заново зарегистрировать обработчик в этом Битрикс24.
Сценарий использования
Работа с телефонией остается той же, что и была. Регистрация звонка осуществляется методом telephony.externalcall.register. Этот же метод «поднимает» карточку звонка. Очевидно, что это должно происходить, если WebRTC-клиент во встройке, описанной выше, начал обработку звонка.
Далее, встройка может взаимодействовать с открытой карточкой звонка, управляя кнопками и событиями нажатия на кнопки. Для работы с карточкой звонка через плейсмент PAGE_BACKGROUND_WORKER было добавлено 9 методов для получения и изменения данных карточки и 17 событий для обработки пользовательской деятельности.
Ключевым является событие BackgroundCallCard::initialized. Оно выбрасывается при создании карточки звонка и после него становится возможным управлять данной карточкой. Поэтому настоятельно рекомендуется все вызовы методов со стороны приложения производить именно в функции-обработчике данного события.
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.