В современном мире информационные системы не существуют изолированно. Бизнесу нужно, чтобы 1С «общалась» с маркетплейсами, CRM, интернет-магазинами, сайтами и мобильными приложениями. REST API - один из самых распространённых и удобных способов реализовать такую интеграцию.
Что такое REST API простыми словами
REST (Representational State Transfer) - архитектурный стиль взаимодействия между приложениями через HTTP. REST API позволяет приложениям обмениваться данными в формате JSON или XML, используя понятные методы:
- GET - получить данные,
- POST - создать объект,
- PUT/PATCH - изменить данные,
- DELETE - удалить.
Зачем 1С REST API
Интеграция через REST API - это:
- Синхронизация с внешними системами (сайт, CRM, BI),
- Автоматизация приёма и передачи заказов,
- Упрощение документооборота,
- Возможность подключения мобильных и веб-приложений.
Примеры из практики
1. ERP и документооборот с помощью Контур.Диадок
В проекте для розничной сети обуви мы реализовали REST-интеграцию с Контур.Диадок, чтобы автоматически отправлять и получать документы без ручной загрузки. Это ускорило обмен с поставщиками и сократило количество ошибок.
2. ERP и BI: выгрузка данных в стороннюю аналитику
Для IT-компании мы настроили REST API, чтобы передавать план-факт бюджета из 1С:ERP в Power BI. Это дало прозрачную картину управленческого учёта и позволило принимать решения быстрее.
3. Синхронизация с Google Drive и Sheets
На проекте по управлению строительными проектами мы настроили связку 1С и Google API. Рабочие файлы заказчика (в Google Sheets и Docs) синхронизировались с блоком планирования в 1С, без дублирования.
// Функция для получения данных из Google Sheets через API
//
// Параметры:
// AccessToken - Строка - токен доступа для авторизации в Google API
// SpreadsheetId - Строка - идентификатор таблицы Google Sheets
// Диапазон - Строка - диапазон ячеек для получения данных (например, "Лист1!A1:B10")
//
// Возвращаемое значение:
// Соответствие/Неопределено - полученные данные или Неопределено при ошибке
//
// Требования к использованию:
// 1. Предварительно необходимо:
// * Создать проект в Google Cloud Console
// * Включить Google Sheets API
// * Получить учетные данные
// * Настроить OAuth 2.0
//
// 2. Необходимые права доступа:
// * Доступ к Google Sheets API
// * Права на чтение данных
//
// Пример использования:
// Данные = ПолучитьДанныеИзGoogleSheets(
// "ваш_access_token",
// "идентификатор_таблицы",
// "Лист1!A1:B10"
// );
//
// Если Данные <> Неопределено Тогда
// // Обработка полученных данных
// КонецЕсли;
Функция ПолучитьДанныеИзGoogleSheets(AccessToken, SpreadsheetId, Диапазон) Экспорт
// URL для доступа к Google Sheets API
URL = СтрШаблон("https://sheets.googleapis.com/v4/spreadsheets/%1/values/%2", SpreadsheetId, Диапазон);
// Создаем заголовки запроса
Заголовки = Новый Структура;
Заголовки.Вставить("Authorization", "Bearer " + AccessToken);
Заголовки.Вставить("Content-Type", "application/json");
// Отправляем GET запрос
Ответ = ОтправитьHTTPЗапрос(URL, "GET", Заголовки);
Если Ответ <> Неопределено Тогда
// Получаем содержимое ответа
Поток = Ответ.ПолучитьТелоКакПоток()
// Создаем объект для чтения JSON
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьПоток(Поток);
// Читаем JSON
Данные = ПрочитатьJSON(ЧтениеJSON, Истина);
Возврат Данные;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Как реализуется REST API в 1С
Есть два сценария:
1С как потребитель API
Пример: получать остатки с маркетплейса или CRM. Используются HTTPЗапрос, ЧтениеJSON, ЗаписьJSON.
1С как поставщик API
Пример: внешний сайт запрашивает остатки товаров. Создаётся HTTP-сервис, который принимает и обрабатывает запросы. Обычно это публикация HTTP-сервиса на Web-сервере.
Что нужно учесть
- Безопасность - авторизация (OAuth2, JWT), фильтрация IP, контроль по RLS, шифррование канала связи: HTTPS или VPN
- Производительность - кэширование, ограничение нагрузки, отказоустойчивость.
- Логирование - обязательно логируйте все обращения и ошибки.
- Документация - используйте OpenAPI для описания эндпоинтов, это экономит часы на внедрении.
Когда стоит использовать REST API, а когда - нет
Сценарий | REST API | РИБ / Обмен / Web-сервисы |
---|---|---|
Обмен с внешним сервисом | Да | — |
Работа между 1С-базами | — | Да |
Интеграция с облачными сервисами | Да | — |
Заключение
REST API - это ключ к открытости и масштабируемости продукта. Его реализация может быть быстрой и надёжной, если:
- Проанализированы бизнес-потребности,
- Учитываются риски и архитектура решений,
- И используются проверенные подходы на практике.
Если вы задумываетесь о расширении возможностей вашей 1С - REST API почти всегда будет в списке нужных инструментов.