Передача заявок при интеграции ПланФикс и Telegram
Вы можете настроить передачу заявок с номером визита из Telegram в Roistat.
Перед началом настройки¶
- Убедитесь, что у вас настроена интеграция Roistat с ПланФикс.
- Убедитесь, что на вашем сайте установлен счетчик Roistat.
-
Если вы ещё не используете бота Telegram, создайте его:
- Найдите бота @BotFather в Telegram.
- Запустите бота, отправив в чат команду
/start
. - Отправьте в чат команду
/newbot
. - Создайте бота, следуя инструкции, которую предоставляет
@BotFather
.
После создания бота вам будет выдан API-токен. Сохраните его, он понадобится для настройки интеграции.
Если у вас есть готовый бот, зайдите в диалог с
@BotFather
и найдите в истории сообщений API-токен соответствующего бота.
Настройка интеграции¶
-
В кнопку Telegram на сайте добавьте ссылку вида
https://t.me/{botname}
, где{botname}
– название вашего бота. -
Сразу после кода счетчика Roistat вставьте следующий скрипт:
<script> (function() { if (window.roistat !== undefined) { handler(); } else { var pastCallback = typeof window.onRoistatAllModulesLoaded === "function" ? window.onRoistatAllModulesLoaded : null; window.onRoistatAllModulesLoaded = function () { if (pastCallback !== null) { pastCallback(); } handler(); }; } function handler() { function init() { appendMessageToLinks(); var delays = [1000, 5000, 15000]; setTimeout(function func(i) { if (i === undefined) { i = 0; } appendMessageToLinks(); i++; if (typeof delays[i] !== 'undefined') { setTimeout(func, delays[i], i); } }, delays[0]); } function replaceQueryParam(url, param, value) { var explodedUrl = url.split('?'); var baseUrl = explodedUrl[0] || ''; var query = '?' + (explodedUrl[1] || ''); var regex = new RegExp("([?;&])" + param + "[^&;]*[;&]?"); var queryWithoutParameter = query.replace(regex, "$1").replace(/&$/, ''); return baseUrl + (queryWithoutParameter.length > 2 ? queryWithoutParameter + '&' : '?') + (value ? param + "=" + value : ''); } function appendMessageToLinks() { var message = 'roistat_{roistat_visit}'; var text = message.replace(/{roistat_visit}/g, window.roistatGetCookie('roistat_visit')); text = encodeURI(text); var linkElements = document.querySelectorAll('[href*="//t.me"]'); for (var elementKey in linkElements) { if (linkElements.hasOwnProperty(elementKey)) { var element = linkElements[elementKey]; element.href = replaceQueryParam(element.href, 'start', text); } } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } }; })(); </script>
-
Настройте интеграцию ПланФикс с Telegram. Для этого перейдите в Меню → Управление аккаунтом → Интеграции → Мессенджер → Telegram.
Затем нажмите Добавить бота и заполните поля Имя бота и Ключ доступа (API-токен, полученный перед началом настройки).
Нажмите Сохранить.
-
Если вы хотите настроить автоматическое заполнение поля roistat, перейдите к пунктам 6-12. Для настройки может понадобиться помощь разработчика.
Если же вы не хотите настраивать автоматическое заполнение поля roistat, можно передавать номер визита вручную. При первом обращении клиента в Telegram будет создана задача с текстом
/start roistat_{number}
, где{number}
– номер визита. Этот номер нужно скопировать в поле roistat, созданное при интеграции с ПланФикс. -
Вы можете настроить автоматическую передачу номера визита из Telegram в Roistat. Для этого в интерфейсе ПланФикс перейдите в Управление аккаунтом → Процессы задач → Новый процесс и создайте процесс с любым названием.
-
Перейдите в созданный процесс и нажмите Автоматические сценарии.
-
Создайте новый сценарий.
Необходимо заполнить поля следующим образом:
- Событие, при котором будет запущен сценарий: Задача создана и соответствует условиям
- Условия сценария: Описание – э (содержит) – roistat_
- Ставить сценарий в очередь на выполнение
- Выполнить следующие операции:
- Послать HTTP-запрос
- Метод: GET
- URL:
http://ссылка_на_ваш_скрипт?roistat={{Задача.Описание.Без форматирования::написание=с маленькой буквы}}
, гдессылка_на_ваш_скрипт
– ссылка на обработчик, расположенный на вашем хостинге. В дальнейшем в данный обработчик нужно будет вставить код (п.9). Другие значения в URL менять не нужно.
- Заголовки: Content-Type – application/x-www-form-urlencoded
- Авторизация: Без авторизации
- Установить чекбокс Разобрать полученный ответ
-
Внизу окна создания сценария нажмите Настроить разбор ответа – откроется окно настройки.
Необходимо заполнить поля следующим образом:
- Извлечение данных:
- Извлекать из текста в формате: Текст (без форматирования)
- Название инфоблока: visit
- Извлечь текст: Все содержимое
- Выполнить следующие действия:
- Изменить эту задачу
- Изменение: Установить значение поля из инфоблока
- Поле: roistat
- Инфоблок: visit
- Извлечение данных:
-
В обработчик, указанный в п.7 в поле URL, вставьте следующий код:
-
Привяжите процесс к вашему шаблону создания задач и проверьте работу. Для этого перейдите в Задачи → Шаблоны → Новый шаблон задачи.
Введите название шаблона и нажмите кнопку Сохранить.
-
Теперь необходимо привязать созданный шаблон к интеграции с Telegram. Для этого зайдите в Управление аккаунтом → Интеграции → Мессенджеры.
Нажмите Telegram → Настройки интеграции (шестеренка):
В списке Шаблон для создания новых задач выберите созданный шаблон:
Готово: теперь при создании задачи с Telegram номер визита будет автоматически передаваться в дополнительное поле roistat.