Если вы столкнулись с задачей двустороннего обмена данными между вашей базой 1С, размещенной в облачном сервисе 1С:Фреш, и внешним сайтом (например, создавая HTTP API сервис задач пользователя для мобильного приложения), то, вероятно, задавались вопросом о возможности использования веб- или HTTP-сервисов. Мы рассмотрим, как это реализовать, учитывая специфику облачной среды, и разберем ключевые особенности, а также альтернативные методы интеграции.
Вопрос о возможности публикации собственных веб- и HTTP-сервисов в 1С:Фреш является одним из наиболее частых при интеграции с внешними системами. Отвечаем сразу: да, это возможно! Если ваша информационная база уже опубликована в 1С:Фреш, то публикация дополнительных сервисов, определенных в расширениях конфигурации, не составит труда. Это позволяет нам интегрироваться с сайтами или другими внешними системами без внесения изменений в типовую конфигурацию, что критически важно для облачных решений, находящихся на поддержке.
Рассмотрим подробнее, как работает этот механизм и какие шаги необходимо выполнить:
Принцип работы. Когда база данных опубликована в 1С:Фреш, сама платформа уже работает на веб-сервере. Веб- и HTTP-сервисы, которые вы определяете в расширениях, рассматриваются как часть прикладного решения. При правильной настройке они могут быть доступны через тот же веб-сервер, который обслуживает вашу базу.
Создание сервисов в расширении. Для начала работы, мы создаем необходимый веб- или HTTP-сервис непосредственно в расширении конфигурации, используя конструктор API для упрощения разработки. Этот подход является стандартным и рекомендованным для облачных решений, так как позволяет поддерживать типовую конфигурацию в неизменном виде.
Процедура публикации через аудит. Публикация сервисов в 1С:Фреш происходит не полностью автоматически в том же смысле, как при публикации на собственном веб-сервере, а требует определенных шагов. Это связано со спецификой облачного сервиса и необходимостью обеспечения безопасности и стабильности.
Настройка файла публикации (default.vrd). Мы можем управлять тем, какие именно сервисы будут опубликованы. Файл default.vrd описывает публикацию HTTP-сервиса. При необходимости опубликовать только часть сервисов из расширения, можно вручную отредактировать этот файл и удалить из него "ненужные" сервисы. Однако в контексте 1С:Фреш этот процесс может быть менее прямым и чаще всего управляется через интерфейс сервиса или при отправке расширения на аудит.
Обмен данными и протоколы. Обмен данными через веб- и HTTP-сервисы в 1С:Фреш осуществляется по защищенному протоколу HTTPS, обеспечивающему надежное шифрование данных. Сообщения, как правило, передаются в формате XML. Важно учитывать, что для корректной работы требуется наличие установленного веб-сервера (Apache или IIS) и платформы 1С:Предприятие версии 8.3.7 и выше с установленным расширением веб-сервера на серверной стороне, что уже обеспечено инфраструктурой 1С:Фреш.
Управление через "Менеджер сервиса". Управление дополнительными модулями, включая расширения и их публикацию, осуществляется через специальный интерфейс "Менеджер сервиса" в личном кабинете 1С:Фреш. Это централизованное место для настройки и контроля над вашей облачной базой.
Таким образом, основной принцип заключается в том, что 1С:Фреш предоставляет инфраструктуру для публикации ваших сервисов, но сам процесс требует явного подтверждения и прохождения этапов, связанных с облачной моделью обслуживания. Это не полностью автоматически, как на собственном сервере, но вполне реализуемо.
Помимо создания собственных веб- и HTTP-сервисов, существуют и другие мощные инструменты для обмена данными с внешними системами в 1С:Фреш. Рассмотрим их подробнее.
OData (Open Data Protocol) — это открытый протокол, позволяющий создавать и потреблять RESTful API. В 1С:Фреш он является мощным инструментом для программного чтения и записи данных приложений, обеспечивая гибкую интеграцию с внешними системами без необходимости написания сложных расширений.
Автоматическое создание REST-интерфейса. Начиная с версии платформы 8.3.5, при включении поддержки OData при публикации на веб-сервере (что уже сделано в 1С:Фреш), платформа "1С:Предприятие" автоматически создает REST-интерфейс. Это позволяет нам обращаться к данным всего прикладного решения по протоколу OData.
Возможности OData. Через интерфейс OData мы получаем доступ к широкому спектру операций:
Ограничения. Важно отметить, что в 1С:Фреш для стандартного интерфейса OData не поддерживается режим эмуляции записи во время работы механизма обмена данными (использование HTTP-заголовка 1C_OData-DataLoadMode, соответствующего свойству ОбменДанными.Загрузка = Истина). Запросы с этим заголовком не будут выполнены, что следует учитывать при проектировании обмена.
Безопасность OData. При работе с данными через OData платформа "1С:Предприятие" выполняет все стандартные проверки прав доступа и вызывает обработчики событий. Для обеспечения максимальной безопасности данных, мы рекомендуем создать нового пользователя с ограниченными правами. Этот пользователь должен иметь доступ только к тем данным, которые необходимы для интеграции через OData, и ему должна быть назначена соответствующая роль.
Настройка OData. Для начала работы с OData, нам потребуется:
Для некоторых типовых конфигураций, таких как 1С:Управление нашей фирмой (1С:УНФ), 1С:Фреш предлагает встроенные обработки для обмена с сайтами. Эти обработки разработаны для решения стандартных задач интеграции (например, выгрузка товаров, заказов) и могут значительно упростить процесс, если ваши требования соответствуют их функционалу.
Мы рекомендуем всегда проверять наличие таких встроенных механизмов перед тем, как приступать к разработке собственных сервисов или использованию OData, так как они могут предложить готовое и протестированное решение, позволяющее избежать лишней работы.
Независимо от выбранного метода интеграции, 1С:Фреш обеспечивает высокий уровень безопасности и доступности, что является одним из ключевых преимуществ облачных решений:
HTTPS. Вся передача данных по Интернету в 1С:Фреш осуществляется через защищенный протокол HTTPS, что гарантирует надежное шифрование данных и их защиту от перехвата.
Изоляция данных. Данные различных пользователей и организаций хранятся изолированно друг от друга, используя специальные средства платформы "1С:Предприятие", которые обеспечивают режим разделения данных. Это минимизирует риски несанкционированного доступа и гарантирует конфиденциальность ваших данных.
Служебные пользователи. Для некоторых HTTP-сервисов, которым требуется анонимный доступ (например, для внешней регистрации или получения общедоступной информации), мы можем создать отдельные публикации. В таких публикациях явно указываются логин и пароль служебного пользователя, которому назначены строго ограниченные роли, предотвращающие несанкционированный доступ к критически важным данным и обеспечивающие принцип минимальных привилегий.
Таким образом, интеграция 1С:Фреш с внешними сайтами через веб- и HTTP-сервисы, а также через OData, является вполне реализуемой задачей. Мы должны учитывать особенности облачной среды и использовать рекомендованные механизмы — в первую очередь, расширения и стандартные протоколы, чтобы обеспечить надежный и безопасный обмен данными.