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

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

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

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



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

На что ориентироваться при составлении бюджета на рекламу

На что ориентироваться при составлении бюджета на рекламу Что делать перед составлением рекламного бюджета — инструкция для предпринимателей...

12 07 2026 17:42:10

Недостатки популярных CMS интернет-магазинов: 1C-Битрикс, Magento, OpenCart, WooCommerce, CS-Cart

Недостатки популярных CMS интернет-магазинов: 1C-Битрикс, Magento, OpenCart, WooCommerce, CS-Cart Как новичкам в ecommerce выбрать первую CMS. Преимущества и трудности работы для крупных и небольших интернет-магазинов, русскоязычные и мультиязычные, с активной техподдержкой и без нее. Узнать больше!...

11 07 2026 8:39:52

Какова длина идеального текста для Интернета?

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

10 07 2026 7:51:58

CEO of Ringostat Александр Максименюк: кому и зачем нужен Call Tracking

CEO of Ringostat Александр Максименюк: кому и зачем нужен Call Tracking 79% владельцев смартфонов, если верить Google, используют их для покупок или заказов услуг. Это более двух миллиардов человек. Ничего удивительного, что даже Google запустил собственный сервис Call Tracking. Кому и зачем жизненно важно отслеживать звонки...

09 07 2026 12:50:10

5 главных трендов в социальных сетях в 2022 году

5 главных трендов в социальных сетях в 2022 году Хотите раскрутить свои соцсети в 2022 году? Тогда уже сейчас нужно задуматься, что будете публиковать. В статье расскажем, какой контент будет в тренде в будущем году....

08 07 2026 1:45:10

Обзор Netpeak Spider 2.1: классификация ошибок, выбор параметров, новая логика работы с результатами

Обзор Netpeak Spider 2.1: классификация ошибок, выбор параметров, новая логика работы с результатами Встречайте Netpeak Spider 2.1 — программу, предназначенную для обнаружения и уничтожения ошибок внутренней оптимизации сайта. Мы хотим, чтобы 4 августа 2016 года запомнилось вам как «День кроулинга»!...

07 07 2026 2:34:45

Массовые изменения в Google Ads Editor

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

06 07 2026 10:57:52

Как создать портрет покупателя — руководство для бизнеса от SEMrush

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

05 07 2026 1:58:44

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

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

04 07 2026 17:18:56

12 функций таблиц Google для работы с семантикой

12 функций таблиц Google для работы с семантикой + таблица с примерами использования каждой функции....

03 07 2026 9:41:24

Запускаем блоги на орбиту — МКС от Netpeak

Запускаем блоги на орбиту — МКС от Netpeak Грамотный контент важен для всех, но особенно — для аутсорсов и стартапов в B2B. Если вы согласны с этим, давайте делать медиа....

02 07 2026 5:30:32

Звуковые уведомления в Facebook основаны на аккорде Fmaj7, ноты которого — FACE

Звуковые уведомления в Facebook основаны на аккорде Fmaj7, ноты которого — FACE История от первого лица про звуковые сигналы в Facebook....

01 07 2026 18:11:15

Как настроить Google ***ytics — инструкция для новичков

Как настроить Google ***ytics — инструкция для новичков Шаги, которые необходимо выполнить для правильного сбора и анализа данных сайта...

30 06 2026 18:55:33

Что дают Google AMP: опыт поисковика недвижимости Flatfy

Что дают Google AMP: опыт поисковика недвижимости Flatfy О том, какие результаты дает эта технология, рассказал Александр Иванов, Head of Product в ЛУН.ua в рамках прошлогодней самой летней конференции 8P. Читайте, как его комaнде удалось разогнать загрузку страниц сервиса Flatfy до 0,2 секунды...

29 06 2026 1:57:13

«Покажи свою работу»: рассказ сооснователя и управляющего партнера агентства Netpeak

