Работа с мессенджером МАКС из 1С
Интеграция - Мессенджеры и боты
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Продолжение Работа с мессенджером МАКС из 1С: картинка, видео, аудио и файл...
Для демонстрации возможностей можно использовать чат-бот DemoBot.
Это расширение будет работать на любой современной конфигурации.
4 шага
Зарегистрируйтесь или войдите на платформу MAX
Установите это расширение в вашу базу
Опубликуйте вашу базу
В 1С установите токен чат-бота и Web Hook.
1. Чтобы создать чат-бота, воспользуйтесь чат-ботом MasterBot, используйте команду /create. Вы окажетесь на платформе МАКС для партнеров. Зарегистрируйтесь или войдите на платформу (доступно для организаций, ИП и самозанятых).

Добавьте нового чат-бота, заполните его имя, ник присвоится автоматически.

Через короткое время (в моем случае примерно 10 мин.) чат-бот создастся и можно будет увидеть и сохранить токен чат-бота.

2. Установите это расширение в вашу базу 1С. Создайте профиль групп доступа с ролью "МАКС основная роль". И дайте пользователю ВашЛогин1С право на этот профиль.
3. Опубликуйте вашу базу 1С (для этого запустите конфигуратор правой кнопкой мышки, как администратор). Не забудьте опубликовать http расширения:

