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

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

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

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



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

Реклама интернет-магазина техники в Москве — как мы получили ROMI 200% в Smart Shopping за 8 месяцев

Реклама интернет-магазина техники в Москве — как мы получили ROMI 200% в Smart Shopping за 8 месяцев Как Netpeak продвигал Cifrus.ru, один из ведущих магазинов цифровой техники в Москве....

08 06 2026 3:11:30

Почему Netpeak стал лидером среди IT-работодателей Украины

Почему Netpeak стал лидером среди IT-работодателей Украины Руководитель отдела HR, Ольга Пачесная, написала пост о главном — людях, которые выбрали работу в Netpeak....

07 06 2026 17:46:30

Как покорить Бразилию — советы Depositphotos

Как покорить Бразилию — советы Depositphotos Идем в Бразилию: опыт Depositphotos + полезные факты....

06 06 2026 23:12:43

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

Как отслеживать клики по телефонным номерам Быстрый и бесплатный способ настройки целей через Google Tag Manager....

05 06 2026 14:48:32

ТОП-11 бесплатных курсов от Netpeak

ТОП-11 бесплатных курсов от Netpeak Уроки, написанные понятным и доступным языком экспертами по контекстной рекламе, поисковому продвижению, SMM....

04 06 2026 10:31:14

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

Как привлечь клиентов в 2021 году. Способы лидогенерации, о которых вы могли не знать Как снизить стоимость лидов путём использования новых технологий...

03 06 2026 18:41:41

Коммерческое ранжирование Яндекса (перевод)

Коммерческое ранжирование Яндекса (перевод) Интересный и важный документ, не пропустите. Для ранжирования используется сумма коммерческой и тематической релевантности. Уходя с головой в SEO, многие вебмастера забывают о пользовательских факторах. Узнайте больше об этом!...

02 06 2026 10:40:56

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

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

01 06 2026 3:21:15

Как международному бренду занять свое место на новом рынке и в перегретой нише — SEO-кейс Domino’s Pizza

Как международному бренду занять свое место на новом рынке и в перегретой нише — SEO-кейс Domino’s Pizza Для одной компании смена description это что-то пустяковое. Здесь же — настоящий бренд-менеджмент....

31 05 2026 17:51:35

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

Краткое пособие для новичков по типам рекламных кампаний в Google Ads Google Adwords: типы рекламных кампаний и объявлений, тонкостях настройки... Все, о чем вы боялись спросить... Или не боялись, а просто не знали, о чем спрашивать....

30 05 2026 12:28:49

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

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

29 05 2026 5:32:56

Исследование о ценности доброжелательного лидерства

Исследование о ценности доброжелательного лидерства Так называемый Humankindex (доброжелательный стиль управления) способствует инновациям в компании....

28 05 2026 7:47:10

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

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

27 05 2026 15:29:10

Обзор Netpeak Checker 2.1 — мультифункционального инструмента для массового анализа и сравнения сайтов

Обзор Netpeak Checker 2.1 — мультифункционального инструмента для массового анализа и сравнения сайтов Netpeak Checker – это мультифункциональный инструмент для массового анализа и сравнения сайтов, который помогает выполнять самые разнообразные задачи в области интернет-маркетинга....

26 05 2026 6:59:45

Бизнес в Китае: история и реалии мирового лидера Tencent

Бизнес в Китае: история и реалии мирового лидера Tencent Tencent — китайская компания, мировой лидер в сфере игр. Все о создании компании, доходах, прибыли, инвестициях. Особенности ведения бизнеса в Китае — в пересказе статьи Паки Маккормик. Читать дальше!...

25 05 2026 17:26:48

Как настроить счетчик Яндекс.Метрики

Как настроить счетчик Яндекс.Метрики Счетчик Яндекс.Метрики: создание и установка кода, важные настройки....

24 05 2026 1:17:35

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32%

Кейс по продвижению интернет-магазина медицинских товаров: ROMI 32% Продвигаем медицинский проект. Кроме цифр рассказываем, что и как делали...

23 05 2026 10:52:14

SEO-среда: 7 способов улучшить поведенческие факторы сайта

SEO-среда: 7 способов улучшить поведенческие факторы сайта Совет Константина Леоновича (Sape.ru), 4 наших + 2 бонусных...

22 05 2026 11:22:41

Chrome Dev Tools: 7 фишек для SEO анализа в инструментах разработчика Chrome

Chrome Dev Tools: 7 фишек для SEO анализа в инструментах разработчика Chrome Какие возможности дает Chrome DevTools для SEO-оптимизации...

21 05 2026 20:23:28

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

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

20 05 2026 6:26:25

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

Клубная культура Netpeak: что такое Netpeak Cluster и как он поможет развивать малый и средний бизнес Участники бизнес-клуба netpeak получают бесплатные консультации по вопросам ведения контекстной рекламы в Google Ads...

19 05 2026 5:20:51

Как оптимизировать YouTube-канал

Как оптимизировать YouTube-канал Инструкция по технической подготовке к продвижению...

18 05 2026 11:25:14

