Создаём чат-бота в Битрикс24 с уведомлениями из 1С

24.11.25

Интеграция - Мессенджеры и боты

В этой статье я покажу, как с минимальными усилиями создать собственного чат-бота в Битрикс24 и отправлять от его имени уведомления из 1С.

Сразу договоримся, что уведомлять можно не только из 1С, но и, в принципе, с градусника - лишь бы он умел отправлять HTTP-запросы. А ещё чат-бот - это, конечно, скорее про диалог, но это совсем другая история, до которой обязательно доберёмся.

У нас в компании чат-бота зовут Осип М. Так повелось. Уведомляет менеджеров об отгрузке/оплате заказов, бухгалтеров о расчете себестоимости в специальном приватном канале, используется пользователями для двухфакторной авторизации, информирует системных администраторов о всякой технине, пишет ответственным об изменении цен и ещё очень много всяких, простигосподе, кейсов. В общем, передовик. 

А мы с вами давайте пройдём этот путь с начала и создадим чат-бота по имени Scooter

 

Шаг 1. Создаём бота в Битрикс24

 

Идём в "Разработчикам" -> Добавить чат-бот.

Здесь выберем "Информировать сотрудников в чате"

Название бота - Как его будут видеть другие пользователи. У нас это Scooter.

URL обработчик бота - здесь самое сложное. Нужно на каком-то сервере разместить исполняемый php-файл. На текущий момент это не критично, бот даже без этого файла будет работать. Но молчаливо, как партизан. Пока нас всё устраивает, позже доберёмся и до этого

Тип бота - оставляем как есть, т.е. - Чат-бот, ответы сразу

 

 

Жмём "Создать бота".

После того как нажали "Создать бота" битрикс заполнит остальные технические поля. Они понадобятся для дальнейшей настройки. Прямо с этой страницы уже можно попробовать нашего бота. Вставим в DIALOG_ID ID своего аккаунта в Битрикс, а в поле MESSAGE "How Much Is the Fish". И жмём выполнить! 

Жёлтым цветом на предыдущей картинке я пометил ТОКЕН. Никому не сообщайте его. Его спрашивают ТОЛЬКО мошенники.

Если всё правильно, то в Битрикс24 Вам прилетит первое сообщение.

 

 

У нас в компании строго-настрого запрещено лазить в чат, если у тебя нет фотокарточки, поэтому добавляем фотокарточку боту и делаем его узнаваемым.

С Битрикс24 всё.

 

Шаг 2. 1С

 

Заранее прошу прощения за английский язык, черезполосицу и так далее. Я в детстве упал с велосипеда, но, как известно, сильный не тот, кто падал, а тот кто поднимался и продолжал писать 1С.

Код я максимально упростил для наглядности. В реальной жизни, конечно, нужно добавить обработку ошибок, ответов и прочие нужности-полезности.

Для начала опишем небольшую функцию для создания подключения.

Функция создатьСоединениеBITRIX24()
	АдресBITRIX24 = "ЗДЕСЬ_ВАШ_ДОМЕН_БИТРИКС_.ru";
	ssl = новый ЗащищенноеСоединениеOpenSSL(новый СертификатКлиентаWindows(),новый СертификатыУдостоверяющихЦентровWindows());	
	возврат новый HTTPСоединение(АдресBITRIX24,,,,,5,ssl); 
КонецФункции

Функция для отправки сообщения от лица бота.

Обратите внимание на строку запроса. Её надо взять из настройки бота в Битрикс - Вебхук для вызова rest api. У меня это "rest/26/ВАШ_ТОКЕН/imbot.message.add.json?", у вас же будет также, только по-другому.

Функция отправитьСообщениевBITRIX24() 
	httpConnect = создатьСоединениеBITRIX24();
	
	ПараметрыЗапроса = новый структура;
	ПараметрыЗапроса.insert("DIALOG_ID", 	IDПользователяПолучателя); 
	ПараметрыЗапроса.insert("CLIENT_ID", 	"ВАШ_CLIENT_ID");
	ПараметрыЗапроса.insert("BOT_ID", 		"ВАШ_BOT_ID"); 
	ПараметрыЗапроса.insert("MESSAGE", 		ТекстСообщения);
	ПараметрыЗапроса.insert("SYSTEM", 		?(Системное, "Y", "N"));

	ПараметрыЗапросаТекстом = собратьТелоGetЗапроса(ПараметрыЗапроса);                       
	ЗапросТекстом = Строка("rest/26/ВАШ_ТОКЕН/imbot.message.add.json?" + ПараметрыЗапросаТекстом);  
	
	HTTPЗапрос = новый HTTPЗапрос(ЗапросТекстом);
	Попытка
		Результат = httpConnect.Получить(HTTPЗапрос);
	Исключение
		Возврат ЛОЖЬ;
	КонецПопытки;

КонецФункции

Небольшая вспомогательная функция, которая собирает тело запроса.

