Как получать данные от сторонних сервисов — создаем вебхук с помощью Google Apps Scripts > NetPeak - Независимость и осознанность
NetPeak Biz Tech    


Как получать данные от сторонних сервисов — создаем вебхук с помощью Google Apps Scripts

Как получать данные от сторонних сервисов — создаем вебхук с помощью Google Apps Scripts

< >

При внедрении бизнес-процессов важно получать данные от внешних сервисов при наступлении того или иного события — это может быть передача данных из CRM-систем, сервисов оплаты, систем аналитики, интернет-магазинов. В большинстве таких случаев вам нужен вебхук.

Вебхук (webhook) — механизм получения уведомлений о происходящих в системе событиях с помощью функций обратных вызовов. Когда случается интересующее клиента событие, сервер отправляет HTTP-запрос на URL-адрес, предоставленный клиентом для приема вебхуков.

Если вам нужно оперативно обработать полученные через вебхук данные, можно воспользоваться настройкой вебхука в Google Apps Scripts.

Вначале необходимо создать новый проект. Сделать это можно несколькими способами:

  1. Перейти в панель создания скриптов и кликнуть «Создать проект».
  2. Создать пустую таблицу Google Spreadsheets и выбрать в меню «Инструменты» — «Редактор скриптов».

Дайте название вашему проекту. По умолчанию вам будет предоставлен файл Код.gs и создана пустая функция myFunction(). В этой среде будем обpaбатывать данные, полученные от внешней системы. Как же наш код примет эти данные? Для этого мы развернем скрипт как веб-приложение, которому будет выделен публичный веб-адрес. 

В меню выбираем «Опубликовать» — «Развернуть как веб-приложение».

Указываем текущую версию нашего приложения, например, v1.0. Выполнение скрипта оставляем из-под нашего аккаунта. В поле “Who has access to the app” выбираем “Anyone, even anonymous”:

Жмем Deploy. Копируем сгенерированный URL.

Обратите внимание, что были сгенерированы два URL-адреса: текущий URL нашего веб-приложения, который заканчивается сегментом /exec и тестовый URL под анкором latest code, который заканчивается сегментом /dev. Первый URL — рабочий, который и будет играть роль вебхука.

Любые изменения в скрипте потребуют повторного деплоя с указанием новой версии. Если же вы хотите наблюдать за результатом своих изменений, не меняя каждый раз версию скрипта, используйте тестовый URL, который будет всегда запускать последний сохраненный код.

Наше приложение развернуто, и мы можем принимать данные извне. Однако, если вы откроете URL в браузере, вы столкнетесь с ошибкой: «Не удалось найти функцию скрипта: doGet».

Так происходит, потому что в нашем скрипте пока нет функций, которые перехватывали бы полученные данные. Для этого в GAS предусмотрено два зарезервированных метода: doGet() и doPost(), которые отвечают за получение значений, отправленных с помощью GET и POST запросов соответственно. 

Оба метода принимают переменную «e», благодаря которой можно получить доступ к значениям.

Формат, в котором эта переменная предоставляет данные — JSON. С полным перечнем доступных полей можно ознакомиться в документации в разделе Request Parameters. Нас интересует поле e.parameter, через которое мы и будем получать значения необходимых параметров. Возникает вопрос: к каким переменным обращаться?

Набор параметров, который внешняя система будет отправлять на ваш URL, зачастую предусмотрен самой системой и приведен в документации по использованию вебхуков. Если вы не желаете получать абсолютно все возможные переменные, некоторые сервисы позволяют вам выбирать интересующие поля из общего множества.

Например, при настройке вебхука в сервисе UptimeRobot на мой URL будут отправлены данные:

В итоге, внутри метода doGet(e) я могу обратиться к любому из вышеперечисленных полей: e.parameter.monitorUrl, e.parameter.alertType, e.parameter.alertDetails и так далее. Всё это работает и для метода doPost(e).

Есть объект parameter, а есть объект parameters. Отличие в том, что каждый ключ в parameters содержит соответствующий массив значений, в то время как каждый ключ в parameter — только единичную величину.

Получив доступ к данным, можем обработать их или отправить через API в другие сервисы. Рассмотрим разные способы отправки.