Выгорание на работе: как сохранить интерес и продуктивность. Личный опыт директора по маркетингу

1 — меняй работу внутри работы, 2 — выбери то, что нравится больше всего и старайся делать это чаще, 3 — придумай себе развлечения. Подробности — в посте. Читать дальше....

17 05 2026 8:42:45

Сотрудницы Netpeak Group о своей работе над проектами, самоорганизации, хобби — дайджест постов

Сотрудницы Netpeak Group о своей работе над проектами, самоорганизации, хобби — дайджест постов Сегодня именно тот день, когда пора решиться и отправить своё резюме в нашу компанию....

16 05 2026 0:45:38

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

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

15 05 2026 1:37:39

13 пpaктически применимых фишек для интернет-магазинов — круглый стол 8P 2017

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

14 05 2026 9:41:16

Что делать, если трафик на сайт резко упал

Что делать, если трафик на сайт резко упал Как найти и быстро исправить причины падения трафика? Совет номер один — не паниковать....

13 05 2026 1:16:26

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

Сколько стоил клик Google Ads и Facebook в Украине в четвертом квартале 2017 года Данные по 34 миллионам кликов в 24 тематиках и 386 городах...

12 05 2026 22:47:26

18 способов собрать базу подписчиков для email-рассылок

18 способов собрать базу подписчиков для email-рассылок Будьте полезны, будьте удобны и будьте везде. Далее подробно — 18 способов собрать базу для email-рассылок. О пользе бесплатного, привлечении внимания, возможных активностях для аудитории, социальных доказательствах, предсказуемости, работе с Facebook и многом другом...

11 05 2026 3:30:41

Как использовать фотоколлаж в маркетинге

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

10 05 2026 9:11:29

Как добавить больше 10 филиалов в Google Business Profile

Как добавить больше 10 филиалов в Google Business Profile У вас фирма с филиалами по всей стране? Короткий инструктаж по массовой загрузке адресов...

09 05 2026 23:59:23

Почему мы играем или не играем в игры

Почему мы играем или не играем в игры Николь Лаззаро из XEODesign провела исследование о том, почему мы играем или не играем в игры....

08 05 2026 9:52:58

Топ-50 самых дорогих ключевых слов Google Рекламы в России и Украине

Топ-50 самых дорогих ключевых слов Google Рекламы в России и Украине За что, по мнению рекламодателей, готовы платить пользователи в России и Украине? Рейтинг самых дорогих ключевых слов Google Рекламы по версии Serpstat....

07 05 2026 0:59:42

Кейс по выводу из фильтра Google Panda интернет-магазина отопительной и водоснабжающей техники: ROMI 338%

Кейс по выводу из фильтра Google Panda интернет-магазина отопительной и водоснабжающей техники: ROMI 338% Признаки того, что магазин находится под фильтром и шаги по выводу из него...

06 05 2026 14:42:58

Как использовать футпринты в SEO-продвижении

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

05 05 2026 5:24:27

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

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

04 05 2026 19:51:12

Email-маркетинг, который приносит заявки, продажи, лояльность и всё на свете — версия Netpeak

Email-маркетинг, который приносит заявки, продажи, лояльность и всё на свете — версия Netpeak Email-маркетинг — хороший полицейский, спам — плохой....

03 05 2026 9:23:24

Особенности контекстной рекламы для 5 ниш бизнеса. Тематические стратегии Netpeak

Особенности контекстной рекламы для 5 ниш бизнеса. Тематические стратегии Netpeak Что учитывать при продвижении недвижимости, клиник красоты, магазинов косметики, сайтов по продаже семян, шин?...

02 05 2026 8:13:57

Продвижение мобильного приложения: как вовлечь пользователей с помощью рекламы в Facebook?

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

01 05 2026 8:39:36

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

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

30 04 2026 7:31:48

Правила хорошего тона при создании Google Презентаций

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

29 04 2026 21:30:50

11 вопросов перед заказом коллтрекинга

11 вопросов перед заказом коллтрекинга Какие типы звонков отслеживаются? Есть ли интеграция с Google ***ytics? Существуют ли в выбранном сервисе или на платформе инструменты интеграции с другими системами? Больше вопросов и ответов на них — в статье....

28 04 2026 10:37:32

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

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

27 04 2026 14:27:36

Как исключить площадки в Google Рекламе и сэкономить деньги — реклама мобильных приложений

Как исключить площадки в Google Рекламе и сэкономить деньги — реклама мобильных приложений Как избежать скликивания, случайных переходов и «пустых» установок при рекламе мобильного приложения...

26 04 2026 11:37:18

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

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

25 04 2026 1:44:39

Facebook Like или Share?

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

24 04 2026 17:19:38

Как поисковые системы индексируют сайт

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

23 04 2026 20:16:42

Что такое фишинговая ссылка и как проверить сайт на её наличие

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

22 04 2026 22:30:23

Как использовать возможности поиска для решения бизнес-задач

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

21 04 2026 7:42:49

Настройка поисковой рекламы в App Store — пошаговое руководство

Как создать Apple ID и настроить поисковую рекламу в App Store...

20 04 2026 7:28:55

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