Интеграции — основа современной экосистемы 1С.
CRM, сайты, внешние сервисы, маркетплейсы, банки — всё обменивается данными через HTTP-запросы и формат JSON.
Без понимания, как их использовать в 1С, разработчик ограничен только внутренней логикой конфигурации.
Разберём, как работать с HTTP-запросами и JSON в 1С: от отправки запроса до обработки ответа, с примерами кода и рекомендациями по отладке.
Что такое JSON и почему он удобен
JSON (JavaScript Object Notation) — это лёгкий формат обмена данными, основанный на структуре ключ-значение.
Он прост, читаем и поддерживается всеми языками программирования.
Пример:
{
"client": "ООО Альфа",
"sum": 125000,
"status": "paid"
}
В 1С формат JSON используется в интеграциях с API, REST-сервисами и веб-приложениями.
Работа с JSON в 1С
Для работы с JSON в платформе 1С используются два объекта:
ЧтениеJSON()— для парсинга строк в структуры;ЗаписьJSON()— для сериализации данных в текст.
Пример 1. Преобразование строки JSON в структуру
СтрокаJSON = "{""client"":""ООО Альфа"",""sum"":125000,""status"":""paid""}";
Ридер = Новый ЧтениеJSON;
Ридер.УстановитьСтроку(СтрокаJSON);
Данные = РидерПрочитать();
Сообщить("Клиент: " + Данные.client);
Сообщить("Сумма: " + Строка(Данные.sum));
Пример 2. Создание JSON-строки
Структура = Новый Структура;
Структура.Вставить("client", "ООО Бета");
Структура.Вставить("sum", 89000);
Структура.Вставить("status", "processing");
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
Запись.ЗаписатьЗначение(Структура);
JSON = Запись.Закрыть();
Сообщить(JSON);
Результат:
{"client":"ООО Бета","sum":89000,"status":"processing"}
HTTP-запросы в 1С
Для интеграции с внешними API используется объект HTTPСоединение и HTTPЗапрос.
Пример 3. GET-запрос
Соединение = Новый HTTPСоединение("api.example.com");
Запрос = Новый HTTPЗапрос("/status");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Ответ сервера: " + Ответ.ТелоКакСтрока());
Иначе
Сообщить("Ошибка: " + Строка(Ответ.КодСостояния));
КонецЕсли;
Пример 4. POST-запрос с JSON-телом
Данные = Новый Структура;
Данные.Вставить("user", "test");
Данные.Вставить("password", "12345");
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку();
Запись.ЗаписатьЗначение(Данные);
JSONТело = Запись.Закрыть();
Соединение = Новый HTTPСоединение("api.example.com");
Запрос = Новый HTTPЗапрос("/login");
Запрос.УстановитьТелоИзСтроки(JSONТело, "application/json");
Ответ = Соединение.Отправить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Авторизация успешна: " + Ответ.ТелоКакСтрока());
Иначе
Сообщить("Ошибка запроса: " + Ответ.КодСостояния);
КонецЕсли;
Обработка ошибок и логирование
Для стабильной работы интеграций важно отлавливать ошибки соединения.
Попытка
Ответ = Соединение.Получить(Запрос);
Исключение
Сообщить("Ошибка соединения: " + ОписаниеОшибки());
КонецПопытки;
Рекомендуется вести журнал логов (например, в регистре сведений или файле) — особенно при интеграции с внешними сервисами.
Отладка и тестирование API
Для проверки API до внедрения можно использовать:
- Postman — ручное тестирование REST-запросов;
- Mock-сервера — имитация ответов (например, mockapi.io);
- Консоль запросов 1С — отладка SQL и HTTP на тестовой базе.
Безопасность при работе с API
- Используйте HTTPS вместо HTTP.
- Никогда не храните пароли в открытом виде — только в зашифрованных настройках.
- Ограничивайте доступ к интернету для сервисных пользователей.
- Применяйте токены и ключи доступа, которые обновляются автоматически.
Пример из реального проекта
Разработчик интегрировал 1С:УНФ с сайтом на CMS через API.
Передача заказов и статусов шла через JSON-запросы.
После внедрения HTTP-интеграции:
- время обмена снизилось с 15 минут до 40 секунд;
- заказы синхронизируются автоматически каждые 5 минут;
- бухгалтерия получает актуальные данные без ручного ввода.
Советы по архитектуре интеграций
- Выносите все HTTP-запросы в отдельный общий модуль.
- Логируйте каждый запрос и ответ в таблицу.
- Используйте структуру «обёртку» для параметров (заголовки, тело, код).
- Реализуйте повтор отправки при временных ошибках.
- Следите за лимитами API — многие сервисы ограничивают частоту запросов.
Вывод
Работа с JSON и HTTP-запросами в 1С — это базовый навык современного разработчика.
Освоив эти инструменты, вы сможете интегрировать 1С с любыми внешними системами — от онлайн-магазинов до корпоративных порталов.
Главное — аккуратно проектировать обмен, логировать результаты и обеспечивать безопасность передачи данных.