Версия для печати Поиск

Главная <-- Обзор платформы <-- Толковый словарь 1С:Предприятия 8 <-- R <-- REST интерфейс

Видеоматериалы | Книги | Учебные курсы

REST интерфейс

Платформа может автоматически формировать REST интерфейс для всего прикладного решения. После того, как прикладное решение опубликовано на веб-сервере, сторонние системы могут обращаться к нему через REST интерфейс с помощью HTTP запросов. Благодаря универсальности и кроссплатформенности автоматически генерируемый REST интерфейс является основным инструментом для интеграции со сторонними системами.

REST интерфейс позволяет читать данные 1С:Предприятия, изменять их, создавать новые объекты данных и удалять существующие.

Автоматический REST интерфейс может использоваться для таких задач как:

  • Интеграция прикладного решения с интернет-сайтами и интернет-магазинами;
  • Реализация сторонними средствами дополнительной функциональности прикладного решения без изменения его конфигурации;
  • Загрузка данных в прикладное решение и выгрузка данных из него;
  • Интеграция прикладного решения с корпоративными системами, возможно даже без дополнительного программирования.

Типичные операции, выполняемые через REST интерфейс это:

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

В качестве протокола доступа платформа использует протокол OData версии 3.0. Это открытый веб-протокол для запроса и обновления данных. Он позволяет оперировать данными, используя в качестве запросов HTTP-команды. Получать ответы можно в формате Atom/XML или JSON.

В платформе реализована только серверная часть REST сервисов. То есть прикладное решение может автоматически поставлять свою функциональность через REST сервисы. Для взаимодействия со сторонними REST сервисами из 1С:Предприятия (для организации клиентской части) можно использовать имеющиеся в платформе средства работы с HTTP.

Основная задача REST интерфейса прикладных решений заключается в интеграции со сторонними системами. И тут проблемы не возникает, ведь клиенты OData существует практически для всех значимых платформ:

Использовать стандартный интерфейс OData прикладного решения просто:

  • В конфигураторе REST интерфейс публикуется на веб-сервере;
  • После этого объекты прикладного решения становятся доступны через этот интерфейс;
  • Способы аутентификации OData клиентов полностью совпадают со способами, используемыми для веб-сервисов;
  • OData клиенты могут запросить через HTTP документ метаданных, описывающий доступные объекты прикладного решения;
  • OData клиенты выполняют операции создания, чтения, модификации и удаления данных прикладного решения.

В REST интерфейсе доступны практически все основные объекты конфигурации: справочники, документы, константы, перечисления, планы обмена, регистры накопления, расчета, бухгалтерии и сведений, виртуальные таблицы периодического регистра сведений, регистров бухгалтерии и регистров накопления, планы счетов, видов характеристик и видов расчета, бизнес-процессы, задачи и журналы документов.

В REST интерфейсе доступны реквизиты объектов конфигурации, доступны операции создания, чтения, модификации и удаления данных, а также некоторые методы встроенного языка. Например:

  • Для документа - проведение и отмена проведения;
  • Для задачи - выполнение;
  • Для бизнес-процесса - старт;
  • Для регистра сведений - получение среза первых и среза последних;
  • Для регистра накопления и регистра бухгалтерии - получение остатков, оборотов, остатков и оборотов;
  • Для регистра расчета - получение данных графика, фактического периода действия, перерасчета и базы.   

В случае ошибочной ситуации 1С:Предприятие возвращает ответ с HTTP-статусом 4XX или 5XX. Статус 4XX говорит о неверных действиях клиента, статус 5XX – об ошибке на сервере. В случае статуса 4XX 1С:Предприятие пытается помочь клиенту понять причину ошибки и может передать дополнительный внутренний код ошибки и информационное сообщение.

При чтении и записи данных с помощью REST интерфейса платформа выполняет все обычные проверки прав и вызывает обработчики событий, за исключением проверки заполнения.

При получении списков данных можно использовать стандартные условия фильтрации ODATA запросов. Например, получить товары, у которых цена меньше или равна 3,5 или больше 200:

GET /OData_Tests_Infobase/odata/standard.odata/Catalog_Goods?$filter=Price le 3.5 or Price gt 200	   

Полезные ссылки: