Взаимодействие с облачными базами по API (json, публикация web и http сервисов)

Читать в полной версии Для взаимодействия по API необходимо выполнить подготовку базы данных:
  1. Публиковать на web-сервере;
  2. Настроить сквозную авторизацию;
  3. Проверить наличие сервиса в конфигурации и доступ к нему;

Взаимодействие с базой данных 1С возможно следующими методами:

  1. Взаимодействие посредствам web-сервисов;

  2. Взаимодействие по средствам http-сервисов;

  3. Взаимодействие по средствам стандартного интерфейса ODATA;

Подготовка базы для взаимодействия по API.

Публикация на web-сервере.

Для начала необходимо опубликовать базу данных на web-сервере, в нашем случае это IIS. Публикацию возможно выполнить только через ЛК кабинет. После выполнения данной операции Вы получаете ссылку следующего вида: https://terminal.scloud.ru/01/login_base01.


Настройка сквозной авторизации.

При обращении к базе данных по API потребуется сквозная авторизация. Для ее обеспечения следует создать в базе пользователя с логином и паролем аналогичными учетным данным для основного или дополнительного пользователей. Также следует дать данному пользователю полные, либо необходимые для взаимодействия права.

Проверка наличия сервиса в конфигурации.

По умолчанию будут опубликованы все стандартные web-сервисы конфигурации. В таком режиме публикации к web-сервисам следует обращаться по ALIAS.

Узнать наименования сервисов, доступных для взаимодействия с данной конфигурацией, можно следующим образом:

Следует открыть базу данных в режиме конфигуратора, раскрыть раздел «Общие», раскрыть подраздел «Web-сервисы» или «HTTP-сервисы» соответственно, далее найти наименование интересующего сервиса.

Проверить правильность выполняемых действий можно следующим образом.

В любой конфигурации есть стандартный WS «EnterpriseDataExchange», к нему можно обратиться следующим образом.

Открыть подраздел Web-сервисы выбрать «EnterpriseDataExchange», в примере это «EnterpriseDataExchange_1_0_1_1» проверяем во вкладке «Прочее» его ALIAS – «EnterpriseDataExchange_1_0_1_1.1cws».

Теперь обращаемся к сервису через браузер добавив к ссылке на базу /ws/EnterpriseDataExchange_1_0_1_1.1.1cws?wsdl 

Пример:

terminal.scloud.ru/01/sc60889_base03/ws/EnterpriseDataExchange_1_0_1_1.1cws?wsdl

При запросе логина и пароля следует ввести учетные данные пользователя, которые использовались для настройки сквозной авторизации.

Если при ответе на запрос получаем xml данные, значит предварительная настройка произведена корректно.

Взаимодействие посредствам web-сервисов.

Перед началом обращения к web-сервисам баз данных по API следует предварительно выполнить условия, указанные в предыдущем пункте данной статьи, это публикация информационной базы и настройка сквозной авторизации.

Для взаимодействия с базой данных через web-сервисы (WS). Просмотреть доступные для работы сервисы можно открыв базу в режиме конфигуратора, раскрыть раздел «Общие», раскрыть подраздел «Web-сервисы».

Как говорилось ранее, все WS по умолчанию уже опубликованы, к ним следует обращаться по alias, синтаксис можно посмотреть в конфигураторе через свойства конкретного сервиса, раздел «Прочее».

Как говорилось ранее, все WS по умолчанию уже опубликованы, к ним следует обращаться по alias, синтаксис можно посмотреть в конфигураторе через свойства конкретного сервиса, раздел «Прочее».

В запросе расширение «.1cws» меняем на «?wsdl»

ws/EquipmentService?wsdl

При запросе логина и пароля следует ввести учетные данные пользователя, которые использовались для настройки сквозной авторизации.

Для публикации нестандартных сервисов, следует создать обращение в техническую поддержку, указать базу и сервис, который следует опубликовать.

Взаимодействие по средствам http-сервисов.

Перед началом обращения к http-сервисам баз данных по API следует предварительно выполнить публикация информационной базы и настройка сквозной авторизации (описаны выше).

Для взаимодействия с базой данных по средствам http-сервисов (http-Services). Просмотреть доступные для работы сервисы можно открыв базу в режиме конфигуратора, раскрыть раздел «Общие», раскрыть подраздел «HTTP-сервисы».

Далее следует составить обращение в техническую поддержку, указать базу и сервис, который следует опубликовать. Инженеры внесут правки в публикацию, после чего её можно проверить, сделав соответствующий запрос через браузер, запрос должен иметь следующую форму:

…/hs/имя_http_сервиса/имя_метода/запрос

Пример:

https://terminal.scloud.ru/01/login_base01/hs/имя_http_сервиса/имя_метода/запрос(при наличии)

Правильный синтаксис метода и запроса следует уточнять у разработчика каждого конкретного http-сервиса.

Также необходимо учитывать тот факт, что для работы некоторых сервисов (например, для телефонии) необходима анонимная аутентификация, в рамках сервиса её допускается включать только для баз, работающих на SQL.


Взаимодействие по средствам стандартного интерфейса ODATA

Перед началом обращения к интерфейсу ODATA следует предварительно выполнить условия публикации информационной базы и настройку сквозной авторизации (описаны выше). Далее следует составить обращение в техническую поддержку, указать базу в которой следует опубликовать интерфейс ODATA.

После внесения правок в публикацию можно будет проверять обращение к базе через стандартный интерфейс, в формате json, пример:

https://terminal.scloud.ru/01/login_base01/odata/standard.odata/


Odata работает.
Теперь нужно обратиться к объекту к базе, сделаем на примере справочника Контрагенты:


https://terminal.scloud.ru/01/login_base01/odata/standard.odata/Catalog_Контрагенты

Ответ получен, но сообщение «сущность не найдена», говорит нам о том, что в базе не настроены параметры ODATA.

Следует войти в режим «Предприятие», открыть «Все функции» - «Обработки» и найти «Настройка автоматического REST-сервиса».

Во вкладке «Состав» следует выбрать нужные для отображения данные и сохранить изменения.

Теперь при выполнении запроса

https://terminal.scloud.ru/01/login_base01/odata/standard.odata/Catalog_Контрагенты

Мы получаем ответ:


Запрос отработан корректно.