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

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

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

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



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

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

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

23 07 2026 15:29:45

Сколько заpaбатывают интернет-маркетологи

Сколько заpaбатывают интернет-маркетологи Результаты четвертого опроса среди IT-специалистов по уровню зарплат интернет-маркетологов с интересными итогами от количества участников до самой высокооплачиваемой должности и среднего опыта в рынке. Узнайте больше!...

22 07 2026 21:30:44

Xsolla — антикейс с увольнением 150 сотрудников. И при чем здесь пунктуация

Xsolla — антикейс с увольнением 150 сотрудников. И при чем здесь пунктуация Мнение Сергея Петренко, CEO компании Odesseya....

21 07 2026 5:49:36

SEO growth hacking. Как находить идеи и внедрять точки кратного роста

SEO growth hacking. Как находить идеи и внедрять точки кратного роста Наибольший эффект по продвижению сайта при минимальных затратах — именно таков принцип SEO growth hacking. Как найти кратные точки роста, читайте статье....

20 07 2026 10:22:18

Синтаксис, виды и параметры UTM-меток — как правильно отследить трафик

Синтаксис, виды и параметры UTM-меток — как правильно отследить трафик UTM-метки позволяют эффективно отслеживать источники трафика. Но составлять их нужно правильно. Как именно, давайте разбираться....

19 07 2026 21:31:33

LinkedIn для SaaS-сервисов: почему это выгодно?

LinkedIn для SaaS-сервисов: почему это выгодно? Обычно SaaS-бизнесы начинают привлечение лидов с запуска рекламы на Facebook. Но наш опыт говорит о том, что это не самые подходящие каналы. Более высокие результаты можно получить на LinkedIn....

18 07 2026 4:31:16

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

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

17 07 2026 8:49:23

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96%

Кейс по SEO для тематики «осветительные приборы, мебель и декор», регион Болгария: рост органического трафика на 108,96% Кейс по росту органического трафика на сайте интернет-магазина на платформе Summer Cart....

16 07 2026 6:58:39

Сeкc и эpoтика, магия, тренер-олень, и даже ребус! Апрельская реклама с блоком 18+

Чем шокировала, радовала и удивляла реклама в социальных сетях и контекстная в Google в апреле 2021 года...

15 07 2026 15:20:54

Google My Business: как локальному бизнесу получать 1000+ бесплатных запросов

Google My Business: как локальному бизнесу получать 1000+ бесплатных запросов 7 советов для оптимизации вашего профиля в Google Мой Бизнес....

14 07 2026 22:34:28

Как работать с Open Graph

Как работать с Open Graph Что нужно сделать, чтобы превью веб-страниц в социальных сетях стало магнитом для пользователей?...

13 07 2026 13:35:33

Семь улучшений Netpeak: новые стратегии email-маркетинга, антикризисная PPC-стратегия Start и продвижение недвижимости

Семь улучшений Netpeak: новые стратегии email-маркетинга, антикризисная PPC-стратегия Start и продвижение недвижимости Что нового, Netpeak? Новые стратегии контекстной рекламы и email-маркетинга, новая рубрика в блоге, а также о специфике работы отдела продаж Netpeak в карантин и о законах построения партнерской программы — всё читайте в материале!...

12 07 2026 3:14:17

Стратегия email-маркетинга: кому и зачем мы шлем письма

Стратегия email-маркетинга: кому и зачем мы шлем письма Старт любых активностей в сфере email-маркетинга — разработка стратегии...

11 07 2026 21:53:10

Аутсорсинг в Украине — интервью с Женей Розинским о способах развития IT-нации

Аутсорсинг в Украине — интервью с Женей Розинским о способах развития IT-нации Айти эксперт Женя Розинский о том, почему нацию айти развивают продуктовые бизнесы, а не outsourcing сервисы...

10 07 2026 11:11:46

Восемь основных ошибок при составлении семантического ядра

Мы собрали топ обидных промахов в сборе семантики, влияющих на качество и эффективность продвижения проекта...

09 07 2026 5:35:12

Как работать с оператором «квадратные скобки» в Вордстат?

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

08 07 2026 10:52:12

Прием антисептика внутрь, парень-микрофончик и открыть рот за $9: реклама в соцсетях в феврале 2021

Примеры странной, классной и непонятной рекламы в соцсетях из моей ленты за февраль 2021 года...

07 07 2026 21:15:41

Как оценить потерянный доход в Google Ads с помощью языка R

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

06 07 2026 17:14:20

Сколько стоил клик в Google Ads в 2016 году — данные по Болгарии, Казахстану, России, Украине

Сколько стоил клик в Google Ads в 2016 году — данные по Болгарии, Казахстану, России, Украине В течение 2016 года Алексей Селезнев собирал данные о стоимости клика в разрезе разных стран, регионов и тематик. Итоги исследования, тренды и прогнозы читайте в этой статье....

05 07 2026 2:15:37

Как настроить передачу данных о заказе с помощью Google Tag Manager

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

04 07 2026 7:40:38

Фишки Serpstat для рекламных кампаний — кейсы агентства Netpeak

Фишки Serpstat для рекламных кампаний — кейсы агентства Netpeak Как использовать сервис Serpstat для оптимизации кампаний по контекстной рекламе...

03 07 2026 8:18:14

Как настроить динамические объявления в Яндекс.Директ

Объясняем по пунктам, как создать и правильно настроить DSA c таргетингом на фид и содержание сайта...

02 07 2026 10:39:46

Как продвигать видео YouTube в Google Рекламе

Как продвигать видео YouTube в Google Рекламе Есть восхитительная возможность продвинуть видео на YouTube с минимальными финансовыми потерями!...

01 07 2026 20:35:36

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

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