Вывод данных в таблицу Google Spreadsheets

Если хотим анализировать данные в таблице, можем записывать их в документ при каждом обращении к вебхуку с помощью класса SpreadsheetApp.

function doGet(e) { writeToGoogleSpreadsheet(e.parameter) ;}function writeToGoogleSpreadsheet(params) { var spreadsheet = SpreadsheetApp.openById(\"id_of_my_google_spreadsheet\") ; var sheetData = spreadsheet.getSheetByName(\\\'Data\\\') ; sheetData.appendRow([ params.monitorURL, params.alertType, params.alertDetails ]) ;}

Настройка оповещений через бота Telegram

Как создать чат-бот для Telegram-канала — инструкция для администраторов Этот способ удобен тем, что будет уведомлять вас о совершенной конверсии или наступлении другого события в режиме реального времени с помощью бота Telegram.

Чтобы создать своего бота, просто напишите пользователю @BotFather и следуйте его инструкциям. Как только вы создали бота и получили свой ключ (токен) авторизации, переходите в раздел документации Bot API, чтобы выполнить необходимые настройки. Для отправки сообщений нам понадобится api-метод sendMessage(), который принимает следующие параметры: chat_id (в данном случае ваш персональный ID в телеграм), text — передаваемое сообщение и (опционально) parse_mode — формат, в котором отправляем сообщение. Бот @my_id_bot подскажет ваш персональный айди.

function doGet(e) { sendToTelegram(e.parameter) ;} function sendToTelegram(params) { var token = \"your_telegram_bot_token\"; var telegramUrl = \"https://api.telegram.org/bot\" + token; var id = \"your_telegram_chat_id\"; var text = \"<pre>\" + params.monitorUrl + \" \" + params.alertDetails + \"pre>\"; var url = telegramUrl + \"/sendMessage?chat_id=\" + id + \"&parse_mode=html&text=\" + text; var response = UrlFetchApp.fetch(encodeURI(url)) ;}

Отправка данных на почту

С помощью класса MailApp легко отправить данные и на свой электронный ящик. Подробнее о возможностях класса читайте в документации.

function doGet(e) { sendMail(e.parameter) ;}function sendMail(params) { var emailAddress = \"my-account@gmail.com\"; var message = \"Domain \" + params.monitorUrl + \" \" + params.alertDetails; var subject = \"Alert: problem with domain \" + params.monitorUrl; MailApp.sendEmail(emailAddress, subject, message) ;}

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

Хотите узнать больше о решениях для бизнес-процессов? Подписывайтесь на нашу рассылку:

Истории бизнеса и полезные фишки



Комментарии:

Как привлечь дополнительный трафик с помощью SNDS-кампаний — кейсы Netpeak

Как привлечь дополнительный трафик с помощью SNDS-кампаний — кейсы Netpeak Как получить больше конверсионного трафика из поиска и не выйти за рамки KPI? Запустите SNDS-кампании...

14 07 2024 15:56:55

Аналитика в Твиттер: ссылки, ведущие на сайт

Аналитика в Твиттер: ссылки, ведущие на сайт Короткий прогон сервисов для аналитики активности в Твиттер....

13 07 2024 16:22:12

MeDiConf — новая конференция по медицинскому маркетингу от Netpeak и Octopus Events

MeDiConf — новая конференция по медицинскому маркетингу от Netpeak и Octopus Events 29 ноября в Киеве в UNIT.City — конференция по медицинскому маркетингу MeDiConf...

12 07 2024 14:14:23

Продвижение Telegram-канала с помощью агентства Netpeak: чтоооооо???

Продвижение Telegram-канала с помощью агентства Netpeak: чтоооооо??? Новая услуга для бизнесов, которым большое количество подписчиков не приносит продаж...

11 07 2024 18:59:28

Креативное SEO: нестандартные методы продвижения для всех типов сайтов

Креативное SEO: нестандартные методы продвижения для всех типов сайтов Правильное продвижение сайта и нестандартные предложения по привлечению трафика...

10 07 2024 12:13:51

Кейс «Секунда»: как получить больше 13 000 обращений в офлайн-магазины с помощью локальных кампаний Google

Кейс «Секунда»: как получить больше 13 000 обращений в офлайн-магазины с помощью локальных кампаний Google Как настроить и получить эффективную отдачу от Google Local Campaigns...

09 07 2024 9:56:36

Задержите дыхание и плывите к своей цели

При встрече со сложностями, когда мозг говорит вам «стоп, у тебя не получится, не пытайся даже», победа достается тому, кто это предупреждение игнорирует....

08 07 2024 1:43:42

Управление репутацией в сети — особенности работы с отзовиками

Управление репутацией в сети — особенности работы с отзовиками Информация о любой организации распространяется в интернете очень быстро, особенно негативная. Поэтому необходимо учиться управлять своей репутацией....

07 07 2024 14:34:50

Форма подписки на сайте: виды и примеры форм сбора email-адресов

Форма подписки на сайте: виды и примеры форм сбора email-адресов Какими бывают формы подписки и как их используют бренды...

06 07 2024 14:28:48

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху Что значит всемирное обновление DMCA-алгоритма и приведет ли оно к полноценной защите авторских прав?...

05 07 2024 3:54:42

Отделяем мух от котлет в контент-маркетинге

Отделяем мух от котлет в контент-маркетинге Пpaктическая информация о том, что и куда нужно постить....

04 07 2024 15:47:55

Как быстро перенести кампании из Google Рекламы в Директ

Как быстро перенести кампании из Google Рекламы в Директ Как перенести рекламные кампании из адвордс в директ, используя только Google Editor и Директ Коммaндер? Делимся быстрым и эффективным методом...

03 07 2024 9:16:32

Анализ контента в социальных сетях: цифры, цифры и еще раз цифры

Анализ контента в социальных сетях: цифры, цифры и еще раз цифры Что нам дают знания о статистике контента в социальных сетях и какими сервисами анализировать данные...

02 07 2024 16:50:25

Что такое Netpeak Group? Все, что нужно знать

Компании и продукты, социальные инициативы, главные проекты и миссия группы. Разложили все о Netpeak Group по полочкам в новом посте....

01 07 2024 9:19:13

Создание простой темы для WordPress

Простые пошаговые советы о том, как самому сделать верстку шаблона Wordpress. От вас не требуется знание PHP, но хорошо если вы владеете Photoshop и CSS для создания дизайна. Узнать больше!...

30 06 2024 10:15:49

А вы убрали вредоносный контент? Или как быстро Google может понизить сайт в выдаче

А вы убрали вредоносный контент? Или как быстро Google может понизить сайт в выдаче До понижения в органической выдачи Гугл у сайта есть около 15 дней с момента появления сообщения о вредоносном контенте....

29 06 2024 8:54:54

Сравнение Ringostat и Binotel. Комментируют PPC-специалисты

Сравнение Ringostat и Binotel. Комментируют PPC-специалисты Ringostat и Binotel. Сравнение главных сервисов для коллтрекинга в Украине...

28 06 2024 19:51:34

Apple тайно рекламирует приложения в гугле? Что это значит.

Apple тайно рекламирует приложения в гугле? Что это значит. Давайте разбираться, в чем именно обвиняют техногиганта разработчики и действительно ли такую рекламу считают циничной....

27 06 2024 2:20:32

Как эффективно использовать Network в Chrome DevTools

Как эффективно использовать Network в Chrome DevTools Чем полезна вкладка Network в DevTools для SEO-специалиста...

26 06 2024 4:37:30

Как повлиять на решение покупателя

Как повлиять на решение покупателя Технология «лёгкость восприятия» — инструмент, который поможет убедить клиентов покупать именно у вас...

25 06 2024 18:54:43

Репутация компании: зачем вам Online Reputation Management

Репутация компании: зачем вам Online Reputation Management Идея ORM состоит в том, чтобы вызывать положительное мнение о вашей деятельности, работая с отзывами или комментариями, в результате чего больше людей будут покупать ваши товары или услуги. Узнать больше!...

24 06 2024 21:28:56

РРС-факапы: примеры ошибок новичков в контекстной рекламе

РРС-факапы: примеры ошибок новичков в контекстной рекламе Техника безопасности по безукоризненным рекламным кампаниям...

23 06 2024 11:15:50

Зачем нужен медиаплан и как его составить?

Зачем нужен медиаплан и как его составить? Чтобы и клиенту не стыдно было показать и свои ожидания не обмануть....

22 06 2024 15:13:20

Как прогнозировать цены с помощью машинного обучения

Как прогнозировать цены с помощью машинного обучения Прайс-менеджерам: покупаем и моделируем недостающие данные с помощью алгоритмов машинного обучения...

21 06 2024 23:29:26

Как успешно вести блог в Instagram

Как успешно вести блог в Instagram Успешный блог помогает продавать товары и услуги, формировать сильный личный бренд, делиться своим опытом и задавать тренды. Осталось выбрать цель. Узнать как!...

20 06 2024 14:33:15

Симулятор ставок кампании в Google Рекламе

Сергeй Бахарь неустанно исследует Google Рекламу и рассказывает о новинках нашим читателям....

19 06 2024 0:15:59

Кейс по снятию автоматического фильтра Яндекса: возврат трафика за 44 дня

Кейс по снятию автоматического фильтра Яндекса: возврат трафика за 44 дня На одном из проектов был успешный рост трафика и транзакций, но в следующем месяце видимость по Яндексу снизилась до 30% и продолжала жестоко падать. ТИЦ упал с 450 до 425....

18 06 2024 9:17:37

Как рекламировать недвижимость и анализировать статистику рекламных кампаний — кейсы Netpeak и Ringostat

Как рекламировать недвижимость и анализировать статистику рекламных кампаний — кейсы Netpeak и Ringostat Подборка для застройщиков, маркетологов и менеджеров по продажам...

17 06 2024 8:28:18

Как получать удовольствие от жизни. Советы из книги «Поток»

Как получать удовольствие от жизни. Советы из книги «Поток» Психологический бестселлер. Как достичь гармонии во всех делах и начать получать удовольствие от жизни, — об этом читайте в новой рецензии Константина Рябенко на книгу Михая Чиксентмихайи «Поток»....

16 06 2024 10:50:24

Дублирование контента на сайтах, ориентированных на разные страны

Дублирование контента на сайтах, ориентированных на разные страны Дублирование контента на разных сайтах, ориентированных на рынки разных стран, например, на публику Канады...

15 06 2024 23:32:16

Как вести личный блог

Как вести личный блог Если ваш товар или услуга будут хорошо выглядеть на фото или целевая аудитория точно находится в Инстаграм, площадка для будущего блога определена. Узнать больше!...

14 06 2024 6:47:19

Сколько стоил клик в Google Ads и Facebook в Украине в четвёртом квартале 2018 года

Сколько стоил клик в Google Ads и Facebook в Украине в четвёртом квартале 2018 года Исследование по 38,5 миллионам кликов в 22 тематиках в 391 городе страны....

13 06 2024 8:11:28

Главред блога Netpeak про управление задачами и собой

Главред блога Netpeak про управление задачами и собой Неля Серебро рассказывает про внутреннюю кухню блога Netpeak...

12 06 2024 2:34:54

Как создать YouTube канал для бренда

Как создать YouTube канал для бренда Создание канала бренда на видеоплатформе необходимо для увеличения притока трафика, улучшения репутации и поискового продвижения компании...

11 06 2024 0:15:49

Как рассчитать ROMI для большого интернет-магазина — импортируем себестоимость товаров в Google ***ytics

Как рассчитать ROMI для большого интернет-магазина — импортируем себестоимость товаров в Google ***ytics Хотите видеть в отчетах точный ROMI в разрезе рекламных кампаний, групп объявлений и ключевых слов? Импортируйте себестоимость товаров в Google ***ytics...

10 06 2024 2:15:39

Востребованные IT-профессии в Украине — все кроме программирования. Какие курсы выбрать в 2022 году

Востребованные IT-профессии в Украине — все кроме программирования. Какие курсы выбрать в 2022 году Рассказываем об интересных диджитал-специальностях и зарплатах, как обучиться этим профессиям с нуля (в том числе в зрелом возрасте) и можно ли работать удалённо....

09 06 2024 22:27:55

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels

«Лучший питч — продукт, клиенты и доходы». Интервью с Виталием Гончаруком о маркетинге Augmented Pixels СЕО of Augmented Pixels рассказал нам о принципах ведения бизнеса в Украине и США, о ненужности бизнес-планов и креативных питчей, а также о способе стать лучшим программистом...

08 06 2024 4:53:27

Кейс по SERM для DOM.RIA. Как работать с репутацией и за четыре месяца убрать негатив в топ-10.

Кейс по SERM для DOM.RIA. Как работать с репутацией и за четыре месяца убрать негатив в топ-10. Крупным брендам не избежать негатива в сети. Но с ним можно и нужно работать. Читайте успешный кейс для DOM.RIA....

07 06 2024 10:30:15

Как продвигаться в Instagram, если у вас B2B-бизнес

Как продвигаться в Instagram, если у вас B2B-бизнес Распространенные ошибки продвижения B2B-компаний + стратегии того, как наращивать число активных подписчиков и потенциальных клиентов....

06 06 2024 17:51:23

Как провести тендер и выбрать подрядчика в сфере интернет-маркетинга — чек-лист

Как провести тендер и выбрать подрядчика в сфере интернет-маркетинга — чек-лист Один из лучших способов выбрать подрядчика — провести брифинг для компаний. При этом важно предоставить максимум информации: откройте доступ к реальным данным по проекту. Узнать больше!...

05 06 2024 0:31:31

Как увеличить трафик блога на 1136% и привлечь тысячи новых пользователей — кейс блога Ahrefs

Как увеличить трафик блога на 1136% и привлечь тысячи новых пользователей — кейс блога Ahrefs Перевод колонки директора по маркетингу Ahrefs: об органическом поисковом трафике, высокопотенциальных темах для бизнеса, уникальности и качестве контента, его продвижении. С реальными рекомендациями и примерами. Узнайте больше!...

04 06 2024 3:16:32

Не злите голодных людей — оптимизируйте сайт и рекламу с помощью специальной PPC-стратегии

Не злите голодных людей — оптимизируйте сайт и рекламу с помощью специальной PPC-стратегии Опыт, накопленный за более чем 10 лет работы в нише и упакованный в специальные предложения....

03 06 2024 20:55:34

Оформляем товарную страницу: пять фишек для интернет-магазинов

Оформляем товарную страницу: пять фишек для интернет-магазинов Пять простых фишек для повышения привлекательности карточки товара....

02 06 2024 9:52:57

Контекстная реклама для SaaS-продукта: как легко измерять в бизнес-показателях эффективность контекстной рекламы

Как правильно рассчитать окупаемость рекламных кампаний SaaS-продуктов, получить по ним четкую аналитику, и что делать дальше....

01 06 2024 2:52:37

Как выбрать платформу для вебинаров

Как выбрать платформу для вебинаров Специалистам часто приходится проводить вебинары и для этого нужна адекватная площадка. В инсайдерском посте мы рассказываем, как выбирали подходящую платформу для проведения вебинаров и что из этого вышло....

31 05 2024 16:20:32

Как открыть офис в Индии и не облажаться

История Affise от фаундера компании, рассказанная на SaaS Nation....

30 05 2024 8:17:55

Как увеличить CTR и open rate в email-рассылках: получаем больше переходов на сайт

Как увеличить CTR и open rate в email-рассылках: получаем больше переходов на сайт Делимся советами по оптимизации рассылок. Важны новые форматы писем, предварительное тестирование, смена тем письма, ярче CTA. Все это в сочетании с понятностью и искренностью не заставит ждать хороший CTR...

29 05 2024 13:23:29

Восемь советов успешного запуска рекламной кампании в myTarget

Восемь советов успешного запуска рекламной кампании в myTarget Делимся фишками, которые облегчат работу как новичкам, так и специалистам....

28 05 2024 3:15:57

10 способов увеличить количество заявок с корпоративного сайта

10 способов увеличить количество заявок с корпоративного сайта Чтобы увеличить количество заявок и получить волну новых заказов, нужен комплексный подход...

27 05 2024 17:13:41

Шесть принципов виральности, или Как работает вирусный маркетинг

Шесть принципов виральности, или Как работает вирусный маркетинг Автор книги о вирусном маркетинге «Заразительный. Психология сарафанного радио» Йона Бергер пришел к выводу, что у виральности всего шесть принципов....

26 05 2024 5:53:56

Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::