Ошибка многих проектов — выбирать технологию “на глаз”. Заявки передают одним webhook, каталог обновляют вручную, остатки выгружают раз в сутки, а статусы заказа возвращают без проверки ошибок. В итоге данные опаздывают, события теряются, менеджеры работают вручную, а сайт показывает неактуальные цены или статусы.
Способ интеграции нужно выбирать по бизнес-сценарию: какие данные передаются, насколько быстро они должны обновляться, что будет при ошибке и какая система считается главным источником данных.
Почему способ интеграции нужно выбирать до разработки
Интеграция — это не просто “подключить API”. Это договорённость между системами: кто отправляет данные, кто принимает, как часто происходит обмен, где фиксируются ошибки и что делать, если одна из систем временно недоступна.
Если не описать эту логику заранее, проблемы появятся после запуска. Заявка может не попасть в CRM, заказ может не уйти в 1С, остаток может обновиться с задержкой, а клиент увидит статус, который не соответствует реальности.
Перед выбором способа обмена нужно определить:
- какие данные передаются между системами;
- какая система является главным источником данных;
- как быстро данные должны обновляться;
- что делать, если передача не удалась;
- нужно ли хранить историю обмена;
- кто отвечает за проверку ошибок;
- как восстановить данные после сбоя.
Какие данные обычно передаются между сайтом и системами
В большинстве проектов сайт обменивается несколькими типами данных: заявками, заказами, товарами, ценами, остатками, статусами, оплатами, доставкой и клиентскими данными.
| Данные | Примеры | Куда передаются | Что важно учесть |
|---|---|---|---|
| Заявки | Форма, имя, телефон, email, комментарий | CRM / Битрикс24 | Скорость передачи и защита от дублей |
| Заказы | Товары, клиент, доставка, оплата, сумма | 1С / МойСклад / CRM | Надёжность и контроль ошибок |
| Остатки | Склад, количество, резерв | Сайт | Частота обновления и риск продажи отсутствующего товара |
| Цены | Розничные, оптовые, акционные, персональные | Сайт / личный кабинет | Типы цен и правила отображения |
| Статусы | Принят, оплачен, собран, отгружен, доставлен | Сайт / клиент / CRM | Понятная карта статусов |
Один способ обмена не всегда подходит для всех данных. Заявку в CRM нужно передать быстро. Каталог можно обновлять пакетно. Остатки требуют частой синхронизации. Статусы лучше возвращать тогда, когда в системе произошло реальное событие.
REST API: управляемая передача данных
REST API — это способ, при котором одна система обращается к другой и запрашивает или отправляет данные. Например, сайт может отправить заказ в CRM, запросить статус оплаты, получить список товаров или обновить данные клиента.
Этот подход удобен, когда нужно управлять логикой обмена: выбрать поля, дождаться ответа, обработать ошибку, проверить результат и не отправить один заказ дважды.
REST API хорошо подходит для:
- передачи заказов и заявок;
- интеграции с CRM, оплатой или доставкой;
- получения статуса из внешней системы;
- работы личного кабинета;
- гибких сценариев с проверкой ответа.
Минус в том, что API нужно проектировать. Недостаточно знать адрес метода: важно понимать обязательные поля, статусы ответа, таймауты, повторы, авторизацию и логи.
Webhooks: реакция на событие
Webhook — это способ сообщить другой системе о событии. Не сайт постоянно спрашивает “что изменилось?”, а система сама отправляет сигнал, когда произошло действие: отправлена форма, прошла оплата, изменился статус сделки или создана задача менеджеру.
Webhook подходит, когда важна быстрая реакция:
- новая заявка с формы;
- оплата заказа;
- изменение статуса сделки;
- уведомление от доставки;
- событие в CRM или личном кабинете.
Главный риск webhook — потеря события. Если принимающая система временно недоступна, запрос может не обработаться. Поэтому нужны логи, повторные попытки, проверка подписи, защита от дублей и понятный регламент обработки ошибок.
Обмен по расписанию: регулярная синхронизация
Обмен по расписанию — это регулярная синхронизация данных. Например, сайт раз в 15 минут получает остатки, раз в час обновляет цены или ночью загружает большой каталог товаров.
Такой подход часто используют для 1С, МойСклад, складских систем и больших каталогов. Он подходит там, где данные можно обновлять пакетно и не каждое изменение требует мгновенной реакции.
Минус расписания — задержка. Если остатки обновляются раз в час, сайт может показывать данные, которые уже устарели. Частота обмена должна зависеть от оборота товаров, риска ошибок и критичности данных.
REST API, webhooks и расписание: сравнение
Один способ не лучше другого во всех случаях. REST API, webhooks и обмен по расписанию решают разные задачи и в сложных проектах часто используются вместе.
| Способ | Когда подходит | Плюсы | Ограничения |
|---|---|---|---|
| REST API | Нужно управляемо запросить или отправить данные | Гибкость, контроль, понятная логика запроса | Нужна обработка ошибок и повторов |
| Webhooks | Нужна реакция на событие | Быстрая передача события, меньше лишних запросов | Событие можно потерять без логов и retry-механики |
| Обмен по расписанию | Данные можно обновлять регулярно и пакетно | Удобен для каталога, цен, остатков и больших объёмов | Данные обновляются с задержкой |

