Заметка объяснение · 6 минут

API, вебхук и интеграция простыми словами

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

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

Что такое интеграция

В компании обычно несколько систем: сайт принимает заявки, CRM хранит клиентов, учётная система ведёт заказы, таблица считает отчёты. Пока они не связаны, человек переносит данные между ними руками: скопировал заявку из письма в CRM, пересчитал заказ в таблице. Это долго, и в этих переносах чаще всего происходят ошибки.

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

API: меню в ресторане

Представьте ресторан. Вы не идёте на кухню и не готовите сами. У вас есть меню: там написано, что можно заказать, как это называется и что нужно сказать официанту. Вы делаете заказ по правилам, а что происходит на кухне, вам знать не обязательно.

API — это меню программы: что у неё можно попросить, в каком виде и что она ответит.

Так же устроен API. У программы есть «окно», через которое другая программа может попросить: «покажи заказы за сегодня», «создай клиента с таким именем», «измени статус сделки». Всё это делается по заранее описанным правилам, поэтому не нужно трогать внутренности и ничего не ломается.

У API есть три важные особенности, о которых стоит знать заказчику:

  • Доступ по ключу. Просто так программу не попросишь: нужен ключ или токен, как пропуск. Ключ выдаёт владелец системы и может отозвать.
  • Лимиты. Часто можно сделать не больше определённого числа запросов в минуту или день. Для маленькой компании это обычно не проблема, для больших объёмов надо проверять.
  • Версии. Сервис может обновить правила, а старые закрыть. Это одна из причин, по которым автоматизация ломается даже тогда, когда ничего не трогали.

Вебхук: не спрашивать, а ждать сообщения

Есть два способа узнать, что в системе что-то произошло. Первый: спрашивать каждые несколько минут, не появилось ли новое. Это называется опрос. Он простой, но бестолковый: почти все запросы впустую, а новое событие обнаруживается с задержкой.

Второй способ: попросить систему самой сообщить, когда событие случится. Вы заранее оставляете адрес: «когда придёт новая заявка, отправь сюда сообщение». Это и есть вебхук. Событие произошло, система сразу отправила его на ваш адрес, и ваша автоматизация проснулась.

  • Опрос — как каждые пять минут проверять почтовый ящик. Надёжно, но медленно и расточительно.
  • Вебхук — как уведомление на телефоне: письмо пришло, и вы узнали сразу.

Вебхук быстрее и дешевле опроса, но требует аккуратности: если ваша сторона в момент события не работала, сообщение можно потерять. Хорошие системы повторяют отправку несколько раз, но предусмотреть это нужно заранее, например настроить уведомление о сбоях.

Пример: одна заявка, три системы

Допустим, клиент оставляет заявку на сайте. Что происходит при хорошей интеграции:

  • сайт по вебхуку сообщает: «пришла заявка»;
  • автоматизация через API создаёт карточку в CRM и записывает строку в таблицу;
  • менеджеру уходит уведомление в мессенджер со ссылкой на карточку;
  • если один из шагов не получился, ответственному приходит сообщение о сбое, а не тишина.

Всё это занимает секунды и не требует, чтобы человек что-то копировал. Такие цепочки мы и собираем: как связать сервисы между собой и как не терять заявки.

Есть ли API у вашей системы

У большинства современных систем — CRM, учёта, рассылок, мессенджеров — API есть, но не у всех и не всегда на вашем тарифе. Бывает, что возможности ограничены: можно читать данные, но нельзя записывать, или доступно только на платном тарифе. Поэтому первое, что мы делаем, — смотрим, что именно ваша система позволяет, а потом выбираем способ связи. Если API нет совсем, бывают обходные пути: выгрузка файлов, импорт по расписанию, подключение через готовые блоки конструкторов. Какие бывают конструкторы.

Пять вопросов, которые стоит задать до интеграции

  • Есть ли у каждой системы API и достаточно ли его возможностей на вашем тарифе?
  • Какие данные и в каком направлении должны идти: только читать или ещё и записывать?
  • Что произойдёт, если одна из сторон временно недоступна: потеряются данные или система повторит попытку?
  • Кто получит уведомление, если связка перестала работать?
  • Где хранятся ключи доступа и можно ли быстро отозвать их, если сотрудник ушёл?

Если на эти вопросы есть ответы, интеграция будет надёжной. Если нет, лучше выяснить это до начала работы, а не после первого сбоя.