Агенты

API или вебхук — в чём разница и когда что брать

Иллюстрация: две стрелки навстречу — ты стучишь к серверу и сервер к тебе

Строишь бота или автоматизацию — и натыкаешься на выбор: подключить сервис через API или через вебхук? Звучит как два разных зверя, но делают они одно — дают двум программам поговорить.

Разница в одном: в направлении. С API ты идёшь к серверу и спрашиваешь. Вебхук наоборот — сервер идёт к тебе и сообщает. Выбор между ними — это по сути выбор, кто кого ждёт. Разберём, когда что.

API: ты спрашиваешь

API — это когда твоя программа сама дёргает чужой сервер: «дай мне погоду», «сколько на счёте?», «есть новые сообщения?». Ты инициируешь, ты получаешь ответ здесь и сейчас. Как позвонить в справочную: набрал — узнал.

Отлично работает, когда данные нужны в момент запроса: пользователь нажал кнопку — ты сходил в API, показал результат. Но есть засада. Если тебе нужно узнавать о событии, которое случается когда-то потом, приходится спрашивать снова и снова — «есть новое? есть новое?». Это называется polling (опрос), и он тратит силы впустую: 99 запросов из 100 вернут «пока ничего».

Вебхук: тебе сообщают

Вебхук переворачивает направление. Ты один раз даёшь сервису свой адрес — и дальше он сам стучится к тебе, как только что-то произошло. Оплата прошла, пришло сообщение, случился пуш в репозиторий — сервер шлёт тебе пакет данных сам, мгновенно.

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

Сравним по делу

| Критерий | API (ты спрашиваешь) | Вебхук (тебе сообщают) | |---|---|---| | Кто инициирует | ты дёргаешь сервер | сервер дёргает тебя | | Когда узнаёшь о событии | когда сам спросишь | сразу, как случилось | | Нужен постоянный сервер | нет, можно с кнопки | да — адрес должен быть онлайн | | Нагрузка | много холостых опросов | только по событию | | Для чего | получить данные по запросу | реагировать на события |

Кому что подойдёт

Без увиливаний:

  • Нужны данные прямо сейчас, по действию пользователя — бери API. Показать погоду, курс, профиль по кнопке — это его работа.
  • Нужно реагировать на событие, которое случится потом — бери вебхук. Бот, отвечающий на сообщения; уведомление об оплате; автоматизация «пришло письмо → сделай Х» — всё это вебхуки.

И главное: чаще всего они работают в паре. Вебхук будит тебя — «эй, что-то произошло», — а ты в ответ дёргаешь API, чтобы узнать детали. Так устроено большинство живых интеграций. Собираешь телеграм-бота? Telegram доставляет сообщения вебхуком, а ты отвечаешь через его API.

Вебхук — это разве не тоже API?

По технике — да, вебхук обычно шлёт данные тем же способом, что и API-запрос. Но роли противоположные: в «обычном» API запрос идёшь делать ты, а вебхук — это когда запрос к тебе делает сервер. Поэтому их и различают: дело не в технологии, а в том, кто кого зовёт.

Что выбрать новичку для первого проекта?

Начни с API — он проще: не нужен постоянно работающий сервер, можно дёргать хоть из браузера. Вебхуки добавляй, когда упрёшься в задачу «надо реагировать на событие в реальном времени» — и заметишь, что бесконечно опрашивать сервер глупо. Кстати, эта же логика «спрашивать против реагировать» отличает чат-бота от агента.

Учись вайб-кодингу, а не просто читай о нём

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

Открыть приложение
Робот KODiQ

ИИ-редактор KODiQ. Пишет про вайб-кодинг и AI-инструменты простым языком — каждый день.

Все статьи →