Найти тему
Merion Academy

Интеграция Битрикс24 и Telegram

Оглавление

Мессенджеры с каждым днем все больше и больше интегрируются в нашу жизнь. Это невольно наводит на мысль о «бесшовной» интеграции мгновенных сообщений и бизнес инструментов. Размышляя на этот счет, под наш исследовательский порыв попал популярный в России мессенджер Telegram и CRM Битрикс24.

Нам захотелось присылать информацию о созданном лиде в Битриксе в групповой чат Telegram. Мы написали небольшой скрипт на .php и адаптировали его на Linux – машине. Что из этого получилось, спешим рассказать :)

ПОПРОБОВАТЬ БИТРИКС24

БОТ В ТЕЛЕГРАМЕ

Итак, первым делом создаем бота в Телеграме. В нашей базе уже есть пошаговый материал по созданию бота, поэтому, нажмите на кнопку ниже и пройдите по ссылке. Выполните все шаги, которые указаны в пункте «Создание бота в Telegram» - это займет примерно 5 минут. Как сделаете, переходим к следующему пункту.

СОЗДАНИЕ БОТА

СКРИПТ ОБРАБОТКИ

Все ли получилось на этапе ранее? У вас должен быть токен вида 331754110:AAHkMNalOz5I_Schh2kvj7ONhRcE8HuKV-c и ID (идентификатор) группового чата. Если все на месте, то вашему вниманию предлагается сам скрипт (комментарии по ходу скрипта после двойного слеша //):

<?php
$token = "Ваш_токен"; // тут вводим ваш токен;
$chat_id = "ID_чата"; // указываем идентификатор группового чата
$lead_name=$_GET['name']; //получает методом GET название лида, ответственного, источник и его идентификатор;
$lead_respons=$_GET['respons'];
$lead_source=$_GET['source'];
$lead_link=$_GET['link'];
$lead_link1 = "
https://ваш_домен_битрикс.bitrix24.ru/crm/lead/show/$lead_link/"; // данную конструкцию мы используем для того, чтобы корректно сформировать и отправить ссылку на лида в Telegram;
#Оправляем в телеграм
$hello = "<b>Здравствуйте, коллеги!</b>"; // формируем элементы массива (сообщения), который будем отправлять в сторону Telegram – API;
$hello_1 = "";
$message = "В CRM Битрикс24 добавлен новый лид - ";
$repons = "Ответственный - ";
$src= "Источник - ";
$link = "Ссылка - ";
$arr = array( // формируем сам массив;
$hello => $hello_1,
$message => $lead_name,
$repons => $lead_respons,
$src => $lead_source,
$link => $lead_link1,
);
foreach($arr as $key => $value) {
if ($key == "Ссылка - ") { $txt .= "".$key." ".$value."%0A";} else {
$txt .= "".$key."
".$value."%0A";
}};
fopen("
https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r"); // отправляем данные в сторону API Телеграма;
?>

СКАЧАТЬ СКРИПТ

После загрузки скрипта по ссылке, смените его расширение на .php

Подставляем свои данные, сохраняем скрипт как bitrixtelegram.php и закидываем его в WEB - директорию вашего сервера (сервера в вашей сети). На нашем сервере мы используем web – сервер Apache на базе CentOS – наша директория /var/www/html/.

Важно! Скрипт должен быть доступен по web из внешней сети (Битрикс24 будет обращаться к нему из бизнес – процесса). Мы рекомендуем использовать https, засекьюрить директорию, внутри которой будет находиться скрипт (например, дать ей имя v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0. Тем самым, полный путь до директории будет /var/www/html/v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0). Помимо этого, рекомендуем ограничить подключение к этой директории фильтрацией по IP (на уровне web – сервера и фаервола/маршрутизатора на уровне L3).

После этого, в консоли сервера, в случае Linux, даем команды (путь к файлу скрипта у вас может отличаться):

chmod 755 /var/www/html/v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0/bitrixtelegram.php
dos2unix /var/www/html/v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0/bitrixtelegram.php

АДАПТАЦИЯ В БИЗНЕС – ПРОЦЕСС В БИТРИКС24

Да – да, мы будем использовать вебхуки (Webhook). Это отличное средство, которое позволяет внедрять кастомные сценарии в обработку любой сущности в рамках Битрикс24. По факту, Битрикс просто будет кидать GET - запрос.

Переходим к настройке. Открываем CRMНастройкиАвтоматизацияБизнес - процессыЛидДобавить шаблон:

Даем имя шаблону и указываем параметры запуска – «При добавлении». Внутри самого бизнес процесса, из правой палитры инструментов перетаскиваем элемент Webhook:

-2

В настройка вебхука, в поле в хендлер копируем следующую конструкцию:

https://telegram.merionet.ru/ v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0/ bitrixtelegram.php?name={=Document:TITLE}&respons={=Document:ASSIGNED_BY_PRINTABLE}&source={=Document:SOURCE_ID}&link={=Document:ID}

Где:

  • https://telegram.merionet.ru - хостовая часть, на которой расположился наш скрипт;
  • v2I7TD9w3zo9QR7vg6ApNwDVvJOj9XbO61OJKdIyxI6d0 - директория в корне web – сервера, в которой лежит скрипт;
  • bitrixtelegram.php - сам скрипт;
  • ?name={=Document:TITLE}&respons={=Document:ASSIGNED_BY_PRINTABLE}&source={=Document:SOURCE_ID}&link={=Document:ID} - параметры, которые мы будем передавать в скрипт, а именно – имя лида, источник, ответственный и ID - лида;
-3

Проверяем :) Вручную добавляем лид в CRM:

-4

И вот что ждет нас в Telegram: