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 ***ytics на Universal ***ytics

Как перевести свой аккаунт с Google ***ytics на Universal ***ytics Читайте простой мануал о том, как перейти на Universal ***ytics и не поломать весь сбор данных...

08 06 2026 12:41:24

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

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

07 06 2026 4:20:42

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

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

06 06 2026 10:33:36

Кейс — как увеличить трафик блога юридического сайта на 50 000% с помощью SEO

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

05 06 2026 4:46:42

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

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

04 06 2026 17:23:18

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

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

03 06 2026 2:10:25

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

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

02 06 2026 13:45:36

Как запустить R и R Studio в Google Cloud Platform

Как запустить R и R Studio в Google Cloud Platform Используем возможности Google Cloud Platform в работе с R...

01 06 2026 20:51:45

Где бесплатно разместить ссылки — площадки для продвижения

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

31 05 2026 20:20:20

Как быстро получать самую актуальную информацию от 105 топовых блогов Рунета про интернет-маркетинг

Как быстро получать самую актуальную информацию от 105 топовых блогов Рунета про интернет-маркетинг Самые популярные блоги Рунета по интернет-маркетингу — все RSS-фиды в одном месте...

30 05 2026 13:26:14

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

Сколько стоил клик в Google Ads и Яндекс.Директ в Казахстане во втором квартале 2019 года Алексей Селезнев, руководитель отдела аналитики Netpeak делится статистикой по самым дорогим и самым дешевым тематикам, регионам размещения рекламы, каналам и устройствам. Узнать больше!...

29 05 2026 20:42:49

Обзор трех новых типов микроразметки schema.org

Обзор трех новых типов микроразметки schema.org FAQ (frequently asked questions), HowTo и Q&A (questions and answers)....

28 05 2026 0:32:18

10 неочевидных функций приложения для скриншотов KISS

10 неочевидных функций приложения для скриншотов KISS Опции скриншутера, которые упростят вам жизнь....

27 05 2026 22:40:48

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

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

26 05 2026 10:44:54

7 возможностей Serpstat, о которых вы наверняка не знали

7 возможностей Serpstat, о которых вы наверняка не знали Посмотреть релевантность сайта для победы над конкурентами. Как использовать Serpstat....

25 05 2026 14:15:59

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

Продвижение мобильного приложения в Яндекс.Директ — руководство для новичков Детальная инструкция по настройке рекламы мобильного приложения в Яндекс.Директ....

24 05 2026 1:23:15

В Китае нет сервисов Google. Совсем. И вот что там творится

Как пользователи и разработчики приложений живут без Google Play? Авторская колонка....

23 05 2026 9:31:46

Как повысить ROMI email-маркетинга на 63%, сократив базу контактов на 40%

Как повысить ROMI email-маркетинга на 63%, сократив базу контактов на 40% История о предсказательной аналитике системы автоматизации маркетинга, онлайн-магазине и ненужных письмах....

22 05 2026 21:24:23

Продвинутые способы аналитики кампаний на Facebook — Инспектор и внутренние диаграммы

Узнайте, как пользоваться Инспектором и внутренними диаграммами Facebook, чтобы быть в лидерах своей ниши!...

21 05 2026 0:10:48

Алгоритм LSA для поиска похожих документов

Алгоритм LSA для поиска похожих документов Наши сотрудники смогли составить разбор непростых вещей, дать им определение и рассказать о них простым языком....

20 05 2026 9:52:15

Stories для бизнеса. Фишки вовлечения в Instagram

Stories для бизнеса. Фишки вовлечения в Instagram Как использовать сториз для бизнеса на полную? Фишки от пpaктиков SMM-продвижения....

19 05 2026 10:17:35

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

5 инструментов для проверки юзабилити интернет-магазина Несложные рекомендации, как увеличить продажи с сайта и его мобильной версии с помощью инструментов Google: ***ytics, Tag Manager, Optimizer и форм-опросов. UX-специалисты Турум-бурум рекомендуют их для проверки сайта и используют в своей работе....

18 05 2026 11:42:32

Сколько заpaбатывают маркетологи — ежегодное исследование Serpstat

Сколько заpaбатывают маркетологи — ежегодное исследование Serpstat Как распредляются зарплаты по грейдам и специализации: ежегодное исследование Serpstat....

17 05 2026 2:48:40

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

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

16 05 2026 15:15:59

Как мы получили заявки в нише B2B с высокой конкуренцией — кейс kkt365.ru

Как мы получили заявки в нише B2B с высокой конкуренцией — кейс kkt365.ru Как мы недооценили уровень конкуренции в нише, и как пришлось с этим бороться, чтобы принести пользу клиенту....

15 05 2026 18:15:21

Бизнес и война: как выжить и не потерять всех сотрудников

Бизнес и война: как выжить и не потерять всех сотрудников Часто руководители, которые прекрасно справляются с работой в мирное время, в период войны перестают быть эффективными. У них нет навыков кризис-менеджмента. Чтобы удержать ситуацию на плаву, кризис-менеджером должен стать главный руководитель компании....

14 05 2026 15:51:25

Дополнение Google Ads для Google Taблиц — руководство пользователя

Дополнение Google Ads для Google Taблиц — руководство пользователя Как сократить время на создание собственных отчетов, если вы работаете с большими рекламными аккаунтами...

13 05 2026 15:28:50

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

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

12 05 2026 22:11:23

Кейс: заказ цветов с доставкой, SEO-продвижение сайта с ROMI 132%

Кейс: заказ цветов с доставкой, SEO-продвижение сайта с ROMI 132% SEO-продвижение интернет-сайта, где можно заказать доставку цветов. Оплатой за трафик под Россию, Украину, Казахстан, Армению, Грузию...

11 05 2026 2:17:41

Метрики вовлеченности — ER или ERR? Как считать Engagement rate в Instagram и Facebook

Метрики вовлеченности — ER или ERR? Как считать Engagement rate в Instagram и Facebook Простой и понятный разбор двух формул для расчета коэффициента вовлеченности...

10 05 2026 6:43:42

Как добавить микроразметку с помощью Google Tag Manager

Как добавить микроразметку с помощью Google Tag Manager Стоит установить и освоить Google Tag Manager для расширения представления сайта в выдаче...

09 05 2026 8:45:19

Как безболезненно перейти на Google ***ytics 4 и что это может дать вашему проекту

Как безболезненно перейти на Google ***ytics 4 и что это может дать вашему проекту Для работы в интернет-маркетинге нужно хорошо разбираться в аналитике. Рассмотрим, как использовать в работе Google ***ytics 4 и чем он отличается от Universal...

08 05 2026 18:36:57

Дополнительные ссылки в Google Рекламе

Быстрый инструмент для повышения CTR — дополнительные ссылки Google Рекламы...

07 05 2026 5:15:24

Восемь советов успешного запуска рекламной кампании в myTarget

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

06 05 2026 21:20:57

Как быстро создать видео для рекламы — обзор Video Builder от YouTube

Как быстро создать видео для рекламы — обзор Video Builder от YouTube Инструмент позволяет создавать ролики длительностью от 6 до 16 секунд. Созданные видеоматериалы можно размещать не только в рекламных кампаниях, но и на сайте или в email-рассылке. ...

05 05 2026 15:43:17

Новая реальность: боты принимают на работу и ходят на свидания

Новая реальность: боты принимают на работу и ходят на свидания История свидания двух ботов как иллюстрация развития искусственного интеллекта...

04 05 2026 18:36:19

Креативное SEO: нестандартные методы продвижения для всех типов сайтов

Креативное SEO: нестандартные методы продвижения для всех типов сайтов Правильное продвижение сайта и нестандартные предложения по привлечению трафика...

03 05 2026 10:44:26

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

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

02 05 2026 11:43:37

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

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

01 05 2026 2:32:42

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

Лучшие фишки от спикеров конференции 8P 2020. В конце каждой конференции спикеры 8P собираются за круглым столом, чтобы поделиться пpaктически применимыми советами, которые можно внедрить в свой проект и сразу почувствовать отдачу...

30 04 2026 19:12:47

Кейс по рекламе в прайс-агрегаторах в тематике «гаджеты и аксессуары»: ROMI 869%

Кейс по рекламе в прайс-агрегаторах в тематике «гаджеты и аксессуары»: ROMI 869% Мир гаджетов на Android и IOS. ROMI (возврат маркетинговых инвестиций) по валовой прибыли: 764%....

29 04 2026 23:34:57

Евгений Черняк про бизнес, кассовый разрыв, нематериальную мотивацию сотрудников и Big Money

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

28 04 2026 6:45:53

Как получить больше от рекламы в Facebook — семь новых фишек

Как получить больше от рекламы в Facebook — семь новых фишек Баннерная реклама в фейсбуке. Обзор семи новых рекламных инструментов...

27 04 2026 20:29:46

Как редактировать скрипты Google Ads

Как редактировать скрипты Google Ads Пpaктика: где искать шаблоны скриптов, как их редактировать и какие есть меры предосторожности при работе со скриптами....

26 04 2026 6:24:47

Платиновые правила продающего видеоконтента на YouTube

Платиновые правила продающего видеоконтента на YouTube Каким правилам нужно следовать, чтобы создать эффективный рекламный ролик?...

25 04 2026 15:59:33

Как собрать аудиторию подписчиков YouTube с 0 до 10 000 за год — кейс канала магазина для любителей рыбалки

Как собрать аудиторию подписчиков YouTube с 0 до 10 000 за год — кейс канала магазина для любителей рыбалки Кейс продвижения YouTube-канала магазина товаров для рыбалки...

24 04 2026 10:39:33

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

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

23 04 2026 20:14:20

Как добавить подписчиков в Facebook, Twitter и LinkedIn из базы рассылки

Как добавить подписчиков в Facebook, Twitter и LinkedIn из базы рассылки Как быстро увеличить количество заинтересованных подписчиков в facebook, twitter, google+ и linkedIn с помощью контактов из рассылки и аккаунтов Facebook....

22 04 2026 9:52:35

Кейс по динамическим кампаниям Яндекса — снижение стоимости транзакции на 117%

Кейс по динамическим кампаниям Яндекса — снижение стоимости транзакции на 117% Тестируем новый инструмент Яндекс.Директ — динамические объявления....

21 04 2026 13:44:54

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

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

20 04 2026 9:48:52

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