Как получать данные от сторонних сервисов — создаем вебхук с помощью Google Apps Scripts > NetPeak - Независимость и осознанность
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) ;}

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

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

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



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

Изменение поведения: факторы влияния

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

26 04 2024 9:24:59

Буба и кики — тест для развития креативного мышления

Буба и кики — тест для развития креативного мышления На этой картинке изображены два предмета. Один из них называется «буба», а второй «кики»....

25 04 2024 3:27:15

Все, что вы боялись спросить о семантической разметке

Таблица общих для Google и Яндекс микроформатов инсайде...

24 04 2024 5:51:18

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

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

23 04 2024 5:41:33

Кейс Yves Rocher: как сформировать спрос на новую косметику с помощью видеорекламы

Кейс Yves Rocher: как сформировать спрос на новую косметику с помощью видеорекламы Какие форматы видеорекламы логичнее купить для создания спроса на новую продукцию? Выясняем на примере кейса бренда Yves Rocher...

22 04 2024 0:29:28

Google Tag Manager: актуальные и неочевидные фишки

Google Tag Manager: актуальные и неочевидные фишки Активно юзая Google Tag Manager, узнали много нового о dataLayer и методах отслеживания статистики в Google ***ytics для SPA-сайтов и лендингов. Об этом и расскажем...

21 04 2024 0:52:39

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

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

20 04 2024 22:30:52

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

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

19 04 2024 6:48:28

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

Комикс о проверке гипотез и человеческом факторе Отрывок из книги «Статистика: базовый курс в комиксах» Грейди Клейн и Алана Дебни...

18 04 2024 0:33:49

Карантин 2020 — как сохранить здоровую психику

Карантин 2020 — как сохранить здоровую психику Самопомощь по тревоге во время карантина и экономического кризиса...

17 04 2024 19:18:34

Как составить поисковые объявления для Google Ads и Яндекс.Директ

Как составить поисковые объявления для Google Ads и Яндекс.Директ Правила, требования, особенности. А ещё примеры, которые помогут создать правильную, с точки зрения поисковиков, рекламу. Читать!...

16 04 2024 19:32:29

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

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

15 04 2024 3:12:24

Как анализировать эффективность рекламы в Google ***ytics? Часть третья: пользовательские сегменты

Как анализировать эффективность рекламы в Google ***ytics? Часть третья: пользовательские сегменты Зачем нужны пользовательские сегменты клиентов и как их создавать — читайте в завершающей части серии «Как анализировать эффективность рекламы в Google ***ytics?»...

14 04 2024 22:51:24

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

Готовы ли вы доверить основные настройки кампании автоматическим алгоритмам?...

13 04 2024 17:53:12

Продвижение мобильного приложения — шпаргалка для строителей воронок продаж

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

12 04 2024 2:57:48

Как настроить фид данных в обновленном Google Merchant Center

Как настроить фид данных в обновленном Google Merchant Center Мы уже писали о Google Shopping, в каких странах он доступен и как его настроить. В этом посте я покажу один из способов создания и загрузки фида данных. Это важный этап подготовки к запуску Google Shopping...

11 04 2024 19:39:17

Как автоматизировать работу комaнды поддержки — кейс Netpeak Cluster и ПланФикс

Как автоматизировать работу комaнды поддержки — кейс Netpeak Cluster и ПланФикс Когда саппорт-отдел не справляется, подключайте к работе ПланФикс и Телеграм....

10 04 2024 2:40:33

Зачем нужна платформа Apple Search Ads при продвижении мобильного приложения

Зачем нужна платформа Apple Search Ads при продвижении мобильного приложения Реклама в ASA значительно повышает эффективность ASO....

09 04 2024 22:45:25

Семь улучшений Netpeak: новые предложения по контекстной рекламе для Казахстана, SEO для СМИ и Академия блога

Семь улучшений Netpeak: новые предложения по контекстной рекламе для Казахстана, SEO для СМИ и Академия блога Новости для наших существующих и потенциальных клиентов....

08 04 2024 23:50:46

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

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

07 04 2024 23:11:18

Атрибуция Facebook: для чего нужна и как настроить

Атрибуция Facebook: для чего нужна и как настроить Как отслеживать конверсии при многокaнaльном взаимодействии покупателя с вашим сайтом? Читайте далее...

06 04 2024 0:21:55

Топ расширений Google Chrome для ASO-специалиста

Топ расширений Google Chrome для ASO-специалиста Chrome Extensions экономят время тех, кто продвигает мобильные приложения...

05 04 2024 16:45:53

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

Кейс по контекстной рекламе портала-каталога организаций: как оптимизация целевых страниц повлияла на поведенческие факторы Портал-каталог организаций и его продвижение. В этом кейсе мы детальнее остановимся на выгодах для проекта от синергии усилий клиента и агентских специалистов по контекстной рекламе...

04 04 2024 15:52:57

Как добавить товары на Яндекс.Маркет — руководство для интернет-магазинов

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

03 04 2024 22:55:26

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

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

02 04 2024 10:32:58

Как написать обзор товара

Как написать обзор товара Структура обзора, правила написания и важные хаpaктеристики этого формата. Подача информации в обзоре и запрещенные методы, которые отпугнут клиентов. Узнать больше!...