30 06 2026 15:43:10

Как я работаю: рассказ PPC-специалиста

Как я работаю: рассказ PPC-специалиста Как специалисту с нуля обучиться контекстной рекламе и совмещать работу с хобби...

29 06 2026 11:54:18

О рекламе в Telegram — что пошло не так

О рекламе в Telegram — что пошло не так Если вы автор телеграм-канала, то стоит задуматься об альтернативных контент-платформах. Мнение...

28 06 2026 17:36:25

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи

Английский язык — два упражнения для пополнения словарного запаса и развития разговорной речи Улучшайте свой уровень английского. Упражнения для В1 — Intermediate («Средний+»). Узнать больше!...

27 06 2026 17:12:44

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в четвертом квартале 2018 года

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане в четвертом квартале 2018 года Новое исследование стоимости клика в Казахстане в четвертом квартале 2018 года...

26 06 2026 10:44:37

Кто такой контент-маркетолог и зачем он бизнесу

Кто такой контент-маркетолог и зачем он бизнесу Не путайте с контент-менеджером, пожалуйста....

25 06 2026 4:35:15

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов

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

24 06 2026 7:25:36

«Металл профиль» — как мы запустили кастомный коннектор для загрузки данных из API Google ***ytics в Microsoft SQL Server

«Металл профиль» — как мы запустили кастомный коннектор для загрузки данных из API Google ***ytics в Microsoft SQL Server Узнаем расширенную информацию о посещениях сайта с помощью языка R — кейс Netpeak...

23 06 2026 7:21:59

Песочницы контента: как публиковать статьи и получать за это клиентов

Песочницы контента: как публиковать статьи и получать за это клиентов Как получить трафик из песочниц контента в популярных изданиях....

22 06 2026 15:51:37

Как подобрать низкочастотные запросы и для чего это нужно

Низкочастотные, низкоконкурентные, Long Tail и другие термины, которые нужно знать и понимать....

21 06 2026 9:14:41

Как Netpeak продвигает бизнес-страницы на OLX — первая часть

Как Netpeak продвигает бизнес-страницы на OLX — первая часть Как найти продавцов для маркетплейса с помощью рекламы в Google, Facebook, TikTok и Viber....

20 06 2026 17:41:57

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок RFM — это аббревиатура слов Recency, Frequency, Money — новизна, частота, деньги. То есть считаем, как давно клиент купил товар в последний раз, сколько всего покупок он сделал и сколько денег принес нам за все время заказов....

19 06 2026 1:21:20

Корпоративные академии. Как обучать сотрудников и клиентов в кризис и после него

Корпоративные академии. Как обучать сотрудников и клиентов в кризис и после него Обзор главных преимуществ, которые дают облачные академии бизнесу....

18 06 2026 13:12:17

Как перевести статью для блога — инструкция для технарей

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

16 06 2026 7:31:15

Что такое триггер в маркетинге

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

15 06 2026 6:27:16

Удаленка и низкая продуктивность — когда пора выходить в офис

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

14 06 2026 16:52:43

Page Authority & Domain Authority

Page Authority & Domain Authority Что же такое эти authority и чем они лучше и полезнее, к примеру, чем Page Rank?...

13 06 2026 0:40:28

Стоит ли покупать домены с историей и где их найти

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

12 06 2026 15:56:51

Контекстная реклама для интернет-магазина принтов на одежде в Украине — увеличение дохода на 130%

Контекстная реклама для интернет-магазина принтов на одежде в Украине — увеличение дохода на 130% История для заказчиков, которые самостоятельно запускают рекламу...

11 06 2026 3:39:42

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

10 рабочих способов повторного использования контента В помощь контент-маркетологам, редакторам, авторам и бизнесу: идеи, которые учитывают фактор SEO. Переупакуйте статьи, заметки, любые другие посты — угодите читателям и поисковикам. Узнать больше!...

10 06 2026 20:44:40

Как получить 184% прироста трафика и увеличить долю поискового трафика в три раза в gaming-тематике — кейс Wowcarry

Как получить 184% прироста трафика и увеличить долю поискового трафика в три раза в gaming-тематике — кейс Wowcarry Доля органического трафика увеличилась с 14% до 44%, а небрендового — на 184%....

09 06 2026 16:19:22

Инфлюенс-маркетинг — как дружить и сотрудничать с блогерами, чтобы всем было хорошо. Опыт Kacho Group

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

08 06 2026 5:41:44

Анализ сезонности на примере ниши доставки цветов

Анализ сезонности на примере ниши доставки цветов Занимайтесь оптимизацией определенной категории товаров за полгода до скачка спроса....

07 06 2026 4:10:55

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона

Рецензия на третье издание «Google ***ytics для профессионалов» Брайана Клифтона Публикуем рецензию на новое издание Брайана Клифтона. Несмотря на узкую специализацию, эта книга стала бестселлером на Amazon и уже переведена на 5 разных языков. Стоит отметить, что две предыдущие редакции «Google ***ytics для профессионалов» успешно ис...

06 06 2026 4:22:43

Кейс по SMM в тематике «алкогольные напитки»: «Пригласи 10 друзей — получи бутылку шампанского»

Кейс по SMM в тематике «алкогольные напитки»: «Пригласи 10 друзей — получи бутылку шампанского» Оживший бар. О том, как один украинский бренд за полтора месяца получил более 4 000 фанов!...

05 06 2026 14:28:42

Почему не стоит покупать в Черную пятницу

Почему не стоит покупать в Черную пятницу Ежегодно в конце ноября начинается ажиотаж вокруг «огромных» скидок на Черную пятницу. Во всем мире этого дня ждут и готовятся покупать выгоднее. Но так ли это на самом деле?...

04 06 2026 5:17:31

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