Перейти к основному содержимому

Разработка 9 октября 2026г. 8 мин чтения

Что такое интеграция по API: объясняем на заявках и складе

Заказчику говорят "нужна интеграция по API", и на этом объяснение обычно заканчивается. Разбираем, что такое API-интеграция, какие данные она гоняет между сайтом и другими программами и почему она стоит дороже, чем ещё одна страница.

Заказчику говорят "нужна интеграция по API", и на этом объяснение обычно заканчивается. Разбираем, что такое API-интеграция, какие данные она гоняет между сайтом и другими программами и почему она стоит дороже, чем ещё одна страница.

Разговор чаще всего начинается так: клиент видит в смете строку "обмен с CRM, 60 000 рублей" и не понимает, за что платит. Заявка ведь просто перекладывается из формы в карточку. Логика понятная, но она не учитывает вторую сторону обмена, которую мы не контролируем.

Что такое API, если объяснять без кода

API - это дверь, через которую одна программа обращается к другой по заранее описанным правилам. Человек кнопку не нажимает: запрос отправляет и принимает программа.

Ближайшая бытовая аналогия - окно выдачи на складе. Ходить по стеллажам самому нельзя, вы подаёте бумажку с номером, кладовщик приносит коробку или отвечает "такого номера нет". Формат бумажки задан заранее, самодеятельность не принимается.

Обмен устроен так же. Сайт подаёт запрос в оговорённом виде, а на той стороне отвечают данными или отказом. Половина работы в интеграции это не программирование, а согласование того, как именно выглядит бумажка.

Два направления обмена, и они разной сложности

Заказчики обычно говорят "интеграция" про всё сразу, хотя это два разных куска работы с разной ценой.

Сайт отправляет. Заявка из формы уходит в CRM и становится сделкой с ответственным менеджером. Заказ из корзины падает в учётную систему как документ. Данные о посылке уезжают в службу доставки, оттуда возвращается номер отправления. Это направление проще: мы сами формируем данные, знаем их состав и отвечаем за качество.

Сайт получает. Остатки со склада, актуальные цены, статус заказа для личного кабинета, список пунктов выдачи, история покупок клиента. Здесь мы зависим от чужой системы: как она отдаёт данные, как часто, что делает при обновлении, что присылает вместо цены на товар без цены.

Второе направление почти всегда дороже. Отправить заявку в amoCRM можно за пару дней, а забрать номенклатуру из 1С и разложить её по категориям сайта - отдельный проект, разбирали его в статье про интеграцию сайта с 1С.

Как выглядит путь одной заявки

Без кода, но по шагам. Человек заполнил форму и нажал кнопку.

  1. Сайт собирает данные в структуру: имя, телефон, комментарий, страница, с которой пришла заявка, метки рекламной кампании.
  2. К запросу прикладывается ключ доступа. Это длинная строка, которую выдаёт принимающая система, чтобы понимать, кто к ней стучится. Ключ хранится на сервере и в браузер не попадает.
  3. Запрос уходит на конкретный адрес и метод - что-то вроде "создать сделку". У каждой системы свой набор методов, они описаны в документации.
  4. Приходит ответ. Хороший ответ содержит идентификатор созданной сделки: значит, запись есть и её можно найти. Плохой ответ содержит код и текст ошибки.

Ошибки бывают трёх типов. Отказ по данным ("телефон в неверном формате") лечится правкой на нашей стороне. Отказ по доступу требует нового ключа. Отказ по доступности означает, что вторая сторона легла, и заявку надо повторить позже.

На третьем пункте и ломаются дешёвые интеграции: обмен без обработки сбоев работает до первого технического окна у CRM, а потом заявки уходят в никуда.

Сразу или по расписанию

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

Что обменивается Как лучше Почему
Заявка с формы Сразу Менеджер должен перезвонить в первые минуты
Заказ из корзины Сразу Клиент ждёт подтверждения
Остатки товаров Раз в час или ночью Ассортимент меняется медленнее, чем кажется
Цены Ночью Массовая переоценка днём мешает работе
Статусы доставки Раз в 15-30 минут Клиенту достаточно этой точности
Новые товары и описания Ночью Требует проверки контентом

Мгновенный обмен дороже: нужна очередь, повторные отправки и защита от того, чтобы сайт не подвешивал посетителя в ожидании чужого сервера. Ночная выгрузка делается проще и на многих проектах закрывает задачу полностью.

Отдельный случай - личный кабинет клиента, где данные тянутся из учётной системы прямо в момент открытия страницы. Про требования к нему писали в разборе личного кабинета на сайте.

Что делает интеграцию дорогой

Цену задают пять вещей, и ни одна из них не про красоту сайта.

Нестандартный формат данных. Если на той стороне цена лежит строкой со словом "руб", а количество бывает отрицательным, каждый такой случай обрабатывают отдельно.

Отсутствие документации. Самописная система без описания методов означает, что программист выясняет правила через переписку с её автором. Это недели вместо дней, и срок заранее не предскажешь.

Сопоставление справочников. Самая недооценённая часть. На сайте категория называется "Смесители для кухни", в 1С она "Санттехн. изд. гр. 4", единицы измерения не совпадают, у товара три артикула. Пока таблицы соответствия не составлены, обмен невозможен.

