В этой статье на примерах разберём, что такое REST API, какие возможности он открывает для интернет-магазинов на 1С-Битрикс, и как правильно организовать интеграции.
Что такое REST API и зачем он нужен
REST API — это набор правил, по которым разные программы обмениваются данными через интернет. Он работает по модели «запрос — ответ» (клиент отправляет запрос, сервер возвращает ответ в формате JSON) и использует стандартные HTTP-методы — GET (чтение), POST (создание), PUT (обновление), DELETE (удаление). Главное преимущество REST API в том, что он не привязан к языку программирования: с ним могут работать любые приложения — от фронтенда на React до мобильных приложений и серверов на Python. Именно REST API лежит в основе большинства современных интеграций между сайтами и внешними сервисами, будь то передача заказов в 1С, обмен данными с онлайн-кассой или мобильное приложение интернет-магазина.
REST API в 1С-Битрикс (управление сайтом и Битрикс24)
Отличия между версиями
Важно понимать: в «Битрикс24» (облачная CRM) REST API встроен из коробки — там есть удобный интерфейс для генерации вебхуков, документация и готовые SDK. Всё это доступно прямо в интерфейсе портала.
В 1С-Битрикс: Управление сайтом (коробочная CMS для интернет-магазинов) ситуация иная. «В Битрикс24 есть удобный интерфейс для генерации вебхуков. В 1С-Битрикс: Управление сайтом нужно создавать свою страницу управления, т.к. интерфейс для генерации ключей отсутствует». Это важное отличие, которое нужно учитывать при планировании интеграций.
Доступ к данным инфоблоков
Для того чтобы получить доступ к данным инфоблока через REST API, нужно выполнить несколько шагов:
- Убедиться, что модуль REST API (rest) установлен и активен (Настройки → Настройки продукта → Модули).
- Заполнить у нужного инфоблока поле «Символьный код API» и поставить галочку «Включен доступ через REST».
- Создать интерфейс для управления входящими вебхуками (в коробочной версии это делается через собственную административную страницу).
Только после этих подготовительных действий можно будет получать и отправлять данные через REST API.
SDK CRest для разработки
Для упрощения разработки 1С-Битрикс предоставляет готовый PHP SDK — класс CRest. «SDK CRest — это пример на PHP, который включает 5 файлов: настройки авторизации, класс для работы с REST API, проверку конфигурации веб-сервера и пример вызова методов». Этот набор можно скачать с GitHub и использовать как основу для собственных интеграций.
Как настроить обмен 1С-Битрикс и 1С:УТ через CommerceML
Ошибки обмена 1С и Битрикс, которые снижают производительность сайта
Способы авторизации и безопасность
Правильная настройка авторизации — основа безопасной интеграции. В 1С-Битрикс есть два основных способа получения доступа к REST API.
Входящий вебхук — самый простой способ, идеально подходит для начала работы и быстрых интеграций. Создаётся через раздел «Разработчикам» → «Входящий вебхук», достаточно указать название и необходимые права доступа. Пример URL вебхука для вызова REST API: https://ваш_портал.bitrix24.ru/rest/1/zxsdf8hds9f6sdf6sdf/. В ответ вы получите JSON с результат выполнения запроса.
Код вебхука работает как ключ доступа или пароль, важно хранить его в секрете — утечка этой информации может привести к несанкционированному доступу к данным.
OAuth 2.0 — более сложный, но и более безопасный и гибкий способ. Он используется для серьёзных интеграций, где требуется:
- Автоматическое продление токенов доступа;
- Разграничение прав доступа для разных пользователей;
- Работа с несколькими клиентами (SaaS-решения).
OAuth 2.0 подходит для сложных enterprise-интеграций.
Практические примеры использования API
Пример 1. Создание задачи с чек-листом
В этом примере наглядно показано, как REST API решает задачу, которую невозможно выполнить стандартными средствами. «Задача: поставить задачу юристу организации проверить данные контрагента. Задача должна содержать чек-лист со списком проверяемых данных. Если юрист утверждает данные, он вычёркивает пункт чек-листа, в противном случае пункт остаётся незакрытым».
Стандартные действия бизнес-процессов не позволяют работать с чек-листами. «Однако, используя REST-методы работы с задачами, это сделать можно». Решение использует REST API: сначала метод task.item.add создаёт саму задачу, затем в цикле метод task.checklistitem.add добавляет пункты чек-листа. Все операции объединяются в один пакетный запрос (batch), что экономит время и ресурсы.
Пример 2. Создание лида
Один из самых востребованных методов для интернет-магазинов — создание лида (заявки) в CRM при оформлении заказа на сайте.
POST /rest/crm.lead.add
{
"fields": {
"TITLE": "Новый лид",
"NAME": "Иван",
"LAST_NAME": "Иванов",
"PHONE": [{"VALUE": "+7 (495) 123-45-67", "VALUE_TYPE": "WORK"}]
}
}
В ответ сервер вернёт уникальный идентификатор созданного лида, по которому его можно будет обновлять, отслеживать статус и связывать с другими сущностями. Аналогично, для работы со сделками используется метод crm.deal.add, для контактов — crm.contact.add. Эти методы используются для автоматической передачи заказов из интернет-магазина в CRM.
Пример 3. Пакетные запросы (batch)
Для повышения производительности и снижения количества HTTP-вызовов используйте пакетные запросы. Метод batch позволяет выполнить до 50 операций за один вызов. Это особенно актуально при массовом импорте товаров или синхронизации заказов.
Лучшие практики и советы
Оптимизация производительности
- Используйте пакетные запросы (batch), объединяя до 50 операций в один вызов для значительного ускорения массовых операций.
- Реализуйте пагинацию, запрашивая данные порциями по 50–100 элементов, а не все сразу.
- Настройте кеширование на уровне приложения для часто запрашиваемых, но редко меняющихся данных (справочники, список товаров).
Безопасность
- Держите вебхуки в секрете: код вебхука работает как ключ доступа, не храните его в открытых репозиториях, не передавайте в логах и не публикуйте в открытом доступе.
- Используйте HTTPS для всех API-вызовов — шифрование каналов связи обязательное требование.
- Настройте редиректы при смене домена: если адрес портала изменился, API-запросы могут работать некорректно. Заложите логику обработки редиректов.
- Обрабатывайте ошибки: всегда проверяйте статус ответа и коды ошибок (например, недостаточно прав,
insufficient_scope). Внедрите повторные попытки (retry logic) с экспоненциальной задержкой для временных сбоев.
Разработка
- Начните с готовых учебных примеров, которые включают список методов, описание параметров и примеры кода. Адаптируйте код под свои нужды, добавляя свою логику обработки. Установите специальное приложение, которое позволяет просматривать документацию и выполнять запросы прямо в консоли браузера.
- Начинайте с простых сценариев, например, фильтрации данных. Это безопасно и поможет освоиться.
- Для долгосрочных проектов используйте OAuth 2.0. Хотя это сложнее, чем вебхуки, он гораздо надёжнее для серьёзных интеграций.
Для коробочной версии (управление сайтом)
- Создайте собственную страницу управления вебхуками в каталоге
/local/rest/— это обязательный шаг, так как встроенного интерфейса здесь нет. - Используйте готовые SDK, такие как CRest, для ускорения разработки.
Заключение
REST API открывает доступ к практически любым данным и функциям 1С-Битрикс. Возможности REST API практически безграничны. Он позволяет автоматизировать любые обмены данными между интернет-магазином на 1С-Битрикс и внешними сервисами.
Главные навыки для работы с API — знание принципов работы HTTP(S), умение читать документацию и базовые навыки работы с JSON.
Если ваш бизнес использует 1С-Битрикс, но вы не знаете, с чего начать построение API-взаимодействия, или хотите делегировать эту задачу профессиональной команде, обратитесь к нам. Мы поможем настроить интеграции с 1С, CRM и маркетплейсами, автоматизировать заказы и процессы и построить архитектуру, которая будет работать стабильно даже при самых высоких нагрузках.
Готовы развивать экосистему вокруг своего интернет-магазина?
Напишите нам на hello@monoplan.team