Как создать WhatsApp эхо-бота с помощью Green-API в Make#
В сервисе Make платформа Green-API имеет свое приложение (альтернативная ссылка на приложение), с его помощью Вы сможете отправлять сообщения в WhatsApp.
Что делать, если возникает ошибка при установке?
Если при установке приложения по указанным ссылкам в Make возникает ошибка, рекомендуем указать в ссылке поддомен, в котором производилась авторизация на сайте.
От поддомена зависит доступность сайта по ссылке.
Примеры доступных доменов: eu1, eu2, us1, us2.

В этом руководстве мы рассмотрим процесс создания эхо-бота для WhatsApp, который будет автоматически отвечать на полученные сообщения. Реализация бота осуществляется с использованием приложения Green-API для платформы Make.
Порядок создания эхо-бота:
- Настройка приложения Make
- Настройка приложения Green-API
- Создание сценария
- Настройка получения входящих сообщений
- Отправка сообщения
- Запуск и проверка бота
Настройка приложений Make и Green-API#
Настройка приложений Make и Green-API подробно описана в разделе Настройка интеграции
Создание сценария#
Scenario (сценарий) - автоматизированный процесс, создаваемый в Make. Каждый сценарии состоит из триггера и действия. При срабатывании триггера в одном из приложений Make автоматически выполняет действие в другом.
Шаблон сценария
Вы можете создать сценарий по инструкции или воспользоваться нашим готовым шаблоном.
Создать сценарий можно из раздела бокового меню "Scenarios", нажав на кнопку "Create a new scenario".


После этого появится рабочее пространство сценария, в котором можно производить дальнейшую настройку.
Настройка получения входящих сообщений#
Чтобы начать использовать приложение в Make, необходимо получить данные инстанса. Информацию о том, как создать инстанс и получить его данные, можно найти по ссылке.
Также требуется авторизовать инстанс. Это действие устанавливает связь между аккаунтом WhatsApp на вашем телефоне с инстансом, позволяя отправлять и получать сообщения. Подробная инструкция по авторизации инстанса представлена в статье "Быстрый старт" в нашей документации.
Запуск сценария должен происходить после получения входящего сообщения эхо-ботом. В этом руководстве мы рассмотрим процесс получения уведомлений через WebHook.
С другими способами настройки уведомлений можно ознакомится по ссылке.
Для получения входящих уведомлений через WebHook используется триггер "New Message Webhook" из интеграции Green-API. Настроим его следующим образом.
-
Нажмите на знак плюс и найдите в списке приложений "Green-API"
-
Выберите модуль "New Message Webhook"
-
Нажмите на
Add
, чтобы добавить вебхук на инстанс, с которого будут приходить уведомления
-
В открывшемся окне нажмите
Add
, чтобы добавить подключение к инстансу
-
Введите значение от авторизованного инстанса, где:
Connection name
- произвольное название подключения к инстансу (не путать с названием инстанса)ID Instance
иApi Token Instance
- данные авторизации вашего инстанса
Что делать, если возникла ошибка при попытке подключить инстанс?
При попытке подключить не авторизованный инстанс, появится уведомление с ошибкой
Unexpected status notAuthorized. Should be "authorized"
. Убрать данную ошибку можно, произведя авторизацию инстанса, связав аккаунт WhatsApp с инстансом
-
Сохраните данные вебхука, нажав сначала на кнопку "Save", а после на кнопку "OK"
Перед дальнейшей настройкой потребуется отправить тестовое сообщение на номер телефона, который привязан к инстансу.
-
Для этого временно запустите автоматизацию, нажав на кнопку "Run Once"
-
Отправьте текстовое сообщение на номер телефона, привязанный к инстансу. Через несколько секунд должно прийти входящее уведомление, данные из которого потребуются для дальнейшей настройки
Как получать уведомления только от определенного чата или группы?
В окне "Create a webhook" в разделе "Only From Specify Chat" выберите пункт "Yes".
Указать чат можно вручную, выбрав в Chat ID source тип "Manual", или через список контактов, выбрав "From Contact List".
При заполнении номера вручную, требуется вводить номер в формате phoneNumber@c.us
. Например: 0100123456789@c.us
.
Вводить необходим полный номер телефона в международном формате. Не используйте плюс, нули, скобки или дефисы при вводе номера телефона в международном формате.

При выборе номера через список контактов необходимо выбрать нужный чат в выпадающем меню в разделе Chat Id
.

Отправка сообщения#
После настройки получения входящих сообщений, необходимо создать действие, которое будет отвечать пользователю тем же текстом. В этом поможет метод sendMessage.
Для отправки сообщений в Make требуется добавить и настроить модуль "Send Message".
-
Чтобы добавить действие, нажмите на полукруг рядом с триггером. После этого появится пустой серый круг со знаком плюс (добавление приложения)
-
Выберите приложение для исполнения действия, для этого в списке приложении найдите Green-API
-
Выберите метод SendMessage
-
Из списка
Connection
выберите готовое подключение или добавьте подключение, нажав кнопкуAdd
-
В поле
Chat ID source
выберитеManual
-
Чтобы ответить пользователю, который написал боту, необходимо определить его как получателя. Для этого в поле
Chat Id
нужно указать значение переменнойchatId
, которая находится в разделеsenderData
входящего уведомления. -
В поле
Message
вставьте переменнуюtextMessage
из разделаmessageData
. После нажмитеOK
-
Сделайте тест, нажав кнопку
Run once
. Если тест успешен, нажмите налупу
, чтобы увидеть детали результата действия
Готово! Эхо-бот готов к запуску
Как настроить, чтобы бот реагировал только на определенные сообщения?
В некоторых ситуациях может быть полезно, чтобы бот отвечал только на определенные сообщения из чата, например, когда бот находится в группе. Настроим нашего бота, чтобы он отвечал на сообщения с текстом !green-bot
. Чтобы сделать это, воспользуемся фильтрами. Настроить их можно, нажав на точки, связывающие вебхук и отправку сообщения.

После этого откроется окно с настройкой фильтра, в котором Label
- произвольное название фильтра, а представленные текстовые поля используют сравнения друг с другом по условию выбранному в меню Text operators
.
В нашем случае мы будем проверять входящее сообщение на наличие фразы !green-bot
. Для этого вставляем в первое поле переменную textMessage
из раздела messageData
.

Во второе поле пишем фразу на которую будет реагировать бот

Условием проверки ставим Starts with
, для проверки на наличие фразы в начале сообщения

Теперь бот будет реагировать только на сообщения начинающиеся с !green-bot
. Чтобы убрать эту часть сообщения и получить только текстовый запрос пользователя, воспользуемся модулем Replace
из встроенного приложения Text parser
.
Создаем модуль между вебхуком и отправкой сообщением

Выбираем модуль Replace

Вводим в поле Pattern
фразу, которую мы будем удалять. В нашем случае !green-bot
(с пробелом в конце)

В поле New Value
вставляем переменную emptyString
для замены фразы на пустую строку

В качестве текста для обработки выбираем textMessage

Заменяем в модуле SendMessage
текст ответного сообщения на вывод модуля Replace

После этой настройки бот будет отвечать, только если в начале сообщения будет введена фраза !green-bot
Запуск и проверка бота#
Для постоянной работы эхо-бота нужно запустить автоматизацию активировав переключатель.

Теперь бот запущен и готов к работе. Его работоспособность можно проверить, написав на номер, привязанный к инстансу. Бот ответит тем же сообщением в ответ.

На этом настройка бота окончена.