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

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

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

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

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

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

  4. Создание анонимной публикации;

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

В рамках облака, публикация баз производится автоматически. В рамках этого процесса, на сервере публикуются web/http-сервисы из конфигурации и расширений по умолчанию, интерфейс OData.

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

При обращении к базе данных по 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, синтаксис можно посмотреть в конфигураторе через свойства конкретного сервиса, раздел «Прочее».

В запросе расширение «.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 следует предварительно выполнить настройку сквозной авторизации (описано выше). Можно будет проверить обращение к базе через стандартный интерфейс, в формате 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_Контрагенты

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

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


Получение ссылки на анонимную публикацию.

Анонимная публикация нужна для настройки интеграции базы 1С c внешними источниками данных (например, маркетплейсы, телефония).

Для её создания в личном кабинете в разделе «Базы 1С» имеется кнопка «Получить анонимную публикацию»

Далее откроется «Мастер создания анонимной публикации», в котором необходимо заполнить обязательные поля логина и пароля от облака, наименование сервиса (alias) и выбрать тип сервиса, который будет использоваться. После заполнения всех данных станет активной кнопка «Создать ссылку»

Далее у Вас появится окно с итоговой ссылкой, которую можно будет скопировать по кнопке справа

Анонимная публикация создана и её можно использовать в нужном Вам сервисе.


(Рейтинг: 5 ,  Голосов: 1 )
Поделиться
картинка
Хотите попробовать 1С в облаке?
Регистрируйтесь и начните работу уже сейчас!

Материалы по теме

1711721885