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) ;}

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

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

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



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

ТОП-11 бесплатных курсов от Netpeak

ТОП-11 бесплатных курсов от Netpeak Уроки, написанные понятным и доступным языком экспертами по контекстной рекламе, поисковому продвижению, SMM....

04 06 2026 6:30:41

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

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

03 06 2026 7:16:21

Песочница Netpeak: бесплатная площадка для ваших статей

Рассказываем о том, что такое Песочница, как сюда писать и получать больше аудитории для своего бизнеса...

02 06 2026 15:15:54

Кейс по продвижению интернет-магазина чехлов и виниловых наклеек для телефонов: ROMI 43%

Кейс по продвижению интернет-магазина чехлов и виниловых наклеек для телефонов: ROMI 43% Кейс: как золотой корпоративный линкбилдинг помог в SEO-продвижении интернет-магазина, в котором можно заказать и купить чехлы и виниловые наклейки для смартфонов...

01 06 2026 9:12:31

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми

Sad But True — телеграм-канал Андрея Чумаченко. Коротко и правдиво про бизнес, самоорганизацию и управление людьми Рассказываем про телеграм-канал со-основателя Netpeak и чем он интересен для предпринимателей, руководителей и маркетологов....

31 05 2026 6:44:34

Как настроить ретаргетинг в Яндекс.Директ — подробное руководство для новичков

Как настроить ретаргетинг в Яндекс.Директ — подробное руководство для новичков Как установить счетчик Метрики, грамотно настроить цели, сегменты и запустить рекламную кампанию по ретаргетингу в Яндекс.Директ...

30 05 2026 21:29:17

Как определить плотность ключевых слов — советы и сервисы

Как определить плотность ключевых слов — советы и сервисы Сервисы для определения оптимальной плотности ключевых слов...

29 05 2026 10:53:32

Как создать виртуальный офис

Как создать виртуальный офис Опыт удаленки стартапа lemlist. Как сотрудники работали онлайн в доковидные времена и совмещали профессиональную деятельность с тимбилдингом. Читайте в коротком посте Владимира Поло, основателя AcademyOcean....

28 05 2026 22:44:49

Что такое CTA: как сформировать эффективный призыв к действию

Основная цель CTA — помочь посетителю принять решение о покупке, скачивании, регистрации или подписке...

27 05 2026 6:43:10

Продвижение мобильных игр — расшифровка терминов и аббревиатур

Словосочетания и аббревиатуры, которыми пользуются на рынке игрового маркетинга....

26 05 2026 8:22:17

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora

Как повысить продажи брендовых украшений на 8-е марта. Кейс Pandora Стратегия продвижения, благодаря которой удалось снизить стоимость заявки от покупателей. Рассказываем об особенностях проведения акций в нише. Узнать больше!...

25 05 2026 9:40:23

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak И эксперт, и агент. Анонимный покупатель — специальная проверка бизнес-процессов до и во время рекламной кампании...

24 05 2026 17:57:58

Как настроить Facebook Business Manager для удобной работы

Facebook + Instagram, Business Manager + основная бизнес-страница на Facebook, BM + рекламный аккаунт и так далее....

23 05 2026 7:32:21

Про social insight, как один из базовых пунктов брифа

Про social insight, как один из базовых пунктов брифа Важный вопрос, если вы рассчитываете на вирусный эффект своих рекламных идей....

22 05 2026 19:25:23

О влиянии счастья на бизнес: как Zappos получил $1,2 млрд от Amazon за умение делать покупателей счастливыми

О влиянии счастья на бизнес: как Zappos получил $1,2 млрд от Amazon за умение делать покупателей счастливыми Клиенты возвращаются к хорошему сервису, который начинается с понятного интерфейса на сайте, продолжается в общении с вежливым сотрудником и заканчивается в общении с воспитанным курьером или менеджером в пункте самовывоза. Что ещё? Читайте!...

21 05 2026 19:10:14

Как создать рассылку push-уведомлений. Чек-лист эффективной рассылки от Notix

В статье рассказываем, какие бывают push-уведомления, когда их используют, даем чек-лист и пошаговую инструкцию по созданию успешной push-рассылки....

20 05 2026 20:36:20

Что дешевле в Украине: Google Ads или Директ — исследование Netpeak

