Битрикс24
Открытые линии как второе рабочее место оператора: порядок подключения, права, что происходит с сообщениями.
На этой странице
Модель #
В нашей схеме CRM не отдельный канал, а ещё одно место, откуда оператор отвечает. Посетитель пишет в окно на сайте, коннектор кладёт его сообщение в открытую линию, а ответ менеджера отправляет обратно в окно чата. Telegram выключать не нужно: ответ, написанный в портале, появится и в теме группы, и наоборот.
Старые разговоры в портал мы не переносим. Иначе в день подключения линия получила бы разом всю прошлую переписку под видом новых обращений, и статистика контакт-центра за этот день потеряла бы смысл.
Порядок подключения #
| Шаг | Где | Что |
|---|---|---|
| 1 | Портал | Разработчикам → Другое → Локальное приложение, тип Только API |
| 2 | Портал | права imopenlines, imconnector, im |
| 3 | Кабинет | домен портала, client_id, client_secret → кнопка Сохранить ключи |
| 4 | Портал | ссылку установки из кабинета вставить в поле Путь обработчика и установить |
| 5 | Портал | в настройках нужной открытой линии выбрать канал WidgetChat |
Локальное приложение работает сразу: модерация Битрикс24.Маркета ему не нужна.
Обмен #
Каждое событие от портала мы сначала сверяем по application_token и только потом разбираем. Адрес обработчика не секрет, его видит любой портал, куда поставлено приложение, и без такой сверки ответ от имени поддержки мог бы прислать кто угодно.
Файл посетителя портал забирает сам, по нашей подписанной ссылке с ограниченным сроком.
Правка и удаление сообщения посетителя доходят до открытой линии. В обратную сторону нет: если оператор исправит или удалит ответ в портале, посетитель так и увидит первую версию.
| Направление | Что происходит |
|---|---|
| наружу | imconnector.send.messages: обращение и ответы из других рабочих мест |
| внутрь | OnImConnectorMessageAdd: ответ менеджера ложится в переписку посетителя |
| внутрь | OnImConnectorDialogFinish: разговор закрывается |
| внутрь | OnImConnectorLineDelete, OnImConnectorStatusDelete: подключение гаснет |
| наружу | imconnector.send.status.delivery: подтверждение доставки менеджеру |
Пределы и отказы #
Ответ OPERATION_TIME_LIMIT значит, что портал десять минут не примет ни одного запроса. Тратить на это попытки бессмысленно: очередь сделала бы три попытки за пятнадцать секунд и сдалась, и все обращения этих минут легли бы в список невыполнимых. Поэтому задачи откладываются целиком и уходят, когда портал снова отвечает.
Токены портала живут час. Обновляет их одна задача на рабочее пространство, чтобы две параллельные не затёрли друг другу свежую пару. Всё, что не дошло, видно в журнале обмена в кабинете.
Проверено на настоящем облачном портале Битрикс24, а не только на подставном.