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

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

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

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



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

Как бороться с битыми ссылками

Как бороться с битыми ссылками Много 404-страниц и ссылок на них негативно сказывается на ранжировании сайта в поисковых системах....

19 07 2026 12:20:37

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

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

18 07 2026 2:12:15

Первый рабочий день в Netpeak

Первый рабочий день в Netpeak Что ждет новичка в его первый день работы в Netpeak — подарки, первые задачи и традиции компании. Все, что нужно знать, чтобы меньше волноваться и влиться в коллектив. Узнать больше!...

17 07 2026 11:43:31

120 пунктов продающей мобильной версии сайта — чек-лист

120 пунктов продающей мобильной версии сайта — чек-лист Пора сделать так, чтобы мобильная версия сайта приносила прибыль....

16 07 2026 19:37:33

Как оптимизировать страницу 404

Как оптимизировать страницу 404 Значит так, делаем из лимонов лимонад — «выжимаем» максимум из ошибки 404...

15 07 2026 8:53:57

Контекстная реклама для сервиса доставки пиццы в Украине — ROMI 616% за 4 месяца

Контекстная реклама для сервиса доставки пиццы в Украине — ROMI 616% за 4 месяца Поисковая реклама для службы доставки еды — пpaктические советы, как выделиться на фоне конкурентов в популярной нише. На примере харьковской доставки пиццы мы покажем, как правильно продавать еду. Читайте в статье!...

14 07 2026 5:50:57

Digital стратег Даша Шигаева о работе, отчетах и киборгах

Digital стратег Даша Шигаева о работе, отчетах и киборгах Работа — рекламировать. Интервью с директором по стратегии агентства Smartica/Skykillers....

13 07 2026 19:59:12

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

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

12 07 2026 13:15:32

Текстовая релевантность: как проверить и исправить. Инструкция для новичков

Текстовая релевантность: как проверить и исправить. Инструкция для новичков Как проверить качество текста от копирайтера. Составляем техническое задания для копирайтера, проверяем уникальность, наличие ключевых слов, использование LSI, проводим семантический анализ текста....

11 07 2026 8:59:30

Как рекламировать криптовалюты — 10 советов предпринимателям

Как рекламировать криптовалюты — 10 советов предпринимателям Как сформировать правильную стратегию продвижения и сфокусировать внимание на получении прибыли...

10 07 2026 20:35:53

Как снизить стоимость транзакций на 48% с помощью автоматических стратегий в Google Рекламе — кейс Citrus.ua

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

09 07 2026 9:20:29

Контекст-стратегия: купил и полетел

Чтобы привлечь представителей малого и среднего бизнеса, мы разработали стратегии по контекстной рекламе. Это открывает двери агентства Netpeak проектам с самым скромным бюджетом...

08 07 2026 19:22:20

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

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

07 07 2026 3:52:28

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

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

06 07 2026 16:17:34

Плотность ключевых слов — как определить релевантность документа ключевому запросу

SEOmoz создал систему, которая определяет релевантность страницы поисковому запросу....

05 07 2026 13:29:58

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

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

04 07 2026 17:29:29

Игры на память и внимание: о работе мозга и «прокачивании скиллов»

Игры на память и внимание: о работе мозга и «прокачивании скиллов» Про работу мозга и запоминание из книги Торкеля Клинберга «Информационный поток и пределы рабочей памяти» и обзор игр Lumosity....

03 07 2026 9:54:24

Семь улучшений Netpeak: скрипт GetLeads и PPC для брендинга. Выпуск второй

Семь улучшений Netpeak: скрипт GetLeads и PPC для брендинга. Выпуск второй В третьем квартале Netpeak внедрил множество крутых улучшений. Мы подробно расскажем о семи самых интересных новостях....

02 07 2026 12:33:35

Как получить контакты клиентов в Facebook с помощью чат-бота ManyChat

Инструкция по интеграции рекламной кампании с чат-ботом...

01 07 2026 1:29:48

Как рекламировать промоакции в Google Ads и увеличить доход на 54,7% — кейс Citrus.ua

Как рекламировать промоакции в Google Ads и увеличить доход на 54,7% — кейс Citrus.ua Тонкости настройки предпраздничной рекламной промо кампании на примере Citrus.ua....

30 06 2026 21:14:16

Как загрузить данные из API Google ***ytics в R: часть 2

Пример использования пакета google***yticsR от Марка Эдмондса...

29 06 2026 22:15:34

Поведенческая экономика и три принципа мотивации человека

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

28 06 2026 22:26:12

Контекстная реклама в тематике «междугородняя грузоперевозка»

Контекстная реклама в тематике «междугородняя грузоперевозка» Междугородние перевозки и их реклама. Кейс Павла Верлана...

27 06 2026 11:44:11

SEO-среда: Основные инструменты веб-мастера

SEO-среда: Основные инструменты веб-мастера Пройдем вместе путь вебмастера от первых шагов и до вершины ТОПа :)...

26 06 2026 21:14:45

Оптимизация ремаркетинга в Facebook — подробное руководство

Оптимизация ремаркетинга в Facebook — подробное руководство Как вернуть на сайт как можно больше пользователей...

25 06 2026 22:19:13

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху

DMCA-алгоритм Google: закон об авторском праве в цифровую эпоху Что значит всемирное обновление DMCA-алгоритма и приведет ли оно к полноценной защите авторских прав?...

24 06 2026 0:55:25

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок

RFM-анализ: три параметра для сверхточной сегментации базы email-рассылок RFM — это аббревиатура слов Recency, Frequency, Money — новизна, частота, деньги. То есть считаем, как давно клиент купил товар в последний раз, сколько всего покупок он сделал и сколько денег принес нам за все время заказов....

23 06 2026 16:35:23

Как отслеживать эффективность email-рассылки: главные метрики, которые нужно фиксировать

Как отслеживать эффективность email-рассылки: главные метрики, которые нужно фиксировать За какими метриками следует пристально следить в email-рассылках...

22 06 2026 9:36:37

Что такое макет сайта и для чего он нужен

Что такое макет сайта и для чего он нужен Дизайн макета сайта должен полностью соответствовать представлениям о готовом ресурсе. Создать его можно с помощью онлайн-сервисов, стационарных программ либо через HTML-код...

21 06 2026 14:37:19

Лучшие программы для редактирования подкастов

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

20 06 2026 19:14:37

Как провести контент-аудит сайта — пошаговое руководство

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

19 06 2026 14:48:16

Ведем паблик Facebook в режиме новостного медиа. MVP-эксперимент Netpeak Journal

Ведем паблик Facebook в режиме новостного медиа. MVP-эксперимент Netpeak Journal У нас было 500 вечнозеленых постов и желание понять алгоритм ленты Facebook....

18 06 2026 3:59:30

Как заявить права на сайт в Google Merchant Center

Как заявить права на сайт в Google Merchant Center Здесь не нужно часами собирать семантику, прописывать уйму расширений и создавать максимально релевантные объявления под каждый товар, а потому вам нужен этот понятный и короткий мануал! Читайте дальше!...

17 06 2026 10:21:16

Как открыть офис в Индии и не облажаться

История Affise от фаундера компании, рассказанная на SaaS Nation....

16 06 2026 7:45:14

Семь улучшений Netpeak: услуга SMM, продвижение в Telegram, Big Data SEO и продвижение мобильных приложений

Шесть новых услуг. Читайте подробнее о возможностях PBN, Big Data SEO, продвижения в Телеграм и мобильных приложений, исследований рынка, SMM для вашего бизнеса. А также хорошая новость и ещё одна услуга для тех, кому нжно комплексное мобильное продвижение...

15 06 2026 7:11:17

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

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

14 06 2026 18:17:50

Откуда же берутся скидки в Google Рекламе

Откуда же берутся скидки в Google Рекламе Рекламные заголовки в гугл адвордс так и пестрят предложениями контекстной рекламы бесплатно — вы когда-нибудь задумывались о том, откуда берутся эти «подарки»?...

13 06 2026 12:38:54

Группировка ключевых фраз для рекламных кампаний — подробный обзор методов

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

12 06 2026 12:35:16

Google Search Console: регистрация и обзор полезных для SEO-специалиста разделов и функций

Google Search Console: регистрация и обзор полезных для SEO-специалиста разделов и функций Перво-наперво для мониторинга ошибок SEO-специалист открывает вебмастерку с подсказками Google — она же панель вебмастеров, она же Google Search Console...

11 06 2026 4:21:28

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

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

10 06 2026 5:33:42

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak

Анонимный покупатель на страже роста продаж — опыт агентства Netpeak И эксперт, и агент. Анонимный покупатель — специальная проверка бизнес-процессов до и во время рекламной кампании...

09 06 2026 4:52:32

Сленг — словарь в помощь бумерам для работы со стартаперами и маркетологами

Сленг — словарь в помощь бумерам для работы со стартаперами и маркетологами Слорварь сленга, без которого к 25-летним не подходи...

08 06 2026 13:51:49

Диагностика фидов — как быстро обнаружить и исправить ошибки программистов

Диагностика фидов — как быстро обнаружить и исправить ошибки программистов Распространенные ошибки в XML-фидах Google и Яндекс, CSV-фидах и как исправить их своими силами. Используем Notepad++, отладчик ленты Facebook и Excel. Узнать больше!...

07 06 2026 3:49:25

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

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

06 06 2026 22:39:18

Как настроить автоматическое обновление отчетности из Google ***ytics, Google Search Console и Serpstat

Как настроить автоматическое обновление отчетности из Google ***ytics, Google Search Console и Serpstat SEO-dashboard для сбора данных в Google-таблицы и отправка отчетов по email. Решение, которое поможет заметить глобальные изменения в потоках трафика. Узнать больше!...

05 06 2026 19:40:35

Артем Борисов из Яндекс.Казахстан: казахстанцам нужен качественный контент на родном языке

Артем Борисов из Яндекс.Казахстан: казахстанцам нужен качественный контент на родном языке Почему встречаются низкие показатели переходов на сайты по всем источникам трафика? Нет рекламодателей, которые могут предложить пользователям те или иные товары и услуги....

04 06 2026 7:50:52

24 способа эффективно использовать поисковые операторы Google

24 способа эффективно использовать поисковые операторы Google Как операторы поисковых запросов Google помогают при продвижении сайта и анализе конкурентов....

03 06 2026 3:41:34

Как быстро собрать данные из блока People also ask в Google

Мануал для SEO-специалистов, как автоматизировать сбор данных из блока People also ask (Пользователи также ищут). Это блок, который показывается в верхней части страницы результатов поиска. Он нужен, чтобы уточнить запрос пользователя....

02 06 2026 11:29:29

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

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

01 06 2026 15:54:55

Эффект «Хода королевы» — как выросла популярность и доход шахматных приложений

Эффект «Хода королевы» — как выросла популярность и доход шахматных приложений Сериал «Ход королевы» взорвал интерес к шахматам, и вот насколько сильно...

31 05 2026 12:42:13

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