Основные сведения по разработке приложений Все приложения для Битрикс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. И, собственно, после этого начать разработку и тестирование в реальных условиях.