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

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

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

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



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

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

Выборы лучшего маркетинг-директора среди украинских проектов ecommerce Голосуй за первых лиц маркетинга ecommerce-проектов Украины...

16 03 2026 14:53:32

Настраиваем особые правила в AdWords Editor

Настраиваем особые правила в AdWords Editor Функционал для специалистов и новичков: как настраивать особые правила. Знания, которые помогают предотвратить грубые ошибки в рекламе товаров и услуг. Читать дальше!...

15 03 2026 15:36:30

Как оптимизировать страницу 404

Как оптимизировать страницу 404 Значит так, делаем из лимонов лимонад — «выжимаем» максимум из ошибки 404...

14 03 2026 16:31:36

Как получить подписчиков в Telegram. Лучшие рекламные источники — кейс канала Артёма Бородатюка

Как получить подписчиков в Telegram. Лучшие рекламные источники — кейс канала Артёма Бородатюка Полтора года работы и 32 тысячи привлеченных подписчиков. Рассказываем о плюсах и минусах продвижения телеграм-канала....

13 03 2026 0:31:51

Как найти новые точки роста в рекламных кампаниях

Как найти новые точки роста в рекламных кампаниях Как и зачем отслеживать конверсии с тегом Google Рекламы...

12 03 2026 23:14:33

Что такое robots.txt и зачем вообще нужен индексный файл

У каждого сайта в топе есть страница, о существовании которой знают только роботы и... SEO-специалисты. Это robots.txt или индексный файл....

11 03 2026 11:12:56

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

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

10 03 2026 23:38:46

С чего начать обучение SEO и как понять, что это «твоё»

С чего начать обучение SEO и как понять, что это «твоё» Как определить, что SEO-продвижение не будет в тягость, что и кого читать начинающему специалисту...

09 03 2026 12:10:27

Как проанализировать эффективность страницы бренда в Facebook

Как проанализировать эффективность страницы бренда в Facebook Бренду нужно зайти на Фейсбук? Несколько очень полезных советов об измерении эффективности SMM....

08 03 2026 2:17:54

Как связать Twitter, Google Buzz, Facebook и Vkontakte.ru

Как связать Twitter, Google Buzz, Facebook и Vkontakte.ru Как сделать так, чтобы статусы автоматически трaнcлировались в Twitter...

07 03 2026 18:16:44

Что меняет налог на Google для бизнеса и пользователей — объясняем на примере Facebook

Что меняет налог на Google для бизнеса и пользователей — объясняем на примере Facebook Как жить с налогом на Google, Facebook и другие международные сервисы — объясняем детали....

06 03 2026 5:13:46

Видеореклама в Google Ads: как оставить только релевантные площадки

Видеореклама в Google Ads: как оставить только релевантные площадки Четыре способа исключить нерелевантные места размещения видеорекламы, а также полезные списки минус-слов и детских YouTube-каналов....

05 03 2026 4:37:18

Как стать SEO-специалистом

Как стать SEO-специалистом Как стать востребованным сео оптимизатором: 35+ ссылок для обучения и совершенствования своих знаний, а также советы...

04 03 2026 20:54:57

Что такое 500 Internal Server Error

Что такое 500 Internal Server Error Ошибка, которая может привести к полной потере контроля над вашим сайтом. Рассказываем, что это такое, какие могут быть причины поломки и как исправить. Узнать больше!...

03 03 2026 4:27:38

Свадьба в IT, или Как пиарщику доверить организацию самого важного ивента подрядчику

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

02 03 2026 21:59:32

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

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

01 03 2026 1:17:46

Какую стратегию использовать для продвижения интернет-магазина

Какую стратегию использовать для продвижения интернет-магазина Что нужно делать на старте работ с интернет-магазином и как минимизировать риски для бизнеса онлайн, используя такие инструмента как SEO, PPC и Email-маркетинг — советы от эксперта. Читать дальше!...

28 02 2026 6:46:39

SEO-среда: отcлеживание целей и настройка событий

SEO-среда: отcлеживание целей и настройка событий Настройка целей в Google ***ytics, а также отслеживание событий....

27 02 2026 21:36:43

SEO своими силами, проверка качества и эффективности продвижения сайта

3 часто задаваемых вопроса о раскрутке сайтов об эффективной организации SEO своими силами, способах проверки оптимизации сайта и о том, как быстро можно увидеть эффект от SEO. Узнайте больше!...

26 02 2026 17:38:42

Функции вычисляемых полей Google Data Studio

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

25 02 2026 4:34:14

Как использовать социальное доказательство в email-маркетинге

Как использовать социальное доказательство в email-маркетинге Рассказываем о приемах, которые помогут вам заинтересовать читателей рассылки....

24 02 2026 12:53:48

Демографический таргетинг в Google Ads

Демографический таргетинг в Google Ads Отныне мы можем настраивать показы рекламы на мужчин и женщин определенной возрастной группы....

23 02 2026 2:16:18

Реклама в YouTube для производителя окон в Украине — рост количества лидов на 176%

Реклама в YouTube для производителя окон в Украине — рост количества лидов на 176% Cтоимость просмотра в Google Ads дешевле как минимум в два раза по сравнению со Smart TV...

22 02 2026 1:35:33

Как найти упущенную семантику: кейс сервиса Serpstat (ex. Prodvigator)

Как найти упущенную семантику: кейс сервиса Serpstat (ex. Prodvigator) Упущенная семантика — это ключевые фразы, которые успешно используют в SEO и PPC ваши основные конкуренты, но не используете вы. Как найти упущенную семантику? Читайте кейс сервиса Prodvigator....

