2  /  11

Основные сведения по разработке приложений

Просмотров: 4105 (Статистика ведётся с 06.02.2017)

Все приложения для Битрикс24 можно разделить на 3 типа:

  • Статические приложения, размещаемые в облаке 1С-Битрикс. Обычно загружаются в виде архива, который содержит в себе весь необходимый html, стили, javascript, картинки. Точкой входа такого приложения считается файл index.html. Инсталлятором - install.html, при его наличии. (Скачать демо-приложение первого типа.)

  • Динамические приложения, размещаемые на сторонних серверах. При регистрации приложения в Маркетплейс указываются прямые ссылки на точку входа и инсталлятор этого приложения, которые будут открыты в интерфейсе Битрикс24. (Скачать демо-приложение второго типа.)

    Если приложение размещается на стороннем сервере, то имя хоста приложения должно содержать точку. Для разработки и тестирования приложение может размещаться в локальной сети, но, например, localhost для этих целей не подойдет, лучше указать прямой IP. (Локальный адрес будет открываться в iframе на странице приложения на портале. Браузерное ограничение - общение между порталом и содержимым фрейма реализовано через postMessage. Замечено, что некоторые версии браузеров некорректно обрабатывают сообщения, если они исходят от localhost.)

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

  • Внешние приложения - приложения используют только API, и никак не интегрируются в интерфейс Битрикс24. Внешние приложения служат для получения данных, которые будут использоваться, например, для ваших web-, desktop- или мобильных приложений. При регистрации внешних приложений обязательно нужно отметить опцию Использует только API. Только в этом случае у приложения будут все необходимые данные для получения доступа к API посредством протокола OAuth 2.0. (Скачать демо-приложение третьего типа.)

    Внимание! Приложения третьего типа используются, как правило, для работы со сторонними информационными системами и не имеют собственного интерфейса внутри Битрикс24. Как правило они нужны для того, чтобы сторонняя информационная система могла обращаться к Битрикс24 и обмениваться с ним какими-то данными. У таких приложений при модерации проверяется только правильность работы механизма авторизации приложения.

    Примечание: С версии главного модуля 16.5.11 доступна возможность разработки приложений для коробочных версий как для облачных. Коробочные продукты начинают поддерживать REST API. Если серверные приложения с явной авторизацией по протоколу OAuth 2.0 для облачного Битрикс24 было разработано ранее, то для использования в коробочных версиях они должны быть доработаны так как возникает вопрос безопасности. Суть необходимых изменений: отправление запроса на авторизацию на отдельный сервер https://oauth.bitrix.info/.

Реально возможно использование сочетание типов в одном приложении. Приложение может работать со стороннего сервера, использовать фреймы и при этом работать "снаружи" используя OAuth авторизацию для получения доступа к Rest API "снаружи".

Структура приложений может быть произвольной, при этом у приложения:

  • должна быть точка входа, которая будет открыта во фрейме в интерфейсе Битрикс24 (в случае приложения первого типа это будет стартовая страница index.html);
  • может быть инсталлятор, который будет открыт пользователем с правами администратора во фрейме в интерфейсе Битрикс24 для установки приложения (в случае приложения первого типа это будет страница install.html).

В целях безопасности для отображения на портале приложение вставляется в IFRAME рабочей области. В IFRAME загружается ссылка, указанная при регистрации приложения. Если приложение было загружено в виде архива, то ссылка берется с сайта 1С-Битрикс.

Чтобы не заставлять пользователя в этом IFRAME авторизовываться еще раз, в URL передается специальный код авторизации (используется OAuth сервер авторизации).

Из IFRAME нельзя получить доступ к родительскому окну. Это большой плюс с точки зрения безопасности, но минус с точки зрения использования. Снять ограничения работы в IFRAME помогает JavaScript-библиотека функций. Например:

Примечание: Если разработчик приложения хочет использовать REST или другие подобные возможности в клиентском сценарии, то ему нужно подключить js-библиотеку. Приложения второго типа могут использовать REST на стороне сервера, поскольку на точку входа (или инсталлятор) будет передан ключ авторизации в виде POST-параметров AUTH_ID и AUTH_EXPIRES.

При разработке приложения вам доступны REST-методы для:

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

Важно! Поля даты/времени читаются/записываются в формате ISO 8601.

В начале разработки приложения необходимо его зарегистрировать и установить на свой тестовый портал Битрикс24. И, собственно, после этого начать разработку и тестирование в реальных условиях.

18
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии