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

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

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

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



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

Кто такой аккаунт-менеджер Netpeak

Кто такой аккаунт-менеджер Netpeak Аккаунт менеджеры это... Быть лицом компании, проводником между заказчиком и комaндой агентства, ментором для коллег и суперменом, готовым прийти на помощь клиенту в любой час дня и ночи… Эти задачи по плечу аккаунт-менеджерам Netpeak...

01 04 2026 20:18:33

Анализ ссылочной массы с помощью Ahrefs и Serpstat

Краткое сравнение двух инструментов и третьего на закуску....

31 03 2026 10:57:32

Высокие ставки в Google Рекламе — почему и как их уменьшить?

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

30 03 2026 12:50:45

Актуальна ли классическая воронка продаж?

Актуальна ли классическая воронка продаж? В продажах лучше визуализировать путь потребителя в виде нейронных сетей....

29 03 2026 16:38:10

Как увеличить доход на 500% и не «сломать» долю рекламных расходов — кейс Беккер

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

28 03 2026 6:20:10

Digital-маркетинг по формуле 8Р

Примеры новой концепции Digital-маркетинга по формуле 8Р...

27 03 2026 10:25:18

Как создать YouTube канал для бренда

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

26 03 2026 19:58:28

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

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

25 03 2026 6:23:29

Топ CRM-систем для бизнеса в США

Топ CRM-систем для бизнеса в США Исследование Ringostat о самых востребованных CRM-системах в США...

24 03 2026 0:35:28

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

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

23 03 2026 21:24:38

Как выступить с полезным докладом: советы экспертов

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

22 03 2026 21:52:54

Как проверить бизнес-идею — чек-лист. Анкетирование будущих клиентов

Как проверить бизнес-идею — чек-лист. Анкетирование будущих клиентов Клиентоориентированный бизнес должен знать, чего хотят покупатели. И лучше понять это еще на этапе идеи. Как — читайте чек-лист от Влада Ноздрачева....

21 03 2026 5:37:38

Как быстро снизить стоимость конверсий в нише элитных автоуслуг — кейс Аверс-центр

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

20 03 2026 10:59:26

Кейс по email-маркетингу для интернет-магазина подарков — ROMI 100%

Кейс по email-маркетингу для интернет-магазина подарков — ROMI 100% Direct way. Как вложить 200 у.е. и получить 800 у.е....

19 03 2026 5:50:31

Что нужно понимать в SEO-отчетах, чтобы оценить эффективность продвижения

Что нужно понимать в SEO-отчетах, чтобы оценить эффективность продвижения Всё об оценке эффективности SEO-продвижения с инструментами и рекомендациями...

18 03 2026 19:28:41

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

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

17 03 2026 12:59:45

Что такое Netpeak Group? Все, что нужно знать

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

16 03 2026 23:46:12

Как B2B-стартап с помощью партнерской программы увеличил доход на 1983% за 6 месяцев

Как B2B-стартап с помощью партнерской программы увеличил доход на 1983% за 6 месяцев Создание успешного стартапа в нише телемедицины. Без дополнительных трат увеличил за 6 месяцев доход на 1983%, а клиентскую базу — более чем на 1000%....

15 03 2026 7:22:53

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

Рекомендации от Google для бизнеса о поведении в период распространения коронавируса....

14 03 2026 0:54:36

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

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

12 03 2026 19:15:33

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

Сколько стоил клик в Google Ads в третьем квартале 2016 — исследование Netpeak Алексей Селезнев проанализировал, как дорого обходятся рекламодателям клики по объявлениям в 25 тематиках и 92 странах....

11 03 2026 8:26:30

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

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

10 03 2026 2:59:30

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

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

09 03 2026 2:27:13

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

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

08 03 2026 13:43:42

8 сервисов автопроверки on-page ошибок

Платные и бесплатные способы ускорить оптимизацию....

07 03 2026 7:47:41

Кейс «Мой Город»: как мы за месяц подняли трафик из Facebook на 86%

Цель — трафик facebook. Делимся кейсом проекта «Мой город»....

06 03 2026 12:37:13

Микроразметка: что нужно знать SEO-специалисту о словарях и синтаксисе

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

05 03 2026 13:49:38

Скелеты в шкафу РСЯ: как эффективно построить рекламную кампанию?

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

04 03 2026 13:42:41

Google Колибри — все, что вы хотели знать о новом алгоритме

Мы решили определить и раскрыть самые популярные вопросы по работе нового алгоритма Google Колибри...

03 03 2026 21:22:52

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

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

02 03 2026 2:26:13

