Если попытаться отыскать краткое объяснение термина «вебхук» (webhook), в разных источниках вы найдете подобные определения:
-
способ отправки уведомлений пользователю веб-сайта,
-
HTTP-запрос, отправка которого происходит в момент, когда наступает определенное событие,
-
программный код, который позволяет отслеживать наступление изменений на одном ресурсе и передавать данные о них на другой.
В принципе, все эти определения верны. И все они говорят о том, что webhook можно охарактеризовать как механизм, с помощью которого сервисы и приложения могут обмениваться данными друг с другом в режиме реального времени. Главное отличие вебхука от API — отсутствие необходимости у сервиса-потребителя отправлять запросы, чтобы отслеживать нужные ему события. Здесь за это отвечает сервис-отправитель: как-только наступает определенное событие, автоматически запускается вебхук и отправляет данные на адрес (адреса, которые заданы в его настройках).
Где используется webhook: 5 примеров
В принципе, вебхук — это механизм, который может применяться практически везде, где необходимо обеспечить отправку сообщений о событиях в реальном времени из одной системы в другую. Соответственно, областей и сценариев его применения можно перечислить немало.
Вот несколько примеров использования вебхука для решения задач реального бизнеса:
-
Работа с платежными операциями. С помощью рассматриваемого механизма можно настроить, например, мгновенную отправку уведомлений о проведении новых транзакций в систему, которой это необходимо (бухгалтерские приложения, платежные системы и так далее).
-
Уведомления в мессенджерах, приложениях социальных сетей и не только. Вебхуки отлично подходят для отправки уведомлений о новых сообщениях или событиях в мессенджерах и приложениях: когда у вас на телефоне, например, появляется очередной popup с уведомлением от какого-то приложения, скорее всего к этому «причастен» webhook.
-
Автоматизация контент-маркетинга и управления контентом. С помощью вебхуков, например, можно настроить, например, автоматическую публикацию новых постов в социальных сетях или на других площадках, когда они появляются в вашем блоге или на сайте.
-
Мониторинг систем. Webhooks часто используются при организации немедленной отправки данных о произошедших событиях, которые мониторятся, ошибки, сбои в системе и пр. Они позволяют добиться быстрой реакции, когда она важна.
-
Синхронизация сервисов. Рассматриваемый механизм подходит для автоматической синхронизации событий и задач между календарями, встроенными в различные сервисы, которые каким-то образом взаимодействуют друг с другом или объединены в единую экосистему.
А что насчет телефонии? Здесь вебхуки тоже активно используются
В IP-телефонии тоже хватает кейсов, в которых необходимо обеспечить отправку сообщений о событиях в режиме реального времени. А значит, и вебхуки в данной области — это своего рода необходимость для решения определенных задач.
Уведомления о звонках
С использованием вебхуков можно настроить отправку уведомлений о входящем или исходящем звонке в другие системы. Это могут быть, например CRM или Helpdesk. При этом время отправки может быть разным:
-
В момент поступления исходящего вызова. Это будет полезно, например, если нужно оповестить о звонке реального оператора, который должен выполнить в зависимости от этого определенные действия (например, это полезно при сопровождении стажеров, когда важно обеспечить их «подстраховку» более опытными коллегами).
-
Во время разговора. Отправка сообщений в течение разговора, будет полезна, например, для их анализа в реальном времени.
-
После звонка. Один из вариантов использования вебхука таким образом — инициирование отправки записи разговора в хранилище или систему анализа (расшифровки).
Управление звонками через API
Вебхуки можно использовать как элементы системы автоматизации управления звонками через API. Например, с их помощью можно автоматически начинать и завершать звонки. Также web hook будет полезен и при перенаправлении вызовов в корпоративной IP АТС.
Этот механизм также используется в телефонии для обновления в реальном времени информации о статусе операторов (менеджеров). Эта информация требуется, в том числе и при работе систем автоматизации управления звонками в корпоративных АТС.
Интеграция IP-телефонии с внешними системами
Корпоративные виртуальные АТС могут быть интегрированы с различными внешними системами. Webhook в этом кейсе позволяет наладить отправку в них информации о событиях в реальном времени. Примеры использования этого механизма при интеграции ВАТС и внешних систем:
-
Взаимодействие IP-телефонии и CRM. С помощью вебхука можно, например, настроить автоматическое открытие карточки абонента (если он зарегистрирован в CRM).
-
Системы аналитики, статистики и пр. Как вариант, этот механизм может использоваться при автоматическом создании отчетов. После завершения звонка вебхук может отправлять данные о продолжительности разговора и другие параметры в соответствующие системы.
-
Тикет-системы и их аналоги. С помощью рассматриваемого механизма можно наладить, например, автоматическое создание тикета при звонке в службу поддержки и его связывание с соответствующим телефонным номером (либо карточкой клиента, если она заведена в системе).
Webhook и голосовой секретарь для корпоративной IP-телефонии
Вариант организации автосекретаря на вебхуках подходит, например, для случаев, когда нужно обеспечить автоматизацию информирования клиентов о заказах, балансе и т.д. по звонку. Принцип работы секретаря в этом случае заключается в том, что звонящему после прослушивания приветствия предлагается ввести номер (заявки, заказа, счета и так далее). Этот номер обрабатывается системой и пользователь получает ответ. Т.е. webhook — это возможность автоматизировать некоторые операции общения с пользователями, не нагружая ими реальных операторов.
Как создать вебхук
Во многих случаях для создания webhook не требуется писать код. Многие системы (например CRM Битрикс24) позволяют делать это прямо в интерфейсе администратора. Флоу добавления нового вебхука для интеграции системы IP-телефонии и CRM-системы может выглядеть следующим образом:
-
Создание в CRM входящего вебхука. По нему система будет получать данные от ВАТС о звонках. Они нужны для того, чтобы отобразить в CRM информацию о звонке (карточку звонка). При создании входящего вебхука генерируется токен доступа, который будет использоваться системой телефонии (виртуальной АТС), с которой настраивается интеграция.
-
Создание в СRM исходящего webhook. Через этот механизм осуществляются телефонные звонки из CRM-системы. Как правило, при его работе звонок из системы сначала от CRM поступает на внутренний номер сотрудника компании, а затем происходит звонок клиенту («от имени» этого сотрудника).
-
Настройки на стороне ВАТС (системы телефонии). В зависимости от провайдера или системы они могут выполняться через графический интерфейс, либо через консоль. Помимо множества других настроек, здесь указывается токен и адрес для исходящего и входящего вебхуков, который были получены на предыдущих шагах.
Подобные схемы настройки могут использоваться и в других типах систем, не только в CRM.
Какие особенности нужно учесть при использовании webhook
Работа в реальном времени и относительная простота — весомые преимущества рассматриваемого механизма. Но есть и нюансы, которые нужно учитывать при его использовании:
- Если целевой сервер, на который доставляются оповещения, временно недоступен или есть какие-то проблемы с сетью, вебхуки могут не доставить уведомления. Какого-то механизма проверки факта получения от целевой системы здесь нет. Это следует учитывать и, возможно, как-то «прикручивать» проверку.
- Также есть вопросы к масштабированию систем, использующих вебхуки. При их росте и увеличении объемов пересылаемых данных могут возникать проблемы из-за роста требований к серверам, на которых размещается система, отправляющая сообщения. В отдельных случаях есть смысл посмотреть в сторону других механизмов, обеспечивающих обмен уведомлениями между системами.
- Проблемы могут возникать и на стороне клиента (системы, которая принимает сообщения). Они могут быть связаны, например, со слишком высокой частотой отправки уведомлений, с которой целевая система просто не справляется.
- Есть ограничения и по объемам данных, которые могут передаваться с помощью web hook. Если речь идет о по-настоящему больших объемах, этот механизм может не справляться с задачей. В таком случае есть смысл смотреть в сторону API.
- Конечно же, следует уделять внимание обеспечению безопасности при использовании вебхуков. Для этого рекомендуют использовать HTTPS, шифрование, индивидуальные URL, надежные механизмы авторизации (например, Basic Auth), а также проверки подлинности запросов.
Видно, что вебхук — это полезный механизм. Если вам нужно организовать отправку уведомлений о событиях в режиме реального времени, он хорошо подходит для этого. Главное — учесть особенности передающей и принимающей сведения систем, а также все нюансы и присущие webhook особенности в области безопасности (и не только).
Дмитрий Быков
- 10 апреля 2024, 17:11 0 ↓Митя
- 23 августа 2024, 10:21 0 ↓