Как получать данные от сторонних сервисов — создаем вебхук с помощью 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) ;}

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

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

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



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

Что слушать за работой — подборка музыки

Что слушать за работой — подборка музыки Под какие треки работают интернет-маркетологи, копирайтеры и другие специалисты digital-рынка....

17 04 2024 3:59:38

Типы рекламных кампаний в Facebook и Instagram

Гайд по типам рекламы в соцсетях для SMM-, PPC-специалистов, блогеров и владельцев бизнеса в зависимости от целей, которые вы ставите перед продвижением. С конкретными рекомендациями и примерами. Узнать больше!...

16 04 2024 12:15:52

Кейс: зачем сегментировать аудиторию перед запуском ремаркетинга

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

15 04 2024 7:53:24

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

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

14 04 2024 22:46:13

Контент-маркетинг для блога UniSender — что мы сделали для развития сайта

Контент-маркетинг для блога UniSender — что мы сделали для развития сайта Поиск крутых авторов и качественные тексты для блога об email-рассылке...

13 04 2024 17:20:50

На что обратить внимание при выборе движка для сайта

На что обратить внимание при выборе движка для сайта Готовые коробочные решения — отличная идея, которая решает много задач, а ещё это относительно недорого. Но такой вариант подойдет далеко не всем. Узнать больше!...

12 04 2024 7:59:30

Как выбрать подрядчика для SEO и PPC: нанять агентство или создать инхаус-комaнду

Как выбрать подрядчика для SEO и PPC: нанять агентство или создать инхаус-комaнду Почему синергия штатных специалистов и рекламное дело агентства SEO/PPC выгодна бизнесу...

11 04 2024 18:20:58

Корпоративный университет — что это и как его используют в компаниях

Корпоративный университет — что это и как его используют в компаниях ПриватБанк, АТБ и ДТЭК — эти бренды уже создали свои образовательные центры. Узнайте больше о том, как компании обучают своих сотрудников у нас и за рубежом. Читать дальше!...

10 04 2024 14:13:55

Евгений Черняк про бизнес, кассовый разрыв, нематериальную мотивацию сотрудников и Big Money

Как делать большие деньги даже, когда случаются кассовые разрывы и каким образом строить процессы внутри компании, чтобы сотрудники горели своим (вашим) делом? Узнать!...

09 04 2024 20:25:39

Как быстро собрать данные из блока People also ask в Google

Мануал для SEO-специалистов, как автоматизировать сбор данных из блока People also ask (Пользователи также ищут). Это блок, который показывается в верхней части страницы результатов поиска. Он нужен, чтобы уточнить запрос пользователя....

08 04 2024 7:36:43

Что такое логическая структура сайта и зачем она нужна

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

07 04 2024 18:30:29

Как запустить рекламную кампанию Discovery Ads

Как запустить рекламную кампанию Discovery Ads Находим пользователей, которые не знали, что им нужен ваш товар или услуга....

06 04 2024 6:55:50

Чаты для бизнеса от Яндекс: руководство по настройке

Чаты для бизнеса от Яндекс: руководство по настройке Идеи для интернет-маркетологов, как получить дополнительные каналы трафика и сделать заметным сниппет в поисковой выдаче....

05 04 2024 7:23:10

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

Сколько стоил клик Google Ads и Facebook в Украине в первом квартале 2018 года Данные по 33,5 миллионов кликов в 26 тематиках и 394 городах...

04 04 2024 3:15:41

Что объединяет в себе понятие ремаркетинг

Что объединяет в себе понятие ремаркетинг Подробнейшая статья об эффективном использовании ремаркетинга. Мотаем на ус!...

03 04 2024 22:40:39

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

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

02 04 2024 23:34:52

Дэн Гридин: «Проблема “холодные звонки не работают” вошла в топ-3 по абсолютно всем рынкам в 12 странах»

Дэн Гридин: «Проблема “холодные звонки не работают” вошла в топ-3 по абсолютно всем рынкам в 12 странах» Дэн Гридин, ненавистник холодных звонков и эксперт в области системного B2B маркетинга для сложных рынков, рассказал читателям блога о принципах работы на рынке во время шторма....

