1 / 19

Маркетплейс Битрикс24

Маркетплейс Битрикс24. Юрий Тушинский Технический директор Битрикс. Маркетплейс Битрикс24. Приложения Встраивание приложения в портал Авторизация, контроль доступа к данным REST API для доступа к данным JavaScript API для приложений. Приложения. Типы приложений:

Download Presentation

Маркетплейс Битрикс24

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Маркетплейс Битрикс24 Юрий Тушинский Технический директор Битрикс

  2. МаркетплейсБитрикс24 • Приложения • Встраивание приложения в портал • Авторизация, контроль доступа к данным • REST API для доступа к данным • JavaScript API для приложений

  3. Приложения • Типы приложений: • Хостинг у насв облаке – архив (html, javascript, стили, ресурсы) • Приложение на стороннем сервере – ссылка на приложение (HTML, PHP, …) • Внешнее приложение (использование API) – не имеет собственного интерфейса и пунктов меню

  4. Отображение приложения на портале • Приложениев IFRAME: • Безопасность • Нельзя получить доступ к родительскому окну • Позиционирование от окна iframeи только внутри него • Новый модуль oauth – сервер oAuth 2.0 авторизации. Используется как для проброса авторизации внутрь iframe, так и для возможности авторизации на внешних сайтах.

  5. JavaScript API • Набор функций для снятия ограничений работы в IFRAME: • Изменение работы окна IFRAME: • Вызов нативных интерфейсов:

  6. REST API • Новый модуль rest • Методы для работы с данными по http с правами авторизованного пользователя. • POST запросы с JSON в параметрах и JSON возвращается как результат (+xml). • Возможность пакетного выполнения REST API • Набор методов можно расширить при помощи события.

  7. Контроль доступа к данным • Любой доступ к данным портала через REST API контролируется. Чтобы начать использовать REST API нужно сначала установить приложение на портал. • При инсталляции приложения (версии) уровень доступа, требуемый приложению, сохраняется локально. • По факту ограничение сводится к набору доступных методов REST-API • Доступ к данным возможен только в правах авторизованного пользователя и с заявленным уровнем приложения при инсталляции.

  8. JavaScript API • Доступ к REST API

  9. API методы • Реализованы более 180 методов для основных сущностей Битрикс24: • Общие (11) • CRM (93) • Соцсеть (10) • Хранилище (17) • Задачи (25) • Сотрудники и отделы (10) • Календарь (18)

  10. Платные приложения • Указывается цена за месяц. Пользователь может оформить подписку на 3, 6 или 12 месяцев. • Возможность создать триалы и демоверсии для платных приложений: • Триал – может быть активирован только один раз, после истечения триала или подписки приложение блокируется. • Демо – может быть активировано много раз, после истечения подписки приложение опять переходит из состояния paid в demo. • Для получения состояния метод app.info:

  11. События • Возможность зарегистрировать URL-обработчик, который будет вызываться при возникновении события. • Можно указать в контексте авторизации какого пользователя будет вызван URL-обработчик. • События onAppUninstall, onAppUpdate, onAppPayment, onUserAdd

  12. Безопасный вызов методов • Защита критических методов app.infoи user.currentот подделки результата. • Описание механизма: • при вызове безопасного метода приложение посылает дополнительный параметр state с произвольным значением;  • в ответе приходит параметр signature, значение которого представляет собой подпись ключевых данных метода на основе механизма JWS (JSON WebSignature);  • приложение проверяет корректность подписи и берет из него ключевые данные метода. • \Bitrix\Socialservices\Bitrix24Signer

  13. Общий формат возврата ошибок • Ошибки возвращают соответствующие HTTP-статусы • Большинство методов возвращают ошибки в унифицированном формате • Большинство (хотя и не все пока, к сожалению) методов поддерживают регистронезависимость параметров. • 200 OK - запрос отработал правильно • 400 BadRequest - неверные данные запроса • 401 Unauthorized - неверные авторизационные данные • 402 PaymentRequired - зарезервировано, пока не используется • 403 Forbidden - авторизационные данные верные, но пользователю запрещен доступ к запрошенному действию (пока возвращается только в базовых методах, в entity.* и department.*, остальные возвращают 400 BadRequest) • 404 NotFound - запрошенное действие не найдено • 500 InternalServerError - внутренняя ошибка сервера

  14. Новые методы REST • получение информации о приложении (app.info)  • методы работы с событиями (events, event.bind, event.unbind)  • множество новых методов по работе с сущностями и счетами CRM • методы по работе с группами соцсети • методы по обеспечению административных операций над задачами (методы прямых действий над задачами, без учета бизнес-логики). • методы по работе с календарями и событиями

  15. oAuth • Авторизация необходима только для приложений третьего типа. Приложения первого и второго типа получают авторизацию при подключении js-библиотеки, а также, в данных POST-запроса при открытии приложения. • Общий порядок работы с OAuth при создании приложений для Битрикс24: • регистрируется своё приложение в Маркетплейсе Битрикс24; • приложением запрашиваются с портала ключи; • затем открывает браузер на авторизацию на портале; • портал после авторизации перенаправляет браузер на зарегистрированный приложением URL; • приложение запрашивает из портала финальный ключ; • подписываются полученным ключом все запросы к Rest API. • Различные способы авторизации (для десктопных приложений, для тиражных решений и т.д.). • http://localhost:7000 – порт для десктопных приложений. • Возможность продления авторизации (> месяца).

  16. Планы • Новые события. • Новые методы – работа с файлами и комментариями. • Взаимодействие между приложениями, доступ к чужому хранилищу. • Продажи на запад. • Ограничение доступа к модулю сотрудникам. • Приложения для мобильной Битрикс24. • Мы собираем идеи и отзывы: • Экстранет группа на нашем портале. • Отдельный портал для разработчиков маркетплейс. Денис Донченко dd@1c-bitrix.ru

  17. МаркетплейсБитрикс24 • Дата запуска: 20 июня 2013 • Авторов: 58 • Приложений всего: 169 • В каталоге: 58 • Платных приложений: 3 • Установок: 16978

  18. С чего начать • http://dev.1c-bitrix.ru/rest_help/ • http://www.bitrix24.ru/marketplace/?app=bitrix.restapi

  19. Спасибо за внимание! Вопросы?

More Related