Как выбрать способ интеграции под задачу
Выбирать нужно не технологию, а сценарий. Для формы важна быстрая передача в CRM. Для остатков важна актуальность. Для большого каталога важна стабильная пакетная обработка. Для статуса заказа важна понятная обратная связь клиенту.
| Задача | Лучше использовать | Почему |
|---|---|---|
| Передача заявки в CRM | Webhook или REST API | Событие должно быстро попасть менеджеру |
| Передача заказа | REST API + обработка ошибок | Важна надёжность и контроль результата |
| Обновление остатков | Расписание или API | Выбор зависит от оборота товаров |
| Массовая выгрузка каталога | Обмен по расписанию | Большие объёмы удобнее обновлять пакетно |
| Обновление статуса заказа | Webhook или REST API | Клиент должен видеть актуальный статус |
| Интеграция с оплатой | Webhook + проверка через API | Нужно получить событие и подтвердить его достоверность |
Для критичных данных нельзя полагаться только на один слабый механизм. Например, уведомление об оплате можно принять через webhook, а затем дополнительно проверить статус платежа через API.
Комбинированная схема для сложных проектов
В реальных проектах редко хватает одного подхода. Интернет-магазин может получать каталог и остатки по расписанию, отправлять заказы через REST API, принимать статусы оплаты через webhook и сверять данные ночной синхронизацией.
Пример схемы:
- каталог товаров обновляется по расписанию из 1С или МойСклад;
- остатки обновляются чаще, чем описания и изображения;
- заказ с сайта передаётся в CRM или 1С через API;
- оплата подтверждается webhook-событием;
- статус доставки возвращается на сайт после изменения;
- ночью запускается сверка, чтобы найти расхождения.

Такая архитектура сложнее, чем “подключить один API”, но она надёжнее: разные типы данных получают разные правила обмена и обработки ошибок.
Типовые ошибки интеграций
Большинство проблем появляется не из-за отсутствия API, а из-за слабой архитектуры обмена.
| Ошибка | Последствие | Как предотвратить |
|---|---|---|
| Нет логов | Ошибку сложно найти | Логировать запросы, ответы, статусы и время обмена |
| Нет повторных попыток | Событие теряется при временном сбое | Настроить retry-механику и очередь ошибок |
| Нет единого источника данных | Сайт, CRM и учётная система показывают разные значения | Назначить главную систему для каждого типа данных |
| Всё делается одним способом | Интеграция становится хрупкой | Комбинировать REST API, webhooks и расписание по задачам |
| Не описаны статусы | Клиент и менеджер видят разные состояния заказа | Согласовать карту статусов до разработки |
Что подготовить перед интеграцией сайта
Перед разработкой нужно собрать не только доступы, но и описание бизнес-логики: список систем, перечень данных для передачи, главный источник для каждого типа данных, частоту обновления товаров, цен и остатков, правила передачи заказов, карту статусов, требования к логам, регламент ошибок и сценарии проверки после запуска.
Чем лучше описана логика, тем проще выбрать правильный способ обмена. Иногда достаточно webhooks. Иногда нужен REST API. Иногда оптимален обмен по расписанию. В сложных проектах обычно нужна комбинированная схема.
Вывод
REST API, webhooks и обмен по расписанию — это разные инструменты для разных задач. REST API даёт контроль, webhooks помогают быстро реагировать на события, а расписание удобно для регулярной синхронизации больших объёмов данных.
Выбор зависит от бизнес-сценария. Заявки, заказы, остатки, цены, статусы, оплата и доставка требуют разной логики обмена. Если выбрать способ случайно, интеграция будет работать нестабильно или создаст ручную работу там, где должна была её убрать.
DevAstro проектирует API-интеграции для сайтов, интернет-магазинов и B2B-порталов: связывает сайты с CRM, 1С, МойСклад, Битрикс24, оплатой, доставкой, аналитикой и внутренними системами бизнеса. Подробнее: API-интеграции .
Частые вопросы
Что выбрать: REST API, webhooks или обмен по расписанию?
REST API подходит для управляемых запросов, webhooks - для событий почти в реальном времени, обмен по расписанию - для регулярной синхронизации больших или не срочных данных. Часто используется комбинация подходов.
Когда webhooks лучше обмена по расписанию?
Webhooks лучше, когда важно быстро реагировать на событие: новый заказ, изменение статуса, оплата, заявка или обновление клиента. Но для надежности нужны подписи, повторы, очереди и обработка ошибок.
Почему одной API-документации недостаточно?
Кроме методов API нужно описать бизнес-правила: что является источником данных, какие статусы допустимы, что делать при дублях, ошибках, таймаутах, частичном обмене и ручных изменениях.
Как сделать интеграцию поддерживаемой?
Нужны логи, мониторинг, уведомления, повторные попытки, тестовый контур, документация и контрольные сценарии. Тогда сбой можно быстро найти и исправить без ручного разбора всех заказов.
Можно ли сочетать API, webhooks и обмен по расписанию?
Да. API подходит для команд и запросов, webhooks — для событий, расписание — для массовой сверки. Комбинация часто надёжнее одного механизма, если заранее определить восстановление после сбоев.
Зачем интеграции идемпотентность?
Сеть и внешние сервисы могут заставить повторить запрос. Идемпотентность гарантирует, что повтор не создаст второй заказ, платёж или клиента и вернёт результат уже выполненной операции.