01 04 2024 7:39:42

Поведенческая экономика и три принципа мотивации человека

Поведенческая экономика и три принципа мотивации человека Как правильно мотивировать и демотивировать себя — теория и кейсы. Как бросить курить, начать бегать и наконец-то приступить к изучению английского. Читать!...

31 03 2024 5:54:43

Как за два месяца увеличить количество установок приложения на 43% в AppStore — Кейс Uklon

Как за два месяца увеличить количество установок приложения на 43% в AppStore — Кейс Uklon В одной из самых «перегретых» ниш вышли в топ-5 по некоторым высокочастотным запросам. Узнать больше!...

30 03 2024 18:59:37

Сколько стоил клик в Google Ads в Украине в третьем квартале 2021 года

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

29 03 2024 5:44:28

Как загрузить данные из API Google ***ytics в R: часть 2

Пример использования пакета google***yticsR от Марка Эдмондса...

28 03 2024 12:37:10

5 железных правил IT-бухгалтеров

5 железных правил IT-бухгалтеров Бухгалтерский мир Netpeak: цель, задачи, мотивация....

27 03 2024 12:38:36

Как обpaбатывать данные из множества таблиц в Google BigQuery

Как обpaбатывать данные из множества таблиц в Google BigQuery Альтернатива классическому SQL — обработка запросов из множества таблиц с помощью функций подстановки в Google BigQuery....

26 03 2024 11:31:30

Сколько стоил клик в Google Ads в Казахстане в третьем квартале 2020 года — исследование Netpeak

Сколько стоил клик в Google Ads в Казахстане в третьем квартале 2020 года — исследование Netpeak Данные, приведенные в исследовании, могут помочь в составлении медиапланов по продвижению в интернете....

25 03 2024 2:26:50

IOS 14: Что это значит для рекламодателей Facebook

IOS 14: Что это значит для рекламодателей Facebook Реклама будет не настолько персонализирована, как сейчас....

24 03 2024 10:57:20

Двенадцать веселых докладов TED Talks на различные темы

Двенадцать веселых докладов TED Talks на различные темы Идеи, достойные распространения. Какие доклады TED Talks повлияли на нетпиковцев....

23 03 2024 10:49:25

Визуализация данных с помощью DataDeck

Визуализация данных с помощью DataDeck Краш-тест сервиса визуализации данных: выбираем задачу, источники, создаём отчет с помощью DataDeck. Бонус в конце — лаконичные списки преимуществ и недостатков этого инструмента и приятный подарок для дочитавших...

22 03 2024 22:44:39

Топ расширений Google Chrome для ASO-специалиста

Топ расширений Google Chrome для ASO-специалиста Chrome Extensions экономят время тех, кто продвигает мобильные приложения...

21 03 2024 3:20:28

Буба и кики — тест для развития креативного мышления

Буба и кики — тест для развития креативного мышления На этой картинке изображены два предмета. Один из них называется «буба», а второй «кики»....

20 03 2024 14:44:17

Сленг в Telegram — каналы-оборотни, приходы и закрепы

Сленг в Telegram — каналы-оборотни, приходы и закрепы Вам точно нужен ВП? Тогда утвердите сабж, чтобы умещался в три слова, скиньте линк и дескрипшн и распознайте канал-оборотень. Полная подборка сленговых слов, значение которых не всегда найдете в Google...

19 03 2024 21:59:53

Кейс avtokrisla.com: триггерное письмо «Заказ оформлен» как дополнительный источник прибыли

Кейс avtokrisla.com: триггерное письмо «Заказ оформлен» как дополнительный источник прибыли Многие недооценивают триггерное письмо после оформления покупки, а зря. И вот почему....

18 03 2024 16:33:17

Внедрение CRM. Принцип работы, с чего начать

Внедрение CRM. Принцип работы, с чего начать В этой статье мы поговорим про принципы работы СRM-системы. Это базовые моменты, прояснив которые СRM перестанет быть для вас чем-то сложным и непонятным....

17 03 2024 11:13:16

