Перейти к содержанию

Передача заявок при интеграции ПланФикс и Telegram

Вы можете настроить передачу заявок с номером визита из Telegram в Roistat.

Перед началом настройки

  • Убедитесь, что у вас настроена интеграция Roistat с ПланФикс.
  • Убедитесь, что на вашем сайте установлен счетчик Roistat.
  • Если вы ещё не используете бота Telegram, создайте его:

    • Найдите бота @BotFather в Telegram.
    • Запустите бота, отправив в чат команду /start.
    • Отправьте в чат команду /newbot.
    • Создайте бота, следуя инструкции, которую предоставляет @BotFather.

    После создания бота вам будет выдан API-токен. Сохраните его, он понадобится для настройки интеграции.

    Если у вас есть готовый бот, зайдите в диалог с @BotFather и найдите в истории сообщений API-токен соответствующего бота.

Настройка интеграции

  1. В кнопку Telegram на сайте добавьте ссылку вида https://t.me/{botname}, где {botname} – название вашего бота.

  2. Сразу после кода счетчика 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>
    
  3. Настройте интеграцию ПланФикс с Telegram. Для этого перейдите в МенюУправление аккаунтомИнтеграцииМессенджерTelegram.

    16.jpg

    Затем нажмите Добавить бота и заполните поля Имя бота и Ключ доступа (API-токен, полученный перед началом настройки).

    17.png

    Нажмите Сохранить.

  4. Если вы хотите настроить автоматическое заполнение поля roistat, перейдите к пунктам 6-12. Для настройки может понадобиться помощь разработчика.

    Если же вы не хотите настраивать автоматическое заполнение поля roistat, можно передавать номер визита вручную. При первом обращении клиента в Telegram будет создана задача с текстом /start roistat_{number}, где {number} – номер визита. Этот номер нужно скопировать в поле roistat, созданное при интеграции с ПланФикс.

    18.jpg

  5. Вы можете настроить автоматическую передачу номера визита из Telegram в Roistat. Для этого в интерфейсе ПланФикс перейдите в Управление аккаунтомПроцессы задачНовый процесс и создайте процесс с любым названием.

    19.png

  6. Перейдите в созданный процесс и нажмите Автоматические сценарии.

    20.png

  7. Создайте новый сценарий.

    21.jpg

    Необходимо заполнить поля следующим образом:

    • Событие, при котором будет запущен сценарий: Задача создана и соответствует условиям
    • Условия сценария: Описаниеэ (содержит)roistat_
    • Ставить сценарий в очередь на выполнение
    • Выполнить следующие операции:
      • Послать HTTP-запрос
      • Метод: GET
      • URL: http://ссылка_на_ваш_скрипт?roistat={{Задача.Описание.Без форматирования::написание=с маленькой буквы}}, где ссылка_на_ваш_скрипт – ссылка на обработчик, расположенный на вашем хостинге. В дальнейшем в данный обработчик нужно будет вставить код (п.9). Другие значения в URL менять не нужно.
    • Заголовки: Content-Typeapplication/x-www-form-urlencoded
    • Авторизация: Без авторизации
    • Установить чекбокс Разобрать полученный ответ
  8. Внизу окна создания сценария нажмите Настроить разбор ответа – откроется окно настройки.

    22.jpg

    Необходимо заполнить поля следующим образом:

    • Извлечение данных:
      • Извлекать из текста в формате: Текст (без форматирования)
      • Название инфоблока: visit
      • Извлечь текст: Все содержимое
    • Выполнить следующие действия:
      • Изменить эту задачу
      • Изменение: Установить значение поля из инфоблока
      • Поле: roistat
      • Инфоблок: visit
  9. В обработчик, указанный в п.7 в поле URL, вставьте следующий код:

    <?php
    
    if (empty($_GET['roistat'])) die();
    
    echo preg_replace('/\/start roistat_/', '', $_GET['roistat']);
    
  10. Привяжите процесс к вашему шаблону создания задач и проверьте работу. Для этого перейдите в ЗадачиШаблоныНовый шаблон задачи.

    23.png

    Введите название шаблона и нажмите кнопку Сохранить.

    24.png

  11. Теперь необходимо привязать созданный шаблон к интеграции с Telegram. Для этого зайдите в Управление аккаунтомИнтеграцииМессенджеры.

    25.jpg

    Нажмите TelegramНастройки интеграции (шестеренка):

    26.png

    В списке Шаблон для создания новых задач выберите созданный шаблон:

    27.png

    Готово: теперь при создании задачи с Telegram номер визита будет автоматически передаваться в дополнительное поле roistat.

    28.jpg

Полезные статьи