Битрикс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 закрывает портал на десять минут. На это время задачи откладываются целиком, а не сгорают попытками: три попытки очереди прошли бы за пятнадцать секунд, и каждое пришедшее обращение ушло бы в невыполнимые.

Пара токенов живёт час и обновляется под замком на рабочее пространство. Что не дошло — видно в журнале обмена в кабинете.

Проверено на подставном портале, на живом портале клиента — ещё нет.