Что дешевле в Украине: Google Ads или Директ — исследование Netpeak Украинские реалии того, в каких тематиках трафик из Yandex.Direct дороже Google Ads. Новое исследование Алексея Селезнева....

19 05 2026 0:24:43

Правила работы с отзывами клиентов — памятка для брендов

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

18 05 2026 21:35:11

Что такое XML-feed: как его создать и отредактировать

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

17 05 2026 1:24:54

Что такое Netpeak Friends Day и почему его стоит посетить

Что такое Netpeak Friends Day и почему его стоит посетить А сейчас про конференцию Netpeak Friends Day для друзей Netpeak Group...

16 05 2026 16:19:56

13 неочевидных и пpaктически применимых SEO-фишек — круглый стол 8P 2017

13 неочевидных и пpaктически применимых SEO-фишек — круглый стол 8P 2017 Лучшие идеи круглого стола о SEO с участием Тараса Гущи, Сергея Карпенко, Алексея Чекушина, Дмитрия Шахова и других экспертов...

15 05 2026 0:31:29

Как создать чат-бота для сайта

Чат-боты упрощают процесс покупки продуктов онлайн. Netflix, Adidas, British Airways и другие крупные компании уже внедрили ботов в свои маркетинговые системы. Так ли это эффективно, если компании начинают отказываться от операторов в пользу ботов?...

14 05 2026 7:47:27

Как улучшить показатель качества в Google Ads

Как улучшить показатель качества в Google Ads Раскрываем тайны показателя качества в рекламе гугл с помощью API...

13 05 2026 17:21:53

Контекстная реклама — что это, как выглядит, как работает.

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

12 05 2026 6:58:32

Как визуализировать показатель качества ключевых слов — рецепт скрипта на языке R

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

11 05 2026 19:10:15

SEO-продвижение для СМИ — рост органического трафика на 569%, аудитории — в пять раз

SEO-продвижение для СМИ — рост органического трафика на 569%, аудитории — в пять раз Продвижение казахстанского онлайн-издания, новостника informburo.kz....

10 05 2026 10:15:14

Как объединить несколько целей в одну кастомную конверсию Facebook с помощью Google Tag Manager

Как объединить несколько целей в одну кастомную конверсию Facebook с помощью Google Tag Manager Достаточно настроить соответствующим способом триггеры и теги. Мануал здесь....

09 05 2026 8:13:35

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

Данные, приведенные в исследовании, могут помочь в составлении медиапланов по продвижению в интернете. Читать дальше....

08 05 2026 3:42:37

Что такое консалтинг от Netpeak и почему он нужен инхаус-комaндам

Что такое консалтинг от Netpeak и почему он нужен инхаус-комaндам Где найти лидера для своей инхаус-комaнды маркетологов...

07 05 2026 4:56:43

«В» — значит… Кейс digital-продвижения интернет-магазина «Таврия В»

«В» — значит… Кейс digital-продвижения интернет-магазина «Таврия В» Работа велась с конца августа прошлого года до конца декабря и включила в себя анализ рынка, конкурентов, целевой аудитории, поиск инсайта, разработку стратегии, подготовку медиаплана, создание промо-сайта и само проведение рекламной кампании, в котором б...

06 05 2026 21:40:54

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

На что ориентироваться при составлении бюджета на рекламу Что делать перед составлением рекламного бюджета — инструкция для предпринимателей...

05 05 2026 8:54:21

Google Tag Manager: актуальные и неочевидные фишки (вторая часть)

Google Tag Manager: актуальные и неочевидные фишки (вторая часть) Как с помощью Google Tag Manager отслеживать исходящие ссылки на сайте и загрузки файлов с него...

04 05 2026 6:44:18

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

Как увеличить продажи с помощью местных экспертов от Google — советы локальному бизнесу Информация для SEO- и PPC-специалистов, маркетологов и предпринимателей малого бизнеса...

03 05 2026 16:18:11

Зачем нужна декомпозиция?

Зачем нужна декомпозиция? Или как не слить свой бюджет на рекламу....

02 05 2026 23:34:19

Азы типографики — нескучно о шрифтах

Азы типографики — нескучно о шрифтах Нужно подобрать красивый шрифт? Готический или народный? Стандартный или фирменный? Как выбрать — рассказывает профессионал...

01 05 2026 23:32:28

