Виджет техподдержки 

Для удобной организации технической поддержки в маркетплейс-приложениях был разработан виджет, который встраивается непосредственно в интерфейс приложения.

Порядок действий

Создание открытой линии и настройка Битрикс24 Network

Для начала работы, необходимо создать открытую линию. Для этого необходимо:

  • На портале перейти в Контакт-цент → Онлайн-чат → Битрикс24 Network

  • Пролистать список и нажать на Создать открытую-линию

  • Нажать настроить и провести настройку открытой-линии

  • После настройки, вернуться в выпадающее меню Битрикс24 Network, выбрать настроенную открытую линию, и нажать кнопку подключить

После выполнения этих действий — вам будет доступен код. Этот код понадобится далее.

Настройка виджета в приложении

В репозитории **OpenLine-templates **— есть два файла:

  • OpenLineService.php — php сервис, отвечающий за backend логику виджета

  • support-chat-button.js — frontend часть виджета

Для правильной работы виджета, в своем приложение, необходимо настроить ряд логики:

Получить скоуп openline.

OpenLineService.php

Перед вызовом всех методов класса OpenLineService.php (за исключением buildOpenLineUrl) необходимо предварительно создать экземпляр класса, передав в конструктор код открытой линии, полученный на предыдущем шаге.

Перед началом использование класса OpenLineService.php, внутри него необходимо подключить класс CRest.php.

//==============================Подключение CRest=============================================== require_once __DIR__ . '/../CRest/CRest.php'; use CRest; //=============================================================================================

Для инициализации канала-техподдержки на портале установившего, необходимо использовать метод

joinOpenLine, если вы хотите отправить сообщение установившему, в канале-техподдержки, после инициализации, то необходимо передать текст сообщения, в параметр message.

При успешной регистрации канала-техподдержки метод возвращает объект со следующими параметрами:

Параметр

Тип

Описание

openLineId

int

Идентификатор канала поддержки на портале Битрикс24.

sendMessageResult

array

Результат отправки сообщения.

При ошибке регистрации линии или получения идентификатора выбрасывается исключение Exception.

Обязательно записывайте значение возвращаемого параметра openLineId, для каждого портала, оно необходимо для работы виджета.

Пример использования:

try { $openLineService = new OpenLineService($_ENV['OPENLINE_CODE']); $openLineResult = $openLineService->joinOpenLine( "[B]Благодарим за установку нашего приложения![/B]\n\n" . "Если при использовании возникнут вопросы или сложности — наша команда оперативно поможет.\n\n" . "Приятного использования!" ); Logger::info('openLineResult', ['openLineResult' => $openLineResult], 'install'); } catch (\Exception $e) { Logger::error('openLineResult', ['openLineResult' => $e->getMessage()], 'install'); }

Результат:

support-chat-button.js

Содержимое необходимо встроить в frontend приложения любым желаемым способом.

Для работы виджета необходимо указать одну константу const SUPPORT_CHAT_URL = '';

Получить url чата можно двумя способами:

  1. С использованием метода buildOpenLineUrl класса OpenLineService.php.

  2. Собирая url вручную. Url имеет такой вид:

    "https://<домен_портала>/online/?IM_DIALOG=<id_канала-открытой-линии>"

Рекомендуется ставится фолбэк на стандартный виджет, при получение ссылки на канал-техподдержки.

Вид виджета в приложении:

Дополнительно

  • Отправка сообщения в канал-техподдержки

Класс OpenLineService.php имеет метод sendMessage, позволяющий отправлять сообщение от лица канала-техподдержки — необходимому пользователю.

  • Получение ссылки на канал-техподдержки

Класс OpenLineService.php имеет статический метод buildOpenLineUrl, позволяющий получить url канала-техподдержки, передав параметры:

Параметр

Тип

Описание

domain

string

Домен портала Битрикс24 без схемы и пути, например company.bitrix24.ru

openLineId

int

Числовой идентификатор канала-техподдержки (значение параметра openLineId, которое возвращает joinOpenLine()).

  • Ссылки на полезную документацию

О каналах поддержки: https://apidocs.bitrix24.ru/tutorials/chat-bots/support-bot.html

Если что-то не получилось: https://apidocs.bitrix24.ru/tutorials/openlines/example-connector.html