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

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

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

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



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

Первопроходцы в нише ремонта мобильных телефонов в Казахстане — история Satel.kz

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

20 04 2026 3:20:29

Кейс Pandora.kz. Как email принес 30% от общего дохода по всем каналам продаж.

Кейс Pandora.kz. Как email принес 30% от общего дохода по всем каналам продаж. Как прокачать email, когда рассылки уже работают....

19 04 2026 17:45:57

Как обойти блокировку API запрещенных сервисов с помощью скриптов R

Как обойти блокировку API запрещенных сервисов с помощью скриптов R Как отключить блокировку API запрещенных сервисов в скриптах R и продолжать использовать пакеты ryandexdirect, rvkstat, rmytarget, Google Sheets и BigQuery...

18 04 2026 2:43:35

Внутренняя кухня SEO: как Netpeak продвигает UniSender — первые 5 шагов

Внутренняя кухня SEO: как Netpeak продвигает UniSender — первые 5 шагов Начинаем серию постов в режиме реалити-шоу о подробностях продвижения крупного игрока бизнеса email- и sms-рассылок — компании UniSender....

17 04 2026 13:32:52

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

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

16 04 2026 2:45:51

Главные секреты планировщика ключевых слов Google

Главные секреты планировщика ключевых слов Google Небольшой набор секретов по работе с Планировщиком ключевых слов гугла...

15 04 2026 9:55:14

Global Tag Site — обзор фреймворка от Google

Global Tag Site — обзор фреймворка от Google Почему имеет смысл выбрать его, а не Google Tag Manager?...

14 04 2026 5:39:36

Об экономике контента

Об экономике контента Почему кого-то ругают за плохие тексты, а у кого-то из-за таких же текстов берет интервью Юрий Дудь? И другие особенности контента: авторское право, копирайтинг. Читать!...

13 04 2026 1:56:48

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

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

12 04 2026 19:59:32

Создаем рейтинг CPA-сетей в Украине

Создаем рейтинг CPA-сетей в Украине Опыт коллег и их рекомендации — самая ценная валюта в арбитраже. Давайте объединим усилия и составим актуальный рейтинг СРА-сетей Украины....

11 04 2026 21:37:54

Дополнительные функции Zoom

Дополнительные функции Zoom Как обойти «Зал ожидания» и другие неочевидные фишки...

10 04 2026 12:45:59

Какие элементы продающего текста нужно тестировать

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

09 04 2026 17:33:37

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

4 кейса с шагами, рекомендациями и результатами, которые помогут грамотно распределить средства на рекламу....

08 04 2026 11:11:30

Engagement Rate в email-маркетинге: что это, как посчитать и повысить

Engagement Rate в email-маркетинге: что это, как посчитать и повысить Определяем, кто из mail подписчиков предан вашему бренду по-настоящему....

07 04 2026 22:50:16

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube

Как работает Brand Lift — исследуем эффективность видеорекламы на YouTube Недавно у меня закончилась видеокампания на ютуб, по которой удалось собрать исследование Brand Lift. Хочу поделиться инсайтами...

06 04 2026 13:16:40

Что такое PageRank страницы сайта и как его узнать

Что такое PageRank страницы сайта и как его узнать Алгоритм ссылочного ранжирования, который показывает ее значимость, в частности, для поисковиков. Важность показателя PageRank оспаривают, но до сих пор считают. Читать!...

05 04 2026 22:34:34

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

Как перестать платить за мусор в ссылочном индексе — исследование Serpstat При выборе SEO сервиса принято ориентироваться на объем ссылочной массы, но надежен ли такой подход? Большая база не всегда значит качество содержащихся в ней данных, а количество нередко обеспечивают спамные ссылки в отчетах....

04 04 2026 11:54:17

Что такое медиаплан в контекстной рекламе и как его составлять

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

03 04 2026 8:14:52

17 тезисов о том, как инвестировать в интернет-маркетинг

17 тезисов о том, как инвестировать в интернет-маркетинг Артем Шевченко (Epicentr), Михаил Рогальский (Monobank), Максим Дмитров (BSH Hausgeräte), Андрей Чумаченко (Netpeak) и другие участники конференции 8Р о том, как они рассчитывают инвестиции в интернет-маркетинг....

