← База знаний

REST API в 1С — создание HTTP-сервиса

HTTP-сервисы в 1С позволяют создать REST API для интеграции с внешними системами. Рассмотрим, как создать простой API для получения данных из 1С.

Что такое HTTP-сервис

HTTP-сервис — это объект конфигурации 1С, который позволяет принимать HTTP-запросы и возвращать ответы. По сути, это способ создать API для вашей базы 1С.

Создание HTTP-сервиса

  1. Откройте конфигуратор
  2. Добавьте новый объект: Общие → HTTP-сервисы → Добавить
  3. Задайте имя (например, «API»)
  4. Укажите корневой URL (например, «/api»)
  5. Добавьте шаблон URL и метод

Пример: API для получения товаров

// Модуль HTTP-сервиса
Функция ПолучитьТовары(Запрос)
    
    Запрос1С = Новый Запрос;
    Запрос1С.Текст = "ВЫБРАТЬ
        | Товары.Код,
        | Товары.Наименование,
        | Товары.Цена
        |ИЗ
        | Справочник.Товары КАК Товары";
    
    Результат = Запрос1С.Выполнить().Выгрузить();
    
    МассивТоваров = Новый Массив;
    Для Каждого Строка Из Результат Цикл
        Товар = Новый Структура;
        Товар.Вставить("code", Строка.Код);
        Товар.Вставить("name", Строка.Наименование);
        Товар.Вставить("price", Строка.Цена);
        МассивТоваров.Добавить(Товар);
    КонецЦикла;
    
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.Заголовки.Вставить("Content-Type", "application/json");
    Ответ.УстановитьТелоИзСтроки(JSON.Записать(МассивТоваров));
    
    Возврат Ответ;
    
КонецФункции

Публикация сервиса

  1. Администрирование → Публикация на веб-сервере
  2. Выберите веб-сервер (IIS или Apache)
  3. Отметьте HTTP-сервисы для публикации
  4. Нажмите «Опубликовать»

URL для доступа

После публикации API будет доступен по адресу:

http://сервер/база/hs/api/товары

Авторизация

Для защиты API используйте:

  • Basic Auth — логин и пароль пользователя 1С
  • API-ключ — передача токена в заголовке
  • OAuth — для сложных сценариев

Рекомендации

  • Используйте понятные URL (GET /api/products, POST /api/orders)
  • Возвращайте корректные HTTP-коды (200, 404, 500)
  • Логируйте все запросы для отладки
  • Ограничивайте количество записей в выборках

Нужна помощь с API?

Разработаю REST API для вашей 1С под любые задачи интеграции.

Обсудить в Telegram