GREEN-API 1C demo chatbot#
1C демо чат-бот это пример чат-бота для WhatsApp на базе 1С, который может быть взят за основу для написания своих чат-ботов с использованием сервиса Green API.
Чат-бот наглядно демонстрирует использование API для отправки текстовых сообщений, файлов, картинок.
Минимальные требования для запуска чат-бота#
Платформа 1С не ниже версии 8.3.10
Содержание#
Установка чат-бота#
Для запуска чат-бота на собственном WhatsApp аккаунте следуйте инструкции:
Запустите 1С и следуйте шаг за шагом для успешной установки чат-бота.
Создание новой пустой конфигурации#
Установка обработки чат-бота#
Выберите файл обработки, который вы скачали
Настройка чат-бота#
После установки вы увидите следующее окно, для начала работы необходимо настроить чат-бота
Перейдите на вкладку настройки
Вы можете заполнить данные самостоятельно в выделенные поля из вашего личного кабинета, либо перейти на вкладку помощник подключения
Запустите помощник подключения и следуйте инструкции Нажмите на кнопку далее
Нажмите на кнопку для регистрации или перейти в личный кабинет по ссылке.
Выберите бесплатный тариф Разработчик
Подключите аккаунт WhatsApp с помощью QR кода из личного кабинета
Скопируйте значения idInstance
, apiTokenInstance
, mediaUrl
и apiUrl
из личного кабинета.
Внимание!
Адреса ссылок apiUrl и mediaUrl вносятся без https://
Если вы правильно ввели данные, то увидите окно успеха, в случае ошибки возникнет окно с просьбой ввести данные корректно
Следуйте рекомендациям, отметьте все чек-боксы и нажмите далее
Получите уведомление о том, что чат-бот готов к работе
Использование#
Перейдите на вкладку чат-бот
и выберите пункт запустить бота
Для того, чтобы бот вам ответил, отправьте сообщение на тот номер, который вы прикрепили к инстансу
Следуйте инструкциям после запуска чат-бота, а для его остановки нажмите на кнопку Остановить бота
Структура кода#
Сообщения и ответы бота можно настроить в коде обработки под себя. С помощью бота можно запрашивать у клиента информацию по шагам, уточняя свой вопрос с каждым новым ответом клиента.
Также поддерживаются глобальные команды. Например, если написать боту текстом слово Выход
, то диалог сбросится и начнется с самого начала. Эту функцию можно использовать для реализации команд типа Отписаться
, Стоп
и т.п..
Как настроить свои сценарии#
- Открываем обработку в режиме конфигуратора.
- В модуле объекта смотрим на функцию
ПодготовитьШаблоныСообщений()
. Эта функция содержит все сообщения, которые пишет сам бот в ответ на сообщения пользователя. - Чтобы добавить новый ответ внутри этой функции, вызываем метод
НовыйОтветБота
, по аналогии, как это сделано в демо-примере:
Функция ПодготовитьШаблоныСообщений(КоллекцияШаблонов, КоллекцияГлобальныхШаблонов)
ОтветПоНоменклатуре = НовыйОтветБота(НовоеСообщение, "1", "Выводим
список товаров...", "Подключаемый_ВывестиНоменклатуру");
КонецФункции
Если нужно, то прописываем обработчик, который срабатывает после того, как клиент ответил боту верной командой. Обработчик должен быть в модуле объекта и иметь два входных параметра, например, как в демо:
Процедура Подключаемый_ВывестиНоменклатуру(Чат, Шаблон)
ОтправитьСообщениеВЧат(Чат.ИдЧата,
"Арт: 123456, Чайник Электролюкс; цена: 1 200 руб; на складе: 12 шт,
|Арт: 12223, Холодильник Хайер; цена: 45 000 руб; на складе: 4 шт
|Арт: 54656, Телевизор Самсунг; цена: 110 000 руб; на складе: 2 шт");
КонецПроцедуры
Чтобы сделать вложенный ответ, используем тот же метод НовыйОтветБота()
, но только в качестве первого параметра передаем результат родительского
метода, например, как в демо:
// Родительский ответ
ОтветПоНоменклатуре = НовыйОтветБота(НовоеСообщение, "1", "Выводим
список товаров...", "Подключаемый_ВывестиНоменклатуру");
// Вложенный ответ
ОтветМенеджер = НовыйОтветБота(ОтветПоНоменклатуре,, "Хотите связаться с менеджером (Да/Нет)?");
Чтобы прописать глобальную команду, используем метод НовыйГлобальныйОтветБота()
и первым параметром в него передаем переменную КоллекцияГлобальныхШаблонов
. Пример:
Функция ПодготовитьШаблоныСообщений(КоллекцияШаблонов, КоллекцияГлобальныхШаблонов)
НовыйГлобальныйОтветБота(КоллекцияГлобальныхШаблонов, "Выход", "Работа с чат ботом завершается...", "Подключаемый_ВыключитьЧатБот");
КонецФункции