02 04 2026 6:44:25

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

Панель вебмастеров Google — анализируем данные без паники Как правильно читать отчеты в Панели вебмастеров Google — объясняем на примерах из пpaктики....

01 04 2026 17:52:12

Как улучшить оценку качества целевой страницы в Google Ads — эксперимент Netpeak

Как улучшить оценку качества целевой страницы в Google Ads — эксперимент Netpeak Можно ли повысить оценку качества целевой страницы , если проставить конечные URL на уровне ключевого слова? Результаты исследования....

31 03 2026 9:23:43

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

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

30 03 2026 9:58:45

SEO-продвижение интернет-магазина в тематике «бытовая техника»: ROMI 1130%

SEO-продвижение интернет-магазина в тематике «бытовая техника»: ROMI 1130% Пример, как 4000+ гривен превращаются в 45000+ гривен. Ниша интернет-магазинов, да еще и бытовой техники уже давно является высококонкурентной. Но при правильном продвижении даже новичок может добиться результатов....

29 03 2026 21:32:36

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

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

28 03 2026 16:10:46

Как раскрутить телеграм-канал в 2022 — 14 актуальных способов продвижения

Как раскрутить телеграм-канал в 2022 — 14 актуальных способов продвижения Хотите говорить с клиентами? Пишите им в телеге. Для этого важно продвижение телеграм-канала. Что и как делать для раскрутки — подробная инструкция....

27 03 2026 19:20:33

Списки в Twitter: зачем составлять и как вынести пользу

Списки в Twitter: зачем составлять и как вынести пользу В Twitter удобно собрать список потенциальных клиентов, чтобы время от времени посматривать за их новостями...

26 03 2026 10:17:20

Как импортировать данные в Google ***ytics

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

25 03 2026 13:43:44

Как настроить автоматические правила в Facebook? Подробное руководство

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

24 03 2026 19:20:41

Как я получил 39% ответов после холодной рассылки 100 самым влиятельным экспертам в мире B2B-продаж

Как я получил 39% ответов после холодной рассылки 100 самым влиятельным экспертам в мире B2B-продаж Образец рассылки от создателе Replyapp.io Олег Белозор, на которую ответили самые влиятельные эксперты в мире в2в продаж...

23 03 2026 22:35:18

Как работать с API Яндекс.Метрики с помощью языка R

Как работать с API Яндекс.Метрики с помощью языка R Интерфейс прикладного программирования для работы с аккаунтами десятка сайтов....

22 03 2026 22:48:15

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

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

21 03 2026 19:57:34

Кейс по продвижению автомобильных шин: реклама в Google Ads и прайсах (Яндекс.Маркет и Hotline): ROMI 104%

Кейс по продвижению автомобильных шин: реклама в Google Ads и прайсах (Яндекс.Маркет и Hotline): ROMI 104% Объявление в тематике автошин — отличная тема для рекламы в интернете....

20 03 2026 12:42:55

Как и когда выходить на рынки других стран — советы Google

Как и когда выходить на рынки других стран — советы Google Менеджер экспортного направления Гугл Украина — об особенностях выхода на рынки разных стран мира....

19 03 2026 19:20:26

Как не слить бюджет на клики? Все, что нужно знать о кликфроде

Как не слить бюджет на клики? Все, что нужно знать о кликфроде Как избежать скликивания — инструкция...

18 03 2026 13:35:28

Рост небрендового трафика на 99% — кейс интернет-магазина Vodafone Retail Ukraine

Рост небрендового трафика на 99% — кейс интернет-магазина Vodafone Retail Ukraine За 10 месяцев сотрудничества увеличили небрендовый на 99%, а общий трафик — в два раза. Рассказываем не только о результатах, но и подходе создания реалистичного прогноза SEO-продвижения сайта. Читать дальше!...

17 03 2026 15:34:19

Чем http отличается от https