«Покажи свою работу»: рассказ сооснователя и управляющего партнера агентства Netpeak Андрей Чумаченко про будни топ-менеджера, постановку, декомпозицию, помощь и контроль выполнения задач сотрудниками комaнд, которые входят в состав департамента маркетинга, а также о регулярных встречах и тонкостях работы. Узнать больше!...

28 06 2026 21:36:58

Скрам-система — внедрить и отказаться. Опыт компании Boosta

Скрам-система — внедрить и отказаться. Опыт компании Boosta Внедрение скрама, чтобы решить проблемы в управлении бизнесом, год работы на нем и отказ от методологии. Читайте об опыте Boosta, которая объединяет 9 SEO-комaнд на удаленке....

27 06 2026 0:49:20

Уроки Google ***ytics, часть 3. Работа с данными

Уроки Google ***ytics, часть 3. Работа с данными Продолжаем уроки по Google ***ytics для новичков. Сегодня рассмотрим основные моменты, касающиеся отчетов....

26 06 2026 1:22:30

От идеи роутера для цифровых кочевников до продаж на Amazon — история Nommi и фаундеров компании

От идеи роутера для цифровых кочевников до продаж на Amazon — история Nommi и фаундеров компании Nommi — сокращение от nomadic MiFi: роутер для современных цифровых кочевников...

25 06 2026 8:16:31

Семь улучшений Netpeak: #напальцах и Netpeak Cloud. Выпуск четвертый

Семь улучшений Netpeak: #напальцах и Netpeak Cloud. Выпуск четвертый Как изменилось агентство Netpeak c августа по октябрь? Читайте о семи главных нововведениях и улучшениях в работе с клиентами....

24 06 2026 14:29:54

11 пpaктически применимых фишек по SEO и арбитражу трафика — итоги круглого стола 8P 2019

11 пpaктически применимых фишек по SEO и арбитражу трафика — итоги круглого стола 8P 2019 Панельная дискуссия, на которой специалисты представляют нестандартные идеи для привлечения трафика, продвижения проектов. Всё, что можно применить на деле. Читать!...

23 06 2026 6:39:38

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

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

22 06 2026 9:36:54

Кейс по SERM для DOM.RIA. Как работать с репутацией и за четыре месяца убрать негатив в топ-10.

Кейс по SERM для DOM.RIA. Как работать с репутацией и за четыре месяца убрать негатив в топ-10. Крупным брендам не избежать негатива в сети. Но с ним можно и нужно работать. Читайте успешный кейс для DOM.RIA....

21 06 2026 20:32:12

17 полезных кейсов от спикеров 8P

17 полезных кейсов от спикеров 8P Нашим решением было трaнcлировать хотя бы часть опыта спикеров 8P, составив дайджест лучших, на их взгляд, кейсов, о которых они узнали за этот год....

20 06 2026 16:19:58

Аукцион рекламы в Facebook: всё, о чем вы стеснялись спросить

Аукцион рекламы в Facebook: всё, о чем вы стеснялись спросить Рекламные аукционы Фейсбук заточены поднимать объявление с наивысшей итоговой ценностью — это главное отличие от классических аукционов...

19 06 2026 9:37:33

Как BuzzSumo заработал $2,5 миллиона за первый год — growth-кейс для SaaS

Стив Рейсон назвал 20 уроков, которые BuzzSumo усвоил на пути к топу самых популярных сервисов для контент-маркетологов....

18 06 2026 11:47:56

Анализ сезонности на примере ниши доставки цветов

Анализ сезонности на примере ниши доставки цветов Занимайтесь оптимизацией определенной категории товаров за полгода до скачка спроса....

17 06 2026 9:29:46

А вы убрали вредоносный контент? Или как быстро Google может понизить сайт в выдаче

А вы убрали вредоносный контент? Или как быстро Google может понизить сайт в выдаче До понижения в органической выдачи Гугл у сайта есть около 15 дней с момента появления сообщения о вредоносном контенте....