Big Money: как Netpeak Group связана с Сингапуром

Big Money: как Netpeak Group связана с Сингапуром Всё о крупной рыбе украинского интернет-маркетинга: компании, люди, кейсы в интервью с основателем Артёмом Бородатюком....

30 04 2026 12:51:59

Сравнение First Click, Last Click и Funnel Based моделей атрибуции — кейс Serpstat

Сравним разные модели атрибуции с точки зрения оценки финансовых показателей проекта...

29 04 2026 15:22:24

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

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

28 04 2026 3:11:45

Скорость загрузки сайта - как проверить и отслеживать метрики скорости загрузки и Web Vitals

Скорость загрузки сайта - как проверить и отслеживать метрики скорости загрузки и Web Vitals Всё о метриках загрузки сайта. Как проверить и отслеживать реальную скорость загрузки сайта и почему нельзя доверять показателям Pagespeed Insights....

27 04 2026 12:43:25

Язык R в интернет-маркетинге — дайджест полезных публикаций

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

26 04 2026 20:36:16

Веб-студии vs конструкторы сайтов: что выбрать для интернет-магазина?

Веб-студии vs конструкторы сайтов: что выбрать для интернет-магазина? Чем работа веб-студий отличается от конструкторов сайтов, как выбрать веб-студию и пять базовых понятий, которые должен знать каждый, кто решил создать сайт....

25 04 2026 9:24:41

Как «ломают» воронку продаж при построении отчётности

Как «ломают» воронку продаж при построении отчётности Без понимания того, какие данные заложены в основу воронки продаж получается... — читайте в статье...

24 04 2026 23:38:32

Настраиваем Google Рекламу на мобильные приложения

Настраиваем Google Рекламу на мобильные приложения Реклама мобильных приложений. Хотите показывать рекламу в играх? Вам сюда. Узнайте как правильно настроить показ рекламы на мобильных устройствах....

23 04 2026 1:17:34

Результаты тестирования похожих аудиторий в торговых кампаниях (Google Shopping)

Результаты тестирования похожих аудиторий в торговых кампаниях (Google Shopping) Обновление от Google: похожие аудитории можно использовать не только для медийных, но и для поисковых и торговых кампаний...

22 04 2026 11:47:26

Как оптимизировать контент: title, h1, description, keywords

Как оптимизировать контент: title, h1, description, keywords Грамотно оформленные метатеги презентуют сайт, помогают пользователям быстро найти нужную информацию, а поисковым системам — повысить ресурс в выдаче...

21 04 2026 6:35:37

93 шага к идеальному интернет-магазину — детальный чек-лист

93 шага к идеальному интернет-магазину — детальный чек-лист Открытие проверенных действий по увеличению продаж...

20 04 2026 20:56:27

Как настроить расширенную электронную торговлю с помощью Google Tag Manager

Как настроить расширенную электронную торговлю с помощью Google Tag Manager Как GTM помогает настроить расширенную электронную торговлю (enhanced ecommerce)....

19 04 2026 6:27:16

Партнерские программы SaaS — как на них заработать, какими бывают партнерки

Партнерские программы SaaS — как на них заработать, какими бывают партнерки Партнерская программа — это когда сервис дает партнеру вознаграждение за приведенных клиентов. Получить деньги и/или другие плюшки можно также по реферальной программе. Как это работает? Разбираемся на примерах....

18 04 2026 7:32:46

Что нужно понять перед запуском онлайн-рекламы — девять самых важных вопросов к себе и PPC-специалисту

Что нужно понять перед запуском онлайн-рекламы — девять самых важных вопросов к себе и PPC-специалисту Читайте, если не хотите «слить» бюджет. Определите конкретные цели и УТП, соберите аналитику, идите к специалисту без опыта работы в конкретной нише и другие рекомендации эксперта. Читайте подробнее в статье!...

17 04 2026 1:46:31

Вебмастера заработают более $2 млн на Всемирном дне шопинга в 2021

Вебмастера заработают более $2 млн на Всемирном дне шопинга в 2021 С каждым годом китайские маркетплейсы увеличивают свое влияние, и покупатели всё активней заказывают товары из Поднебесной. Но не всё скидки да покупки — обладатели интернет-аудитории и маркетологи могут еще и хорошо заработать на этих площадках....

16 04 2026 14:48:16

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