Обработка сбоев. Надо решить, что делать с заявкой, которая не ушла: сколько раз повторять и куда складывать окончательно неудачные.

Разграничение, кто главный. Если цену меняют и на сайте, и в учётной системе, при следующем обмене одна из правок затрётся. Правило "цены из учётной системы, описания с сайта" фиксируют письменно до начала работ.

Что закладывать в работу обязательно

Три пункта, без которых интеграцию нельзя считать сделанной. Они добавляют к смете 15-25 процентов и окупаются на первом же сбое.

Логирование. Каждый запрос и ответ сохраняются с датой. Когда клиент говорит "заявка не дошла", лог за две минуты отвечает, ушла она и что ответила CRM. Без логов начинается перекладывание вины между подрядчиками.

Уведомление о сбое. Если обмен не прошёл, сообщение уходит ответственному сотруднику. Молчащая интеграция опаснее сломанной: она теряет заявки неделями.

Ручная повторная отправка. Кнопка в админке "отправить ещё раз" рядом с неудачной заявкой. Стоит недорого, а спасает, когда CRM полдня была недоступна и накопилось тридцать обращений.

Сроки и порядок цен

Цифры по нашим проектам 2026 года. Диапазоны широкие намеренно: половину стоимости задаёт вторая сторона обмена.

Задача Срок Порядок цены
Формы сайта в CRM с метками рекламы 2-4 дня 15 000 - 40 000 руб.
Заказы из корзины в учётную систему 5-10 дней 40 000 - 90 000 руб.
Остатки и цены с сайта из 1С 2-4 недели 80 000 - 250 000 руб.
Расчёт доставки и создание отправлений 5-12 дней 35 000 - 120 000 руб.
Личный кабинет с данными из учётной системы от 4 недель от 200 000 руб.

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

Сценарии по конкретным системам разобраны отдельно: amoCRM, службы доставки. Если CRM ещё не выбрана, полезно сначала прочитать сравнение систем: менять её после настроенного обмена дороже, чем выбрать один раз.

Что спросить у подрядчика перед стартом

Короткий список вопросов, который снимает большинство будущих споров.

  • Есть ли у второй системы официальная документация по API и открыта ли она? Если нет, кто и в какие сроки даёт описание методов.
  • Кто на стороне второй системы отвечает за доступы и вопросы по данным. Нужна фамилия, а не "поддержка 1С".
  • Какие поля передаются и в какую сторону. Список полей на бумаге, до начала работ.
  • Что считается источником истины по ценам, остаткам, описаниям.
  • Как часто идёт обмен и что происходит, если вторая сторона недоступна.
  • Где смотреть логи и кто получает уведомления о сбоях.
  • Входит ли в цену тестирование на реальных данных, а не на трёх выдуманных товарах.
  • Что делаем, если API второй стороны изменится: правки по часовой ставке или в рамках поддержки.
  • Сколько заявок или товаров в сутки обмен должен выдерживать. Выгрузка на 200 позиций и на 40 000 позиций делается по-разному.

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

Чего ждать от интеграции по деньгам

Обмен данными не приносит заявок сам по себе, он убирает ручную работу и ошибки переноса. Считать выгоду проще всего в часах: если менеджер тратит два часа в день на перенос заказов и правку остатков, за год набегает около 500 часов. На этом фоне сумма в 80 000 рублей за обмен выглядит иначе, чем в первый момент.

Если система самописная и без документации, закладывайте запас по времени и делайте работу этапами: сначала одно направление, потом второе.

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

Частые вопросы

Что такое API простыми словами?

Это описанный набор правил, по которым одна программа обращается к другой: что можно спросить, в каком формате прислать данные и что придёт в ответ. Человек в обмене не участвует, запрос отправляет и принимает программа. Для владельца бизнеса важно одно: если у системы есть API, сайт может забирать из неё данные и складывать туда свои.

Сколько стоит интеграция сайта с CRM?

Передача заявок с форм сайта в популярную CRM обходится в 15 000 - 40 000 рублей и делается за несколько дней. Двусторонний обмен товарами, ценами и остатками с учётной системой стоит от 80 000 рублей и занимает недели. Разброс большой, потому что цену задаёт не сайт, а вторая сторона: качество её документации и формат данных.

Что делать, если у нужной программы нет API?

Варианта три. Обмен файлами по расписанию: одна сторона выкладывает выгрузку, другая её забирает. Промежуточный сервис-коннектор, если для этой пары систем он существует. Ручной ввод, если объём небольшой. Файловый обмен работает годами и стоит дешевле, минус в том, что данные обновляются не мгновенно.

Нужно ли обновлять остатки на сайте в реальном времени?

Не всегда. Реальное время нужно там, где товар штучный или заканчивается за часы: билеты, места, дефицитные позиции. При стабильном ассортименте достаточно обновления раз в час или раз в сутки ночью, а на карточке товара показывать статус "в наличии" вместо точного числа. Это заметно дешевле в разработке и мягче для сервера.

Вопросы читателей по теме

Все вопросы и ответы

Нужен сайт по этой теме?

Расскажите о задаче – вернёмся с расчётом и предложением структуры.