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

advertisement
Основные сведения по разработке приложений
Все приложения для Битрикс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. Они нужны
только для того, чтобы обратиться к этой сторонней информационной системе и получить от неё
какие-то данные. У таких приложений при модерации проверяется только правильность
работы механизма авторизации приложения.
Поэтому при возникновении проблем с работой приложений третьего типа в первую очередь
проверьте работу самого приложения и только при уверенности, что оно работает нормально,
обращайтесь в ТП Битрикса с просьбой о проверке механизма авторизации.
Реально возможно использование сочетание типов в одном приложении. Приложение может работать со
стороннего сервера, использовать фреймы и при этом работать "снаружи" используя OAuth авторизацию для
получения доступа к Rest API "снаружи".
Структура приложений может быть произвольной, при этом у приложения:
 должна быть точка входа, которая будет открыта во фрейме в интерфейсе Битрикс24 (в случае
приложения первого типа это будет стартовая страница index.html);
 может быть инсталлятор, который будет открыт пользователем с правами администратора во фрейме в
интерфейсе Битрикс24 для установки приложения (в случае приложения первого типа это будет
страницаinstall.html).
Примечание: информация по структуре приложения доступна в документации по REST API.
В целях безопасности для отображения на портале приложение вставляется в IFRAME рабочей области. В
IFRAME загружается ссылка, указанная при регистрации приложения. Если приложение было загружено в виде
архива, то ссылка берется с сайта 1С-Битрикс.
Чтобы не заставлять пользователя в этом IFRAME авторизовываться еще раз, в URL передается специальный
код авторизации (используется OAuth сервер авторизации).
Из IFRAME нельзя получить доступ к родительскому окну. Это большой плюс с точки зрения безопасности, но
минус с точки зрения использования. Снять ограничения работы в IFRAME помогает JavaScriptбиблиотекафункций. Например:
 для изменения окна IFRAME используются
функции BX24.resizeWindow, BX24.setTitle, BX24.getScrollSize.
 для вызова нативных интерфейсов служат BX24.selectUser, BX24.selectUsers, BX24.selectAccess.
Примечание: Если разработчик приложения хочет использовать REST или другие подобные возможности в
клиентском сценарии, то ему нужно подключить js-библиотеку. Приложения второго типа могут использовать
REST на стороне сервера, поскольку на точку входа (или инсталлятор) будет передан ключ авторизации в виде
POST-параметров AUTH_ID и AUTH_EXPIRES.
При разработке приложения вам доступны REST-методы для:








CRM;
хранилища данных (инфоблоки);
уведомлений;
задач;
работы с пользователями;
работы с подразделениями;
живой ленты;
календарей.
При регистрации приложения в Маркетплейс вам необходимо указать, с чем работает ваше приложение, т.е.
задать уровень доступа к пользовательским данным (см. параметр Права).
Важно! Поля даты/времени читаются/записываются в формате ISO 8601.
В начале разработки приложения необходимо его зарегистрировать и установить на свой тестовый портал
Битрикс24. И, собственно, после этого начать разработку и тестирование в реальных условиях.
Download