16 06 2026 15:29:35

Как быстро и без страданий сделать главную страницу сайта — MVP-подход

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

15 06 2026 19:24:33

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

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

14 06 2026 15:15:57

Как составить техзадание по крауд-маркетингу для сайтов услуг

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

13 06 2026 19:29:35

Как правильно продвигать приложение в странах арабского мира

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

12 06 2026 16:20:30

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413%

SEO-продвижение интернет-магазина строительных товаров в Украине — рост трафика на 121% и дохода на 413% Мы достигли поставленных на старте продвижения целей: вернули потерянный трафик, получили дальнейший рост видимости сайта и увеличили доход....

11 06 2026 18:58:46

Netpeak в гостях у Leo Burnett Ukraine

Netpeak в гостях у Leo Burnett Ukraine В семье Leo Burnett - 7750 человек из 84-х стран мира. В Украине всего - 90 творческих единиц....

10 06 2026 2:21:24

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

Кейс: учим поисковый движок распознавать грамматические ошибки Что поможет написать объявление без грамматических ошибок? В недрах агентства Netpeak рождается новый полезный сервис...

09 06 2026 1:53:45

Контекстная реклама для SaaS-продукта: как легко измерять в бизнес-показателях эффективность контекстной рекламы

Как правильно рассчитать окупаемость рекламных кампаний SaaS-продуктов, получить по ним четкую аналитику, и что делать дальше....

08 06 2026 8:23:18

Зачем нужен медиаплан и как его составить?

Зачем нужен медиаплан и как его составить? Чтобы и клиенту не стыдно было показать и свои ожидания не обмануть....

07 06 2026 20:40:45

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

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

06 06 2026 19:36:34

Мобильное приложение для ecommerce — как правильно рассчитать ресурсы при разработке, чтобы повысить продажи

Несколько полезных советов перед запуском. Tрaнcпорт и путешествия, ритейл, медиа и развлечения — тематики, в которых чаще используют мобильные приложения. Есть и другие факторы популярности приложений. Узнать!...

05 06 2026 0:32:48

Сторителлинг как маркетинговый приём

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

04 06 2026 15:59:31

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

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

03 06 2026 21:32:57

10 творческих задач на собеседовании Wieden+Kennedy в интернете

10 творческих задач на собеседовании Wieden+Kennedy в интернете 10 заданий, которые заставят пошевелить мозгами и придумать нестандартные решения. Используйте их (видоизмените, адаптируйте) под свой продукт или услугу. Создайте крутую кампанию, креатив или предложите это своей комaнде....

02 06 2026 7:51:38

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

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

01 06 2026 13:50:45

Как ищут во Франции: исследование кликабельности в органическом поиске Google

Анализ данных о 7,6 миллионах поисковых запросов в французском Google...

31 05 2026 5:37:26

Денис Довгаль — интервью о видеоконтенте и удаленке до пандемии

Денис Довгаль — интервью о видеоконтенте и удаленке до пандемии Создатель студии рисованных видео Денис Довгаль — о тактике видеомаркетинга и жизни в стиле «цифровых кочевников»....

30 05 2026 4:48:22

Как увеличить трафик блога на 1136% и привлечь тысячи новых пользователей — кейс блога Ahrefs

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

29 05 2026 4:21:50

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743%

SEO-продвижение интернет-магазина по продаже аксессуаров для путешествий: ROMI 743% Результаты грамотного внедрения технического SEO-аудита...

28 05 2026 13:34:26

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

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

27 05 2026 21:15:15

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

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

26 05 2026 12:53:57

Интересные Telegram-каналы о бизнесе

Интересные Telegram-каналы о бизнесе От идеи для стартапа до плана развития и масштабирования бизнеса. Познавательные, полезные каналы, которые помогут реализовать смелые бизнес-цели. Узнать больше!...

25 05 2026 4:12:27

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

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

24 05 2026 22:27:42

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