21 02 2026 8:22:35

Влияние ссылок из социалок на ранжирование в поисковиках

Влияние ссылок из социалок на ранжирование в поисковиках Выдержка из интервью Дэнни Салливаном с представителями компаний Google и Bing...

20 02 2026 22:49:40

Как использовать регулярные выражения в Google ***ytics и Google Tag Manager

Как использовать регулярные выражения в Google ***ytics и Google Tag Manager Как поможет Regex Engines в работе с Google ***ytics и преимущества использования Regex в Диспетчере тегов Google. Узнать больше....

19 02 2026 8:51:23

Как за месяц получить 60 тысяч подписчиков для мобильной аудитории сайта: сотрудничество Gravitec.net и F.ua

Как за месяц получить 60 тысяч подписчиков для мобильной аудитории сайта: сотрудничество Gravitec.net и F.ua «Случайный» посетитель потому, что может уйти (не сделав покупку) и не вернуться, не стать клиентом. Пуш-уведомления позволяют посетителю сразу стать подписчиком: ему предлагают подписаться на рассылку. Как это использовать? Читайте!...

18 02 2026 18:31:37

«Звездочки» нужны только для повышения CTR поисковой выдачи?

«Звездочки» нужны только для повышения CTR поисковой выдачи? Публикуем тему с закрытого аналитического форума Netpeak про «звездочки» как инструмент оценки релевантности контента....

17 02 2026 5:45:25

Масштабный редизайн блога UniSender — рост органического трафика

Масштабный редизайн блога UniSender — рост органического трафика Как за полгода обновить корпоративный блог, зачем это может быть нужно. О том, как начинали с сегментации, внедряли SEO-рекомендации, оптимизировали ЧПУ, трaнcлитерацию, пагинацию и структуру блога вплоть до конкретной работы со статьями, рейтингами и их страницами...

16 02 2026 21:34:34

Первая помощь в офисе — как вести себя в нештатных ситуациях

Первая помощь в офисе — как вести себя в нештатных ситуациях Человеку стало плохо, он теряет сознание. Те, кто рядом, хотят помочь, но не знают, как это сделать. Давайте разбираться....

15 02 2026 4:16:26

Сайт загружается медленно: когда не нужно паниковать

О неправильных тpaктовках отчета по времени загрузки страниц сайта в ***ytics...

14 02 2026 10:25:35

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

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

13 02 2026 23:59:10

Как настроить A/B тест с помощью Google Optimize — пошаговый мануал

Как настроить A/B тест с помощью Google Optimize — пошаговый мануал Как настроить эксперимент на сайте без сторонней помощи...

12 02 2026 5:50:55

Стили управления по Ицхаку Адизесу

Стили управления по Ицхаку Адизесу Менеджмент и лидерство: 4 разных типа руководства организацией и нескучные иллюстрации в стиле South park....

11 02 2026 13:34:28

Как монетизировать сайт и заpaбатывать на трафике

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

10 02 2026 17:11:33

История успеха office-expert.kz: перенесли email-рассылки на новый сервис и получили ROMI 440%

История успеха office-expert.kz: перенесли email-рассылки на новый сервис и получили ROMI 440% В течение месяца нам удалось наладить рассылку с новой платформы....

09 02 2026 0:11:29

Корпоративный блог. Каким он должен быть и примеры для подражания

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

08 02 2026 0:54:18

Как работать с аудиториями Google Ads в наблюдении

Давайте больше не будем сливать бюджет, выбирая неправильный параметр....

07 02 2026 3:35:24

Как настроить email-маркетинг с нуля до окупаемости инвестиций за один месяц. Кейс Mechta.kz

Как настроить email-маркетинг с нуля до окупаемости инвестиций за один месяц. Кейс Mechta.kz Рост дохода в шесть раз, ROMI +500% за пять месяцев....

06 02 2026 23:22:15

Как создать крутую комaнду фрилансеров

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

05 02 2026 22:50:33

Как начать работу с BigData — загружаем данные в Google BigQuery

Как начать работу с BigData — загружаем данные в Google BigQuery Начинаем работать с облачным сервисом хранения Google BigQuery...

04 02 2026 1:46:57

Что делать, если приложение удалили из Google Play или App Store

Что делать, если приложение удалили из Google Play или App Store Есть ли шанс на апелляцию...

03 02 2026 14:59:29

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

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане во втором квартале 2018 года Данные о стоимости клика в наиболее популярных рекламных интернет-площадках страны....

02 02 2026 21:27:23

Как не слить бюджет при запуске контекстной рекламы

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

01 02 2026 2:16:58

Что такое внутренние дубли страниц и как с ними бороться?

Что такое внутренние дубли страниц и как с ними бороться? Анализ содержимого сайта показывает: Url разные, а контент страниц одинаковый. Думаете, ничего страшного? Но одинаковый контент может попасть под фильтры поисковых систем. Чтобы этого не произошло, надо знать, как избавляться от внутренних дублей...

31 01 2026 6:31:42

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

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

30 01 2026 1:16:33

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

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

29 01 2026 8:45:33

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

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

28 01 2026 16:42:20

Аудит аккаунта Google Рекламы своими силами

Аудит аккаунта Google Рекламы своими силами Одесса. Конференция «Контекстная реклама 2013». Самые полезные настройки рекламной кампании....

27 01 2026 11:40:32

Где искать контент для сайта

Где искать контент для сайта Создаем список тем, которые заинтересуют пользователя — для этого используем простые сервисы по типу Вордстат. Также изучаем деятельность конкурентов. Узнать больше!...

26 01 2026 10:36:54

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