В публикации обязательно укажите логин и пароль доступа в 1С (в файле default.vrd допишите usr=_ВашЛогин1С_;pwd=_ВашПароль1С_, т.к. чат-бот не будет отвечать на ссылки типа http://_ВашЛогин1С_:_ВашПароль1С_@ресурс. А хотелось бы, чтоб отвечал.
4. В 1С зайдите в "Настройки MAX".

Укажите там сохраненный ранее токен чат-бота.
Заполните поле Web Hook. Пример:

Поддерживаются соединения только https. Нельзя использовать самоподписанные сертификаты. Здесь используется бесплатный Let's Encrypt.
После нажмите кнопку "Подписка на обновления":

Закройте окно и согласитесь на сохранение изменений.
5. Чат-бот готов к использованию.
Можно открыть приложение МАКС на компьютере или на телефоне, под тем же пользователем, который запускал MasterBot. В списке появился созданный вами чат-бот. Откройте этого чат-бота. Начните диалог с чат-ботом. Получите в ответ сообщение с картинкой (находится в "Общие картинки/МАКС_Старт") и сообщение с inline-клавиатурой.

Сообщения можно отредактировать в конфигураторе "Общие модули/МАКС_HTTPСервисы" и использовать для своей логики работы чат-бота и связи с базой 1С. Можно так же использовать отладку (не забудьте для этого установить параметры отладки и автоматическое подключение для http-сервисов).
Код полностью открыт.
Продолжение Работа с мессенджером МАКС из 1С: картинка, видео, аудио и файл...

Следите за обновлениями.
Upd означает доработку расширения.
Inf означает проблемы на стороне разработчиков МАКС.
Prob означает проблемы на нашей стороне.
Prob 25-09-2026 - 29-09-2026 Просрочен сертификат сервера. Заменили. Чат-бот работает вновь.
Upd 03-08-2026 Ver2.9 Возможность добавления номера приватного канала для сокращения времени ожидания первого ответа от чат-бота. Об этом //infostart.ru/1c/tools/2758656/.
Upd 03-08-2026 Ver2.8 Еще форматирование текста в сообщениях.
Prob 03-08-2026 Замена сертификата сервера.
Prob 28-07-2026 Просрочен сертификат сервера.
Upd 06-07-2026 Ver2.7 Поддержали изменение адреса MAX API.
Inf 07-06-2026 Мессенджер MAX работает и на ПК тоже.
Inf 06-06-2026 Мессенджер MAX работает только на телефонах.
Upd 10-04-2026 Ver2.6 Теперь бот может показывать по-разному отформатированный текст.
Upd 10-04-2026 Ver2.5 Добавили кнопку "Скопировать". Копирует в буфер обмена текст: 12345.
Upd 05-04-2026 Ver2.4 Добавили кнопку "Отправить место". Отправляет геолокацию. Работает только на смартфоне!
Inf 05-04-2026 Кнопка "Обратный вызов" вновь работает.
Inf 02-04-2026 Кнопка "Обратный вызов" перестала работать.
Inf 25-03-2026 Кнопка "Обратный вызов" вновь работает.
Inf 24-03-2026 Кнопка "Обратный вызов" перестала работать.
Upd 24-03-2026 Ver2.3 Теперь при запуске чат-бота сразу же появляется сообщение.
Upd 24-03-2026 Ver2.2 Добавили кнопку "Обратный вызов". Позволяет, не создавая сообщение в окне чата, передать выбранное пользователем значение.
Индивидуальная доработка
Нужна адаптивность и масштабируемость?
Предлагаем тонкую настройку и модификацию продукта под ваши бизнес-задачи.

Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.5.24.52
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.152.28
- Управление нашей фирмой, редакция 3.0, релизы 3.0.12.237
- Управление торговлей, редакция 11, релизы 11.5.22.153
- Розница, редакция 3.0, релизы 3.0.9.150
Вступайте в нашу телеграмм-группу Инфостарт
См. также
SALE! 50%
Мессенджеры и боты SMS рассылки Email рассылки Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
Расширение 1С с полным набором инструментов для качественных транзакционных, триггерных и маркетинговых рассылок Email, SMS, MAX, WhatsApp, Telegram. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.
6100
3050 руб.
07.04.2014 99883 93 205
Мессенджеры и боты 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Интеграция мессенджеров Max, WhatsApp и 1С: УНФ, УТ, КА, ERP - отправка и получение сообщений, картинок, файлов и видео прямо в 1С. Расширение работает с сервисом GreenApi. Важно: Интеграция с Telegram пока только для конфигурации 1С:УНФ.
30500 руб.
23.06.2023 18903 62 27
Мессенджеры и боты 1С:Предприятие 8 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Управленческий учет Платные (руб)
Расширение WhatsApp/MAX/Telegram-клиент для 1С работает через сервис Green-Api.com (WhatsApp/MAX/Telegram) и BotFather (Telegram). Это отправка/получение сообщений, изображений, смайлов, файлов из 1С.
15000 руб.
09.02.2024 14079 27 74
Мессенджеры и боты 1С 8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Готовый чат-бот MAX для 1С виде расширения. Клиенты проверяют остатки и заказы прямо в мессенджере. Ролевая модель, гибкое меню, отправка файлов, диалоги. Подключайте свою логику через внешние обработки.
14640 руб.
26.03.2026 3950 5 0
Мессенджеры и боты SMS рассылки Email рассылки 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)
Общение с клиентами несколькими операторами 1С с одного или нескольких аккаунтов Max, Telegram и WhatsApp в вашей базе 1С. Рассылки, чат-боты, сценарии. Работает как самостоятельное решение, так и в составе других конфигураций 1С 8.3 - 8.5.
5900 руб.
08.04.2020 59712 123 2
Мессенджеры и боты 1С 8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 Платные (руб)
Обработка для быстрого подключения мессенджера MAX к любой конфигурации 1С.
10000 руб.
02.02.2026 8856 40 2
Мессенджеры и боты SMS рассылки 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Решение реализовано в виде расширения. Заменяет отправку смс на отправку в WhatsApp через Green-api. Отправка чека картинкой.
7930 руб.
15.05.2024 5127 5 11
Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)
Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram/max, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо.
14900 руб.
15.11.2018 43880 58 62
Да там есть методы которые недоступны через взаимодействие с официальным api, вроде как, можно написать первым клиенту лишь по номеру или просто проверить если у клиента max.
Скорей всего green api построен на отснифанных запросах к max и под капотом там у них будто бы выполняются соединение через клиентское приложение
В публикации обязательно укажите логин и пароль доступа в 1С (в файле default.vrd допишите usr=_ВашЛогин1С_;pwd=_ВашПароль1С_, т.к. чат-бот не будет отвечать на ссылки типа . А хотелось бы, чтоб отвечал.
можно более подробно с примером куда это прописать в default.vrd?
<service name="ЭДО"
rootUrl="edi"
enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5">
<accessTokenAuthentication>
<issuers/>
<accessTokenRecepientName/>
</accessTokenAuthentication>
</service>
Куда тогда прописать что вы рекомендовали в файле default.vrd допишите usr=_ВашЛогин1С_;pwd=_ВашПароль1С_, т.к. чат-бот не будет отвечать на ссылки типа . А хотелось бы, чтоб отвечал.
пример если выложить будет понятнее.
(29) все отлично работает сервис.
сразу про 443 порт. если его прокинуть на роутере, получим путь тогда запросы отправляется не будут.
Если отправлять через клиента то все работает. наша задача делать на сервере.
Вступили переписку с поддержкой МАХ. посмотрим что получится. по результату отпишусь
ну как пример:
&НаСервереБезКонтекста
Функция UnixTODate(ЧислЗначениеДаты)
Возврат Дата(1970,1,1)+ЧислЗначениеДаты/1000+СмещениеСтандартногоВремени(ЧасовойПояс());
КонецФункции
&НаСервере
Процедура СписокСообщенийНаСервереНаСервере()
// Вставить содержимое обработчика.
СоединениеHTTP = Новый HTTPСоединение("platform-api.max.ru", 443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Токен=Константы.МАКС_Токен.Получить();
chat_id = "";
method = "/updates?limit=50&timeout=5&v=1.2.5";
HTTPЗапрос = Новый HTTPЗапрос;
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Accept", "*/*");
//HTTPЗапрос.Заголовки.Вставить("Accept-Encoding", "gzip, deflate, br");
HTTPЗапрос.Заголовки.Вставить("Connection", "keep-alive");
HTTPЗапрос.Заголовки.Вставить("Authorization", Токен);
HTTPЗапрос.АдресРесурса = method;
//совершим соединение по методу
РезультатЗапроса = СоединениеHTTP.ВызватьHTTPМетод("GET",HTTPЗапрос);
//РезультатЗапроса.ПолучитьТелоКакСтроку();
Если РезультатЗапроса.КодСостояния=200 Тогда
ЧтениеJSON = НОвый ЧтениеJSON();
Сообщить(РезультатЗапроса.ПолучитьТелоКакСтроку("UTF-8"));
Поток = РезультатЗапроса.ПолучитьТелоКакПоток();
ЧтениеJSON.ОткрытьПоток(Поток,"UTF-8");
Дерево= Неопределено;
СформироватьДерево(ЧтениеJSON, Дерево);
Если Дерево["updates"]<>Неопределено Тогда
Для Каждого Строка ИЗ Дерево["updates"] Цикл
Если Строка["message"]<>Неопределено Тогда
UserID=Неопределено;
text="";
message=Строка["message"];
Если message["timestamp"]<>Неопределено Тогда
ДатаВремя=UnixTODate(message["timestamp"]);
Сообщить(Формат(ДатаВремя,"dd.MM.yyyy hh:mm:ss"));
КонецЕсли;
Если message["sender"]<>Неопределено Тогда
sender=message["sender"];
LastActivityTime=UnixTODate(sender["last_activity_time"]);
is_bot=sender["is_bot"];
Name=sender["name"];
Firstname=sender["first_name"];
Lastname=sender["last_name"];
UserId=sender["user_id"];
Сообщить("Имя пользователя: "+Name+" Фамилия: "+Firstname+" Имя: "+LastName+" ID: "+Формат(UserID,"ЧГ=0")+" бот: "+is_bot+" Последняя активность: "+LastActivityTime);
// Ответ с Кнопкой
//ОтправитьСообщениеНаСервереОтвет(UserID);
КонецЕсли;
Если message["body"]<>Неопределено Тогда
body=message["body"];
text=body["text"];
seq=body["seq"];
mid=body["mid"];
phone="";
Если body["attachments"]<>Неопределено Тогда
Для Каждого attachments ИЗ body["attachments"] Цикл
Если attachments["type"]="contact" Тогда
Если attachments["payload"]<>Неопределено Тогда
payload=attachments["payload"];
Если payload["vcf_info"]<>Неопределено Тогда
vcf=payload["vcf_info"];
Сообщить(vcf);
РегулярноеВыражение="(?:TEL;TYPE=cell\:)(\d+)";
phone=СтрНайтиПоРегулярномуВыражению(vcf,РегулярноеВыражение,,,1,Ложь,Истина).Значение;
phone=Прав(phone,СтрДлина(phone)-14);
Сообщить(phone);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Сообщить("text:"+text+" seq: "+seq+" mid: "+mid+" phone: "+phone);
КонецЕсли;
Если message["recepient"]<>Неопределено Тогда
recepient=message["recipient"];
UserID=recepient["user_id"];
ChatType=recepient["chat_type"];
ChatID=recepient["chat_id"];
Сообщить("Recipient: "+UserID+" ChatType: "+ChatType+" ChatID: "+ChatID)
КонецЕсли;
// Автоматический ответ
Если UserID<>Неопределено И text="/Документы" Тогда
ОтправитьСообщениеНаСервереОтвет(UserID);
КонецЕсли
КонецЕсли;
КонецЦикла;
КонецЕсли;
ЧтениеJSON.Закрыть();
// Сообщить(РезультатЗапроса.ПолучитьТелоКакСтроку());
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОтправитьСообщениеНаСервереОтвет(UserID)
СоединениеHTTP = Новый HTTPСоединение("platform-api.max.ru", 443,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Токен=Константы.МАКС_Токен.Получить();
chat_id = "";
ТекстЗапроса = "{
|""text"": ""Получение документов"",
|""attachments"": [
|{
|""type"": ""inline_keyboard"",
|""payload"": {
|""buttons"": [
|[
|{
|""type"": ""request_contact"",
|""text"": ""Расчетный лист"",
|""url"": """"
|}
|]
|]
|}
|}
|]
|}";
method = "messages?user_id="+Формат(UserID,"ЧГ=0");
HTTPЗапрос = Новый HTTPЗапрос;
HTTPЗапрос.Заголовки.Вставить("Content-type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Authorization", Токен);
HTTPЗапрос.АдресРесурса = method;
HTTPЗапрос.УстановитьТелоИзСтроки(ТекстЗапроса);
//совершим соединение по методу
РезультатЗапроса = СоединениеHTTP.ОтправитьДляОбработки(HTTPЗапрос);
//РезультатЗапроса.ПолучитьТелоКакСтроку();
//curl -X POST "https://platform-api.max.ru/messages?user_id={user_id}" \
//-H "Authorization: {access_token}" \
//-H "Content-Type: application/json" \
//-d '{
//"text": "Это сообщение с кнопкой-ссылкой",
//"attachments": [
//{
//"type": "inline_keyboard",
//"payload": {
//"buttons": [
//[
//{
//"type": "link",
//"text": "Откройте сайт",
//"url": "https://demobot.ru"
//}
//]
//]
//}
//}
//]
//}'
Сообщить(РезультатЗапроса.ПолучитьТелоКакСтроку());
КонецПроцедуры
&НаСервере
Процедура СформироватьДерево(ЧтениеJSON, Дерево)
ИмяСвойства = Неопределено;
Пока ЧтениеJSON.Прочитать() Цикл
TипJSON = ЧтениеJSON.ТипТекущегоЗначения;
Если TипJSON = ТипЗначенияJSON.НачалоОбъекта
ИЛИ TипJSON = ТипЗначенияJSON.НачалоМассива Тогда
НовыйОбъект = ?(TипJSON = ТипЗначенияJSON.НачалоОбъекта, Новый Соответствие, Новый Массив);
Если ТипЗнч(Дерево) = Тип("Массив") Тогда
Дерево.Добавить(НовыйОбъект);
ИначеЕсли ТипЗнч(Дерево) = Тип("Соответствие") И ЗначениеЗаполнено(ИмяСвойства) Тогда
Дерево.Вставить(ИмяСвойства, НовыйОбъект);
КонецЕсли;
СформироватьДерево(ЧтениеJSON, НовыйОбъект);
Если Дерево = Неопределено Тогда
Дерево = НовыйОбъект;
КонецЕсли;
ИначеЕсли TипJSON = ТипЗначенияJSON.ИмяСвойства Тогда
ИмяСвойства = ЧтениеJSON.ТекущееЗначение;
ИначеЕсли TипJSON = ТипЗначенияJSON.Число
ИЛИ TипJSON = ТипЗначенияJSON.Строка
ИЛИ TипJSON = ТипЗначенияJSON.Булево
ИЛИ TипJSON = ТипЗначенияJSON.Null Тогда
Если ТипЗнч(Дерево) = Тип("Массив") Тогда
Дерево.Добавить(ЧтениеJSON.ТекущееЗначение);
ИначеЕсли ТипЗнч(Дерево) = Тип("Соответствие") Тогда
Дерево.Вставить(ИмяСвойства, ЧтениеJSON.ТекущееЗначение);
КонецЕсли;
Иначе
Возврат;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показатьпользователь ничего туда не вводил за время пока бот не работал.
long-pooling
зарегал бота. одобрено.
как добавить бота в чат? в телеге пользователь должен был найти бота и написать ему... чтобы добавился в чат и бот смог писать пользователю.
вот что я искал:
в описании пишут "групповой чат" - такого нет в приложении макс
а есть "создать группу" - вот это нужно сделать пользователю у себя и тогда в неё можно добавить бота...
(ну или канал создаёт владелец бота)
*а например в "приватный чат" добавить бота не получится
Можно привязаться к текущему номеру МАКСа или к Имени Фамилии в МАКСе.
(56) Просто ответным сообщением? Не можем сами считать из его аккаунта номер?
Prob 25-09-2026 - 29-09-2026 Просрочен сертификат сервера. Заменили. Чат-бот работает вновь.(с)
Объясните про сервер. Общение не напрямую с Макс API? Через прослойку в виде вашего сервера?
Возможно настроить поведение боту? Допустим, по нажатию кнопки автоматическое сообщение со следующим вопросом?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 2628963
Создание 03.03.26 12:30
Обновление 29.09.26 19:13
Просмотры 17239
Загрузки 144
Рейтинг
35
Комментарии 69
Код открыт Да
Рубрики Мессенджеры и боты
Кому
Разработчик
,
Пользователь
Тип файла Расширение (cfe)
Конфигурация
Универсальные
,
1С:Бухгалтерия 3.0
,
1С:Управление торговлей 11
,
1С:Комплексная автоматизация 2.х
,
1С:Управление нашей фирмой 3.0
,
1С:Розница 3.0
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)