Что такое API простыми словами
Представьте окно выдачи в столовой. Вы не заходите на кухню, а говорите в окно, что нужно, и получаете тарелку. API — такое же окно у сервиса: CRM, платёжной системы, мессенджера. Сервис сам решает, какие запросы принимает, а программа-клиент отправляет запрос по правилам и получает ответ.
Чтобы сервис понимал, кто к нему обращается, у каждого подключения есть ключ доступа — токен. Это как пароль от Вашего аккаунта: кто знает токен бота, тот управляет ботом.
Обмен идёт в две стороны. Ваша система может сама спросить сервис, например «какой статус у платежа?». А может получать уведомления: сервис сам присылает сообщение, когда что-то произошло. Такие уведомления называют вебхуками.
Какие интеграции нужны малому бизнесу
| Связка | Что происходит автоматически | Что это даёт |
|---|---|---|
| Сайт → CRM и Telegram | Заявка с формы создаёт сделку, менеджеру приходит уведомление | Заявка не теряется в почте, видно, кто её взял |
| Платёжная система → сайт или CRM | Оплата меняет статус заказа, клиенту уходит чек или доступ | Не нужно сверять оплаты вручную |
| Авито → CRM | Чаты по объявлениям приходят в Вашу систему, ответ уходит покупателю на Авито | Все переписки в одном месте, видно, сколько дошло до сделки |
| CRM → документы | Из карточки клиента собирается КП, договор или счёт | Реквизиты подставляются из карточки, а не перепечатываются вручную |
| Учётная система → сайт | Цены и наличие обновляются на сайте из учёта | Цены на сайте совпадают с учётом |
| Сервисы → отчёт | Данные из CRM, рекламы и Метрики собираются в одну таблицу | Видно, откуда приходят клиенты и сколько они стоят |
Для Авито у API есть условия: чаты через API доступны только на определённых тарифах. Подробно разобрали в статье автоответ на Авито.
Готовый коннектор или своя интеграция
Многие связки есть в готовом виде: встроенные интеграции CRM, модули для CMS, сервисы-коннекторы, где сценарий собирают мышкой. Если готовая связка делает ровно то, что нужно, это самый дешёвый путь.
Своя интеграция нужна, когда:
- ▸готового коннектора между Вашими системами нет;
- ▸коннектор передаёт не все поля или не умеет нужное условие: «если сумма больше X — назначить старшего менеджера»;
- ▸связка критична для денег, и нужен контроль: журнал, повтор при сбое, уведомление об ошибке;
- ▸подписка на коннектор с ростом числа операций стоит дороже разработки.
На чём ломаются интеграции
Интеграция, которую настроили и забыли, рано или поздно тихо перестаёт работать. Заметить это обычно удаётся по жалобе клиента. Вот что мы проверяем в каждой связке:
- ▸Повторные уведомления. Например, ЮKassa повторяет уведомление об оплате в течение 24 часов, пока Ваш сервер не ответит кодом 200. Если система не умеет узнавать повтор, один платёж создаст два заказа.
- ▸Поддельные уведомления. Сообщение «оплата прошла» может прислать кто угодно. Поэтому статус платежа сверяют запросом к самой платёжной системе, а не верят уведомлению на слово.
- ▸Ключи в открытом коде. Если токен бота или ключ CRM вставить прямо в код сайта, его увидит любой посетитель. Ключи хранятся только на сервере.
- ▸Лимиты запросов. У сервисов есть ограничения на число запросов в минуту. При всплеске заявок часть запросов отклоняется, и их нужно отправить повторно, а не потерять.
- ▸Сбой одной из сторон. CRM обновилась, у сервиса поменялся формат, истёк ключ. Нужен журнал обмена и уведомление об ошибке, а не тишина.
Пример: заявка с этого сайта
Форма заявки на aiorkestrator.ru не отправляет данные из браузера прямо в Telegram — иначе токен бота оказался бы в коде страницы. Заявка уходит на наш сервер в России. Там сервер проверяет согласие и формат контакта, отсекает ботов, ограничивает число отправок, сохраняет заявку и только потом пересылает её в рабочий Telegram.
Если Telegram временно недоступен, заявка не пропадает: она уже сохранена и уйдёт при следующей попытке. Эти пять шагов и отличают связку, которая переживает сбой, от связки, которая работает до первой ошибки.
Как заказать интеграцию и что подготовить
Для оценки нам нужны названия систем, доступ к их документации или тарифу, список полей, которые надо передавать, и примерный объём: сколько заявок, заказов или сообщений в день. По этому видно, хватит ли готового коннектора или нужна своя связка.
Мы проектируем обмен целиком: что происходит при повторе, ошибке и недоступности сервиса, где хранится журнал и кто получает уведомление о сбое. Состав работ — на странице автоматизация бизнес-процессов, связки с учётом клиентов — в разделе CRM-система. Опишите, какие сервисы нужно связать, — скажем, можно ли обойтись готовым решением и сколько будет стоить своя связка.