Передача заявок при интеграции ПланФикс и 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. 