Часто требуется в результате каких-то событий или ситуаций нужно настроить рассылку уведомлений, например на почту. Тут мы настроем сценарий который позволит это сделать отправкой email сообщения с помощью Gmail, с использованием Webhook.
Сначала получим токен авторизации для Google
Переходим на нашу статью как получить Google токен в Developer OAuth 2.0 Playground (ссылка)
Настроим сценарий в Nodul
Переходим на страницу сервиса Nodul
Создаём новый проект
Создаём компонент "Webhook", копируем себе его адрес тоже в блокнот
Создадим компонент "JavaScript"
Скопируйте javascript код с этой странички
const fromAdress = "[email protected]"; // С какого адреса отправлять, от кого(не забудьте поменять на свой)
const messageTarget = data["{{1.body.target}}"]; // На какой адреса отправлять, кому(не забудьте поменять на свою значение)
const messageTitle = data["{{1.body.title}}"]; // Заголовок сообщения(не забудьте поменять на свою значение)
const messageText = data["{{1.body.message}}"]; // Текст сообщения(не забудьте поменять на свою значение)
const token = data["{{1.body.token}}"] // Токен авторизации(не забудьте поменять на свою значение)
// Шифрование всей необходимой информации в base64 с заменой на безопасные символы
const resultEncodeString = btoa(
`From: ${fromAdress}\r\n` +
`To: ${messageTarget}\r\n` +
`Subject: ${messageTitle}\r\n\r\n` +
`${messageText}`
).replace(`/\+/g`, '-').replace(`/\//g`, '_').replace(`/=+$/`, '');
return {
fromAdress,
token,
resultEncodeString
}
Сохраняем всю информацию в узле
Запустите любой rest клиент(Postman, Insomnia), можете сделать в браузере но тогда нужно передавать информацию в query параметрах
Импортируйте в него код ниже и измените значения у параметров на свои
curl --request POST \
--url '[адресс вашего webhook]' \
--header 'Accept: application/json' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data target='[адресс кому отправляем сообщение]' \
--data 'title=Hello World![заголовок вашего сообщения]' \
--data 'message=I use Nodul to send this message from Gmail![текст вашего сообщения]' \
--data token='[ваш токен который вы получили]'
Запустите проект
Вызвать Webhook с помощью вашего rest клиента
Откройте снова компонент "JavaScript"
Поменяйте значения на свои с помощью бокового меню Nodul, в комментариях к коду написано что нужно поменять(обычно просто текст в квадратных скобках), после комментарии можно удалить
Сохраняем изменения в узле
Следующим создаём компонент "HttpRequest"
В endpoint адресе вставляем передаваемый адрес нашего Gmail
https://gmail.googleapis.com/gmail/v1/users/[выбрать в боковом меню Nodul fromAdress из JS]/messages/send
Метод выбираем "Post"
Тело "raw"
{raw:"[выбрать в боковом меню Nodul resultEncodeString из JS]"}
"Заголовки"
Accept: application/json
Content-Type: application/json
Authorization: Bearer [выбрать в боковом меню Nodul token из JS]
Можете импортировать готовый с помощью "Создать из примера (CURL)"