Стратегия ведения контекстной рекламы по воронке продаж на примере SaaS: шаблон и инструкция

Стратегия ведения контекстной рекламы по воронке продаж на примере SaaS: шаблон и инструкция Как найти индивидуальный подход к аудитории на каждом этапе воронки продаж? В этом вам поможет правильно составленная стратегия контекстной рекламы....

01 03 2026 1:52:44

Facebook Like или Share?

Facebook Like или Share? Facebook buttons. Пора поделиться самым волнующим вопросом 2011-го года...

28 02 2026 1:47:50

Как увеличить продажи на 75% с помощью внутренней оптимизации сайта — кейс maxi.az

Как увеличить продажи на 75% с помощью внутренней оптимизации сайта — кейс maxi.az Увеличение трафика из поисковых систем Азербайджана на 30% за три месяца. И он продолжает расти...

27 02 2026 10:38:26

Сооснователь SUPERLUDI Влад Ноздрачев о развитии рынка инфобизнеса и инфоцыганах

Сооснователь SUPERLUDI Влад Ноздрачев о развитии рынка инфобизнеса и инфоцыганах Сооснователь SUPERLUDI Влад Ноздрачев рассказал в своем подкасте о развитии инфобизнеса. Предлагаем вам вольный пересказ....

26 02 2026 14:11:30

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

Как быстро увеличить продажи — мнения руководителей отделов продаж Как повысить результаты продаж в режиме цейтнота. Советы новому руководителю от специалистов Netpeak Group. Больше подробностей — в посте...

25 02 2026 8:19:53

Продвижение музыки в интернете

Продвижение музыки в интернете Раскрутка музыки онлайн: способы, методы, нюансы и примеры...

24 02 2026 13:28:33

Исследование о влиянии отзывов в интернете на решение о покупке

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

23 02 2026 17:26:14

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

Карты знаний для ваших специалистов — IT и маркетинг Используйте и интерпретируйте карты знаний Netpeak Group, чтобы экономить свои силы и время на создании собственных карт с нуля. Узнать больше!...

22 02 2026 7:11:42

Как объединить источники данных в Google Data Studio

Как объединить источники данных в Google Data Studio Как пользоваться «Совмещением данных» с учетом всех особенностей инструмента...

21 02 2026 2:58:18

Как рекламировать недвижимость и анализировать статистику рекламных кампаний — кейсы Netpeak и Ringostat

Как рекламировать недвижимость и анализировать статистику рекламных кампаний — кейсы Netpeak и Ringostat Подборка для застройщиков, маркетологов и менеджеров по продажам...

20 02 2026 5:28:14

К чему быть готовым продавцам одежды и обуви — пример тематической стратегии Netpeak

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

19 02 2026 6:54:11

Как создать отчет по категориям и брендам в Google Data Studio, если они не передаются в Google ***ytics

Как создать отчет по категориям и брендам в Google Data Studio, если они не передаются в Google ***ytics Как настроить передачу категории и бренда товара в Google Data Studio....

18 02 2026 9:42:29

Кредит на рекламу для бизнеса, спецпроекты, песочница контента и две новые конференции

Кредит на рекламу для бизнеса, спецпроекты, песочница контента и две новые конференции А ещё у нас появилась новая стратегия SEO-продвижения для ниши доставки еды и продуктов....

17 02 2026 15:48:35

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

Сколько стоил клик в Google Ads в четвертом квартале 2016 — исследование Netpeak Алексей Селезнев проанализировал 29 млн кликов, и в этой статье вы прочитаете, как дорого обходятся рекламодателям клики в Google Ads....

16 02 2026 15:12:16

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

За авторку замолвите слово. Как и зачем использовать феминитивы Прежде чем использовать феминитивы в коммуникации со своими клиентами и сотрудниками, убедитесь, что им это нужно и важно. Впрочем, ждите негатива при любом раскладе. Что с ним делать? Рассказываем....

15 02 2026 15:50:28

Как не попасть в спам при отправке email-рассылки

Как не попасть в спам при отправке email-рассылки Персональный чек-лист автора десятков рассылок: три года опыта и регулярное общение с техподдержкой почтовых сервисов. Всё о том, как не попасть в спам и как из него спасаться. А может и не всё. Можете дополнить этот пост своими фишками? Делитесь!...

14 02 2026 19:36:48

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

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

13 02 2026 20:20:46

Как работать с автостратегиями Google Ads

Как работать с автостратегиями Google Ads И научиться делать свою рекламу прибыльной. Читайте про типы автостратегий и способы их оптимизации....

12 02 2026 3:46:41

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

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

11 02 2026 7:30:24

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