function собратьТелоGetЗапроса(_params)
	_array = new array;
	for each i in _params do
		if ТипЗнч(i.Значение) = ТИП("Строка")
			or ТипЗнч(i.Значение) = ТИП("Число") then
			_value = КодироватьСтроку(i.Значение, СпособКодированияСтроки.КодировкаURL);
			_array.add(СтрШаблон("%1=%2", i.Ключ, _value));
		elsIf ТипЗнч(i.Значение) = ТИП("Массив") then
			_arrayData = new array;
			_n = 0;
			for each j in i.Значение do
				_arrayData.add(i.Ключ + "[" + _n + "]=" + КодироватьСтроку(j, СпособКодированияСтроки.КодировкаURL));
				_n = _n + 1;
			endDo;
			_array.add(СтрСоединить(_arrayData,"&"));
		endIf;
	endDo;
	return СтрСоединить(_array, "&");
endFunction

Для наглядности сделаем обработку с отправкой сообщения.

Bitrix ID пользователя - это, очевидно, ID пользователя в Битрикс24. Его можно добыть разными средствами, но об этом не в этой статье. (если нужно отправить не личное сообщение, а в группу - то можно указать идентификатор группы, он выглядит так = "chat<ID>")

Обратите внимание, что я добавил реквизит "Системное". В коде отправки сообщения передаётся параметром SYSTEM. От него зависит, как ваше сообщение будет выглядеть в Битрикс.

 

 

И получаем наши уведомления в Битрикс24

 

 

Спасибо за внимание. Если формат статьи зайдет, могу развивать дальше - где брать ID пользователя, как удалять и редактировать сообщения, программно создавать каналы и всякое другое нужное баловство.

Вступайте в нашу телеграмм-группу Инфостарт

битрикс24 интеграция уведомления битрикс

См. также

SALE! 50%

Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

6000 3000 руб.

07.04.2014    91679    71    200    

152

Мессенджеры и боты Системный администратор Программист Бизнес-аналитик Пользователь Руководитель проекта 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С - конструктор чат-ботов в Телеграм.

15000 руб.

18.06.2021    79100    324    275    

399

Мессенджеры и боты 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Интеграция мессенджера WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi.

18000 руб.

23.06.2023    15444    53    24    

58

Мобильная разработка Мессенджеры и боты 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    48697    127    172    

224

Мессенджеры и боты Учет документов 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    39659    43    55    

78

Зарплата Учет рабочего времени Кадровый учет Мессенджеры и боты Бухгалтер Пользователь 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Сделайте взаимодействие сотрудников компании и бухгалтерии быстрым и удобным. С Личным кабинетом сотрудника в 1С:ЗУП 3.1 и КА 2.5 для Telegram больше не нужно лично посещать бухгалтерию и отдел кадров – все документы доступны в Telegram.

9600 руб.

21.03.2022    17878    9    21    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. bayselonarrend 2961 24.11.25 15:36 Сейчас в теме
На imbot.message.add нельзя отправить POST запрос?
2. cio_tsgroup 0 25.11.25 02:06 Сейчас в теме
(1)
На imbot.message.add

Отчего же нельзя, когда можно. Такой вызов вполне себе работает.

	SSL = Новый ЗащищенноеСоединениеOpenSSL(новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровОС());  
	Соединение = Новый HTTPСоединение("your.bitrix.url", 443,,,,5, SSL);

	Заголовки = Новый Соответствие;    
	Заголовки.Вставить("Content-Type", "application/json"); 
	Заголовки.Вставить("Access-Control-Request-Headers", "*");

	Данные = Новый Структура();
	Данные.Вставить("DIALOG_ID", IDПользователяПолучателя);
	Данные.Вставить("CLIENT_ID", "awi7****************spq"); 
	Данные.Вставить("BOT_ID", "***");
	Данные.Вставить("MESSAGE", ТекстСообщения);
	Данные.Вставить("SYSTEM", ?(Системное, "Y", "N")); 

	ЗаписьJSON = Новый ЗаписьJSON;            
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, Данные);            
	ТелоЗапроса = ЗаписьJSON.Закрыть(); 
	    
	Запрос = Новый HTTPЗапрос("rest/26/h0yp*********bot.message.add.json", Заголовки);
	Запрос.УстановитьТелоИзСтроки(ТелоЗапроса);

	Ответ = Соединение.ВызватьHTTPМетод("POST", Запрос);

	Сообщить(Ответ.ПолучитьТелоКакСтроку());
Показать
Прикрепленные файлы:
3. bayselonarrend 2961 25.11.25 06:33 Сейчас в теме
(2) Ну так и я к тому)
Зачем этот комбайн по перемалыванию структуры в параметры URL, если можно просто json отправить
4. cio_tsgroup 0 25.11.25 10:34 Сейчас в теме
(3)
Зачем этот комбайн по перемалыванию структуры в параметры URL, если можно просто json отправить


Согласен, как не согласиться?!. Но комбайн всё же здесь оставлю - вдруг кому-то очень пригодится.
Для отправки сообщения требуется регистрация/авторизация