Чем http отличается от https Чем отличается протокол HTTPS от HTTP — криптошифрованием, обеспечивающим безопасность ресурса...

16 03 2026 16:18:28

Как cделать красивую визуализацию в Google Data Studio — подробное руководство

Как cделать красивую визуализацию в Google Data Studio — подробное руководство Google Data Studio: подробная инструкция и обзор возможностей...

15 03 2026 14:34:34

LinkedIn Ads: как настроить первую рекламную кампанию

LinkedIn Ads: как настроить первую рекламную кампанию LinkedIn хороший инструмент для достижения B2B целей. Пока его редко используют в СНГ, что делает LinkedIn еще привлекательней. В этой социальной сети возможности рекламных форматов и таргетингов почти безграничны. Узнать больше....

14 03 2026 2:14:34

PPC на украинском. Как языковой закон влияет на контекстную рекламу

PPC на украинском. Как языковой закон влияет на контекстную рекламу Языковой закон требует, чтобы общение бизнеса с клиентами шло на украинском языке, если нет просьбы о другом приемлемом варианте. Что это означает для РРС, читайте дальше....

12 03 2026 16:18:20

Внутренняя кухня SEO: считаем рентабельность блога и возвращаем трафик на сайт UniSender

Внутренняя кухня SEO: считаем рентабельность блога и возвращаем трафик на сайт UniSender Очередной красивый пост о продвижении платформы email и sms-рассылок — UniSender...

11 03 2026 13:11:56

Продвижение с PBN - кейсы и антикейсы. Без успешного успеха

Продвижение с PBN - кейсы и антикейсы. Без успешного успеха Private Blog Network для ниши безопасности, доставки цветов, товаров сантехники, туризма и выпекания. Сетки сайтов работают не всегда и это нормально. Узнать больше!...

10 03 2026 2:22:47

Сколько стоил клик в Google Ads в первом квартале 2016 — исследование Netpeak

Сколько стоил клик в Google Ads в первом квартале 2016 — исследование Netpeak Мы решили узнать, как дорого обходятся рекламодателям клики по объявлениям в разных странах и тематиках, чтобы читателям блога было удобнее планировать бюджет на рекламные кампании....

09 03 2026 11:35:17

Netpeak Харьков: правила жизни нового офиса

Netpeak Харьков: правила жизни нового офиса Офис Netpeak в Харькове официально открыт! В этом посте, вместо игры на фанфарах, мы на собственном примере рассмотрим, что нужно для создания регионального отделения в разгар кризиса....

08 03 2026 8:50:55

Раскрыт секрет гарантированного роста трафика из поиска, или Серебряная пуля SEO

Раскрыт секрет гарантированного роста трафика из поиска, или Серебряная пуля SEO О главном секрете поискового продвижения на основе исследования, которое проводилось в течение двух лет. Здесь отсеяны все проекты со слишком малой начальной посещаемостью и проекты с пробелами в аналитике. Узнайте больше, на чем строится рост трафика!...

07 03 2026 18:46:49

Топ 5 лучших вебинаров для онлайн-предпринимателей

Топ 5 лучших вебинаров для онлайн-предпринимателей Бесплатный образовательный проект для предпринимателей Netpeak Cluster предлагает пять своих лучших вебинаров о нюансах онлайн-продвижения...

06 03 2026 1:17:13

20 фактов о развитии мобильных приложений — инфографика

20 фактов о развитии мобильных приложений — инфографика Рынок мобильных приложений и его глобальные тренды из исследования App Annie...

05 03 2026 3:49:49

Как отслеживать трафик PBN-сайтов

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

04 03 2026 22:49:44

Как добавить 100 000 метатегов на сайт за 5 минут?

Как добавить 100 000 метатегов на сайт за 5 минут? Как SQL-запросы сайтов и Google Sheets освобождают SEO-специалиста от рутины...

03 03 2026 17:17:19

Search Console Insights — как проанализировать контент на сайте

Search Console Insights — как проанализировать контент на сайте Каковы интересы вашей аудитории, как люди находят ваш контент. Рассказываем обо всех возможностях от Search Console Insights....

02 03 2026 23:49:28

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