01 04 2024 9:17:10

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

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

31 03 2024 1:53:54

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

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

30 03 2024 2:19:13

Как специалисту по контекстной рекламе прокачать soft skills

Как специалисту по контекстной рекламе прокачать soft skills 5 важных навыков для новичков в PPC: как учиться, чтобы стать экспертом; секреты тайм-менеджмента, мотивации; тонкости оптимизации рабочего процесса. Узнать больше!...

29 03 2024 0:15:20

Песочница Netpeak: бесплатная площадка для ваших статей

Рассказываем о том, что такое Песочница, как сюда писать и получать больше аудитории для своего бизнеса...

28 03 2024 14:20:22

Как быстро перенести кампании из Google Рекламы в Директ

Как быстро перенести кампании из Google Рекламы в Директ Как перенести рекламные кампании из адвордс в директ, используя только Google Editor и Директ Коммaндер? Делимся быстрым и эффективным методом...

27 03 2024 4:23:38

Как настроить ремаркетинг в контекстной рекламе и социальных сетях? Пpaктика и кейсы

Как настроить ремаркетинг в контекстной рекламе и социальных сетях? Пpaктика и кейсы Спикер ОА Петр Аброськин рассказал всем читателям блога о фишках настройки ремаркетинга в контекстной рекламе и социальных сетях...

26 03 2024 21:44:49

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

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

25 03 2024 9:17:23

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

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

24 03 2024 4:10:21

Портрет SEO-специалиста 2019: результаты опроса Serpstat

Профессиональный уровень SEO-специалиста в штатных комaндах редко определяется конкретной категорией (Junior, Midle, Senior). Но большинство считает себя мидлами. Узнать больше!...

23 03 2024 10:18:53

Как обучать комaнду по методу 70:20:10

Как эффективно распределять бюджет и ресурсы на обучение сотрудников. Статья будет полезной для собственников бизнеса и HR-специалистов....

22 03 2024 0:49:26

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей

«Волшебный пинок»: вдохновение от знаменитостей. 11 мотивирующих речей Джефф Безос, Стив Джобс, Билл Гeйтс, Джимм Керри и другие. Собрали для вас подборку крутых выступлений людей, которые знают, как добиться ... в общем-то, всего. Читайте их основные тезисы, а главное — послушайте....

21 03 2024 6:10:37

Продвижение интернет-магазина с помощью Google Рекламы: первые шаги

Продвижение интернет-магазина с помощью Google Рекламы: первые шаги Какие типы кампаний и ключевых слов стоит первыми запускать в Google Рекламе? Советы новичкам...

20 03 2024 19:30:30

Пасхалки Google — интересные и полезные возможности поисковика, о которых вы не знали

Пасхалки Google — интересные и полезные возможности поисковика, о которых вы не знали Забавные и полезные штуки от Google и как их найти...

19 03 2024 9:13:54

Как настроить отслеживание событий в Google ***ytics 4

Как настроить отслеживание событий в Google ***ytics 4 Подробное руководство по настройке отслеживания событий в GA4...

18 03 2024 16:48:46

Кейс по SMM в тематике «посуда»: фотоконкурс для стимуляции активности в сообществе

Кейс по SMM в тематике «посуда»: фотоконкурс для стимуляции активности в сообществе Фотоконкурс для стимуляции активности в сообществе, прироста фанов и поощрения лояльной аудитории....

17 03 2024 17:44:48

Как настроить вычисляемые показатели в Google ***ytics

Как настроить вычисляемые показатели в Google ***ytics Для эффективной оценки работы кампаний не обойтись без вычисляемых показателей. Они экономят время PPC-специалиста и позволяют правильно анализировать рекламные кампании....

16 03 2024 22:59:19

Кейс по продвижению интернет-магазина женской одежды

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

15 03 2024 10:39:26

Первопроходцы в нише ремонта мобильных телефонов в Казахстане — история Satel.kz

Первопроходцы в нише ремонта мобильных телефонов в Казахстане — история Satel.kz Satel является одним из топовых игроков онлайн-маркета, но на старте интернет в качестве канала продаж не рассматривался. Когда онлайн запустили на полную? Узнать!...

14 03 2024 17:35:17

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

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

13 03 2024 0:46:24

10 расширений для Google Chrome в помощь SEO-специалистам

10 расширений для Google Chrome в помощь SEO-специалистам Отключение и удаление элементов, расширенные настройки, интересные дополнения и многое другое в нашем материале про мир SEO расширений....

12 03 2024 11:51:31

5 вопросов: нужно ли вам статейное продвижение

Наталья Воскобойникова из контент-студии WordFactory решила дать четкую хаpaктеристику потенциальному заказчику гостевых постов. Если хотя бы один ваш ответ на вопросы в этом посте отрицательный, стоит найти другие тактики продвижения своего проекта....

11 03 2024 2:37:51

Как сделать разработчикам приятно — опыт Netpeak

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

10 03 2024 9:39:20

Правила преобразования фидов в Google Merchant Center

Правила преобразования фидов в Google Merchant Center Правила преобразования фидов в Google Merchant Center помогут сегментировать товары и сделать вашу рекламу более эффективной...

09 03 2024 23:15:44

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

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

08 03 2024 2:27:28

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