Что такое вебхук?
Простыми словами:
Вебхук — это инструмент для обмена данными между различными сервисами.
Немного сложнее:
Вебхук (Webhook) — это механизм, с помощью которого один веб-сервис автоматически отправляет HTTP-запрос вида POST на URL другого сервиса при возникновении определенного события.
Вебхуки широко используются, в том числе в платёжных системах, службах доставки и мессенджерах. Их часто сравнивают с запросами по API, однако принцип действия вебхука отличается.
Принцип работы
Вебхук автоматизирует процессы в веб-приложениях следующим образом:
- Пользователь оплатил подписку на онлайн кинотеатр
- Платёжная система отправляет вебхук на URL онлайн кинотеатра с данными об оплате
- Если платёжная система не получила ответ 200 ОК, то вебхук отправляется повторно
- Онлайн кинотеатр обрабатывает полученный вебхук: обновляет базу данных и выдаёт пользователю подписку
- Пользователь возвращается со страницы оплаты в онлайн кинотеатр и наслаждается просмотром любимых сериалов
Как правило, для уведомлений выбирают формат JSON, так как он компактный и легко читается:
Безопасность
Чтобы злоумышленники не могли подменить вебхук, перехватить или повторить его, нужно аутентифицировать входящие POST-запросы, зашифровать их и проверить их временную метку. Существует минимальный набор механизмов защиты, которые помогут справиться со всеми наиболее распространенными проблемами.
Подведем итоги
Вебхук — это автоматически сгенерированный HTTP-запрос, который отправляется сервером при наступлении события.
Вебхуки работают быстро и в одну сторону, без необходимости отправлять запросы вручную.
Они часто используются для уведомлений о важных событиях, например, об оплате счета или бронировании билета.
Главное отличие вебхука от API — вебхук срабатывает автоматически при событии, а API требует запроса со стороны клиента.
У вебхуков есть проблемы: возможная потеря данных при сбоях, уязвимости безопасности и сложности масштабирования при большом объёме событий.
Разработаем IT-решение для вашего бизнеса, переходите на наш сайт