Как получать данные от сторонних сервисов — создаем вебхук с помощью Google Apps Scripts

При внедрении бизнес-процессов важно получать данные от внешних сервисов при наступлении того или иного события — это может быть передача данных из CRM-систем, сервисов оплаты, систем аналитики, интернет-магазинов. В большинстве таких случаев вам нужен вебхук.
Вебхук (webhook) — механизм получения уведомлений о происходящих в системе событиях с помощью функций обратных вызовов. Когда случается интересующее клиента событие, сервер отправляет HTTP-запрос на URL-адрес, предоставленный клиентом для приема вебхуков.Если вам нужно оперативно обработать полученные через вебхук данные, можно воспользоваться настройкой вебхука в Google Apps Scripts.
Вначале необходимо создать новый проект. Сделать это можно несколькими способами:
- Перейти в панель создания скриптов и кликнуть «Создать проект».
- Создать пустую таблицу 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-канала — инструкция для администраторов Этот способ удобен тем, что будет уведомлять вас о совершенной конверсии или наступлении другого события в режиме реального времени с помощью
Чтобы создать своего бота, просто напишите пользователю @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) ;}Кроме рассмотренных выше примеров, этот подход можно применять для решения других задач, когда необходимо получить данные от внешних сервисов при наступлении определенного события.
Хотите узнать больше о решениях для бизнес-процессов? Подписывайтесь на нашу рассылку:
Истории бизнеса и полезные фишкиКомментарии:
О видах мобильных версий, их плюсах и минусах, а также советы по аудиту....
02 11 2026 22:41:52
Дропшип предполагает минимум затрат со стороны предпринимателя. Например, не нужно думать о логистике, держать склад. Можно минимизировать и траты на рекламу. Узнать как!...
01 11 2026 12:37:52
Рекламные заголовки в гугл адвордс так и пестрят предложениями контекстной рекламы бесплатно — вы когда-нибудь задумывались о том, откуда берутся эти «подарки»?...
31 10 2026 22:46:41
Кейс в тематике «грузоперевозки»: как быстрое внедрение доработок помогло привлечь качественный трафик на новый сайт...
30 10 2026 9:10:39
Многие специалисты недооценивают эффективность отчетов Яндекс.Метрики. Очень зря. Вот чем они могут быть полезны....
29 10 2026 13:30:41
Парсинг сайтов: как избавиться от головной боли и сэкономить сотни часов рутинного труда...
28 10 2026 7:50:41
Плейсменты, требования, запоминаемость...
27 10 2026 10:27:44
Настраиваем автоматическое получение отчетов по потерянным конверсиям для оптимизации рекламных кампаний....
26 10 2026 16:16:14
Андреас Рётль о продвижении Journi: как трое выпускников Стэнфордского университета создали приложение для сторителлинга с 25 000 пользователями в 100 странах....
25 10 2026 10:19:44
Офис Netpeak в Харькове официально открыт! В этом посте, вместо игры на фанфарах, мы на собственном примере рассмотрим, что нужно для создания регионального отделения в разгар кризиса....
24 10 2026 9:25:34
Гифка — это зациклиненное видеоизображение, рисунок-ролик, крохотный фильм, без которого трудно представить современный сайт. Как быстро создавать гифки и получать профит....
23 10 2026 19:56:30
VPN — технология анонимного сетевого подключения. Она позволяет организовать подсеть в уже существующем соединении. Поверхностная сеть закрыта от внешнего доступа, потому вмешаться в нее не смогут. Чтобы узнать больше, читайте дальше!...
22 10 2026 16:31:42
Как улучшить видимость сайта после оптимизаторов-староверов — кейс в тематике «световое и звуковое оборудование»....
21 10 2026 9:49:19
Метод бoмжа в маркетинге. Как разработать позиционирование стартапа при ограниченных ресурсах...
20 10 2026 17:21:21
Инсайты Диви Конф 2021, онлайн-конференции о видеомаркетинге....
19 10 2026 6:56:35
Почему в рекламе недвижимости стоит запускать динамический ремаркетинг...
18 10 2026 12:33:10
Сколько прибыли вы не получили в Google Ads из-за нехватки бюджета или низкого рейтинга ключевых слов. Метод покажется сложным, но в дальнейшем вы сможете бесплатно обновлять данные и контролировать потери показов и дохода по всем рекламным кампаниям...
17 10 2026 17:14:29
Для одной компании смена description это что-то пустяковое. Здесь же — настоящий бренд-менеджмент....
16 10 2026 19:45:37
Как вести успешную рекламную кампанию в Японии, не зная языка....
15 10 2026 10:54:41
Больше пятисот человек из Украины, России, Болгарии и Казахстана. Я зашел в зал и увидел толпу каких-то гопарей и воровайок родом из 90-х, а само помещение было оформлено под свадьбу. Выпьем за молодых!...
14 10 2026 1:24:14
То, чего нет в справке — подробный обзор отчетов Google ***ytics: в режиме реального времени, по аудитории, источникам трафика, поведению, конверсии. Узнать больше!...
13 10 2026 23:18:18
Аналитики из SalesForce уже в четвертый раз опубликовали исследование о приоритетах, составе комaнд и распределении бюджетов ведущими маркетологами мира...
12 10 2026 15:44:18
Начинаем серию постов в режиме реалити-шоу о подробностях продвижения крупного игрока бизнеса email- и sms-рассылок — компании UniSender....
11 10 2026 22:34:46
Технология «лёгкость восприятия» — инструмент, который поможет убедить клиентов покупать именно у вас...
10 10 2026 19:22:18
Как купить дешевый трафик из Facebook? Образец работы со структурой рекламного аккаунта...
09 10 2026 13:14:12
Как улучшить видимость сайта в результатах поисковой выдачи, когда основные требования по оптимизации уже выполнены...
08 10 2026 7:39:58
Чем вам может пригодиться это исследование? Понимания стоимость конверсии и необходимое количество конверсий, вы можете прогнозировать, сколько денег на рекламу нужно выделить. Читать!...
07 10 2026 8:44:11
Чтобы перенаправить рекламу не на свой домен, арбитражники используют редирект в Яндексе при работе с партнерскими ссылками...
06 10 2026 23:47:56
LinkedIn хороший инструмент для достижения B2B целей. Пока его редко используют в СНГ, что делает LinkedIn еще привлекательней. В этой социальной сети возможности рекламных форматов и таргетингов почти безграничны. Узнать больше....
05 10 2026 18:48:30
SEOmoz создал систему, которая определяет релевантность страницы поисковому запросу....
04 10 2026 15:21:55
Как обезопасить себя от интернет-пиратов и защитить авторское право онлайн....
03 10 2026 6:29:49
Как использовать сториз для бизнеса на полную? Фишки от пpaктиков SMM-продвижения....
02 10 2026 0:43:36
Как правильно мотивировать и демотивировать себя — теория и кейсы. Как бросить курить, начать бегать и наконец-то приступить к изучению английского. Читать!...
01 10 2026 10:16:26
Твиттереть нужно правильно. Интересная аналитики и планирование твитов по времени...
30 09 2026 0:49:41
Кейс: новинки в продвижении рекламы интернет-магазина в контекстно-медийной сети Google...
29 09 2026 6:35:51
Данные, приведенные в исследовании, могут помочь в составлении медиапланов по продвижению в интернете. Читать дальше....
28 09 2026 10:20:23
Узнаем расширенную информацию о посещениях сайта с помощью языка R — кейс Netpeak...
27 09 2026 11:13:16
Спикер ОА Петр Аброськин рассказал всем читателям блога о фишках настройки ремаркетинга в контекстной рекламе и социальных сетях...
26 09 2026 17:44:25
Правила, законы, платное и бесплатное продвижение в Telegram...
25 09 2026 15:34:50
Каждый владелец знает, что залог успеха эффективного продвижения кампаний — качественная ежедневная оптимизация, а эксперименты — путь к новым горизонтам и еще более качественным результатам...
24 09 2026 9:22:37
Инструкция по интеграции рекламной кампании с чат-ботом...
23 09 2026 10:13:30
Пять примеров дизайна, который помогает продавать в рассылках. Просто любуемся и тренируем насмотренность....
22 09 2026 6:26:57
Пришло такое время — обновить данные, тем более что в начале сентября появилось исследование Google....
21 09 2026 22:41:48
Десять вопросов, которые чаще всего задают люди, столкнувшиеся с необходимостью создания landing page....
20 09 2026 18:30:52
Энн Смарти (Ann Smarty), пожалуй, самая известная публичная личность в мире контент-маркетинга и поискового продвижения. За несколько лет она прошла путь от SEO-блогера до главного редактора авторитетного Search Engine Journal и CEO одного из самых популя...
19 09 2026 21:16:35
О том, как рассчитать коэффициент ROI (ROMI) для выявления эффективности и прибыльности рекламных кампаний...
18 09 2026 6:45:35
Мы решили организовать серию вебинаров по SEO и предоставить их бесплатно. История о том, как с нуля при минимуме затрат создать успешный онлайн-курс...
17 09 2026 16:34:57
Правильная постановка целей, задач и дедлайна — основа успешной работы...
16 09 2026 18:21:59
Взяли интервью у нашего клиента — магазина климатической техники Mircli.ru. Поговорили о том, как клиенту и подрядчику лучше взаимодействовать....
15 09 2026 18:52:52
Как добавить свою рекламу через поисковый сервис с картинками в Google....
14 09 2026 16:44:15
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::