Рамзи Ризк про EyeEm и будущее мобильных приложений

Основатель сервиса мобилографии EyeEm Рамзи Ризк рассказал об особенностях своего сервиса и будущем мобильных приложений....

16 03 2024 4:51:18

Торговые и умные торговые кампании — за что бизнес платит подрядчику

Торговые и умные торговые кампании — за что бизнес платит подрядчику Google Shopping и Smart Shopping Campaign сами себя не оптимизируют....

15 03 2024 7:12:33

Как автоматизировать работу комaнды поддержки — кейс Netpeak Cluster и ПланФикс

Как автоматизировать работу комaнды поддержки — кейс Netpeak Cluster и ПланФикс Когда саппорт-отдел не справляется, подключайте к работе ПланФикс и Телеграм....

14 03 2024 14:51:27

Как вернуть украденный аккаунт Instagram

Как вернуть украденный аккаунт Instagram Короткий кейс и рекомендации по защите аккаунта от взлома....

13 03 2024 11:56:57

Проверка уникальности контента

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

12 03 2024 1:54:37

Главные требования к мобильной версии сайта

Главные требования к мобильной версии сайта Если у интернет-магазина, форума да и любого другого сайта нет мобильной версии, почти 40 процентов пользователей будут искать другой ресурс. Как удержать их? Узнать!...

11 03 2024 7:47:21

Посиделки в офисе. Детские игры, чтобы разнообразить рабочие будни

Посиделки в офисе. Детские игры, чтобы разнообразить рабочие будни По следам «Игры в кальмара». Небольшая подборка ностальгических комaндных игр, которые могут прижиться в вашем офисе....

10 03 2024 18:59:37

Покажи свою работу: рассказ SMM-специалиста

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

09 03 2024 11:57:43

Как настроить фид данных в обновленном Google Merchant Center

Как настроить фид данных в обновленном Google Merchant Center Мы уже писали о Google Shopping, в каких странах он доступен и как его настроить. В этом посте я покажу один из способов создания и загрузки фида данных. Это важный этап подготовки к запуску Google Shopping...

08 03 2024 16:23:27

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

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

07 03 2024 6:11:19

A/B тестирование в email-маркетинге: что это, типы, и топ идеи для сплит тестирования

Как понять, что именно нравится подписчикам в вашей рассылке...

06 03 2024 18:31:18

Как упростить анализ поисковых запросов — работа с шаблоном на примере модерации минус-слов

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

05 03 2024 9:31:32

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

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

04 03 2024 20:21:25

Как создать рекламную кампанию в Bing Ads — подробное руководство

Как создать рекламную кампанию в Bing Ads — подробное руководство Инструкция о том, как создать новую кампанию в Bing Ads или импортировать существующую из Google Рекламы? Как добавить способ оплаты? Читайте о первых шагах настройки рекламы в Bing...

03 03 2024 2:50:33

AMP Google: что нужно знать об ускоренных мобильных страницах

Обновление от Google, запущенный в октябре 2015 года. Это просто веб-страницы, но в их основе находится AMP HTML, формат для максимального ускорения загрузки на телефонах...

02 03 2024 9:17:22

LSI-текст или SEO-текст — выживет только один

LSI-текст или SEO-текст — выживет только один Специалисты, занимающиеся seo копирайтингом, рассказывают об использовании LSI: определение текста, кол во символов, подсчет слов онлайн...

01 03 2024 16:42:38

Контекстная реклама для магазина мебели в Казахстане — как мы узнали, что реальная рентабельность рекламы выше на 390%

Контекстная реклама для магазина мебели в Казахстане — как мы узнали, что реальная рентабельность рекламы выше на 390% Как мы с помощью Call Tracking узнали настоящую рентабельность контекстной рекламы для магазина мебели...

29 02 2024 12:47:31

Как правильно составить NDA

Как правильно составить NDA Для защиты конфиденциальной информации в организации вводят режим коммерческой тайны. Подписание NDA важно не только с сотрудниками, но и со сторонними компаниями, имеющими доступ к конфиденциальной информации...

28 02 2024 15:39:50

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