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

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

Юрий ТушинскийТехнический директор

Битрикс

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

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

• Приложения• Встраивание

приложения в портал• Авторизация, контроль

доступа к данным• REST API для доступа к

данным• JavaScript API для

приложений

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

Приложения

Типы приложений:• Хостинг у нас в облаке – архив (html, javascript, стили,

ресурсы)• Приложение на стороннем сервере – ссылка на

приложение (HTML, PHP, …)• Внешнее приложение (использование API) – не имеет

собственного интерфейса и пунктов меню

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

Отображение приложения на портале• Приложение в IFRAME:

• Безопасность• Нельзя получить доступ

к родительскому окну• Позиционирование от

окна iframe и только внутри него

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

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

JavaScript API

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

• Вызов нативных интерфейсов:

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

REST API• Новый модуль rest• Методы для работы с

данными по http с правами авторизованного пользователя.

• POST запросы с JSON в параметрах и JSON возвращается как результат (+xml).

• Возможность пакетного выполнения REST API

• Набор методов можно расширить при помощи события.

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

Контроль доступа к данным

• Любой доступ к данным портала через REST API контролируется. Чтобы начать использовать REST API нужно сначала установить приложение на портал.

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

• По факту ограничение сводится к набору доступных методов REST-API• Доступ к данным возможен только в правах авторизованного

пользователя и с заявленным уровнем приложения при инсталляции.

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

JavaScript API

• Доступ к REST API

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

API методы

- Реализованы более 180 методов для основных сущностей Битрикс24:

- Общие (11)- CRM (93)- Соцсеть (10)- Хранилище (17)- Задачи (25)- Сотрудники и отделы (10)- Календарь (18)

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

Платные приложения

• Указывается цена за месяц. Пользователь может оформить подписку на 3, 6 или 12 месяцев.

• Возможность создать триалы и демоверсии для платных приложений:• Триал – может быть активирован только один раз, после истечения

триала или подписки приложение блокируется.• Демо – может быть активировано много раз, после истечения

подписки приложение опять переходит из состояния paid в demo.• Для получения состояния метод app.info:

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

События

• Возможность зарегистрировать URL-обработчик, который будет вызываться при возникновении события.

• Можно указать в контексте авторизации какого пользователя будет вызван URL-обработчик.

• События onAppUninstall, onAppUpdate, onAppPayment, onUserAdd

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

Безопасный вызов методов

• Защита критических методов app.info и user.current от подделки результата.

• Описание механизма:• при вызове безопасного метода приложение посылает

дополнительный параметр state с произвольным значением; • в ответе приходит параметр signature, значение которого

представляет собой подпись ключевых данных метода на основе механизма JWS (JSON Web Signature);

• приложение проверяет корректность подписи и берет из него ключевые данные метода.

• \Bitrix\Socialservices\Bitrix24Signer

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

Общий формат возврата ошибок

• Ошибки возвращают соответствующие HTTP-статусы • Большинство методов возвращают ошибки в унифицированном формате

• Большинство (хотя и не все пока, к сожалению) методов поддерживают регистронезависимость параметров.

200 OK - запрос отработал правильно 400 Bad Request - неверные данные запроса 401 Unauthorized - неверные авторизационные данные 402 Payment Required - зарезервировано, пока не используется 403 Forbidden - авторизационные данные верные, но пользователю запрещен доступ к запрошенному действию (пока возвращается только в базовых методах, в entity.* и department.*, остальные возвращают 400 Bad Request) 404 Not Found - запрошенное действие не найдено 500 Internal Server Error - внутренняя ошибка сервера

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

Новые методы REST

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

(методы прямых действий над задачами, без учета бизнес-логики).• методы по работе с календарями и событиями

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

oAuth• Авторизация необходима только для приложений третьего типа. Приложения

первого и второго типа получают авторизацию при подключении js-библиотеки, а также, в данных POST-запроса при открытии приложения.

• Общий порядок работы с OAuth при создании приложений для Битрикс24:• регистрируется своё приложение в Маркетплейсе Битрикс24;• приложением запрашиваются с портала ключи;• затем открывает браузер на авторизацию на портале;• портал после авторизации перенаправляет браузер на зарегистрированный

приложением URL;• приложение запрашивает из портала финальный ключ;• подписываются полученным ключом все запросы к Rest API.

• Различные способы авторизации (для десктопных приложений, для тиражных решений и т.д.).

• http://localhost:7000 – порт для десктопных приложений.• Возможность продления авторизации (> месяца).

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

Планы

• Новые события.• Новые методы – работа с файлами и

комментариями.• Взаимодействие между приложениями,

доступ к чужому хранилищу.• Продажи на запад.• Ограничение доступа к модулю сотрудникам.• Приложения для мобильной Битрикс24.

Мы собираем идеи и отзывы:• Экстранет группа на нашем портале.• Отдельный портал для разработчиков

маркетплейс.

Денис Донченко[email protected]

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

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

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

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

С чего начать

• http://dev.1c-bitrix.ru/rest_help/• http://www.bitrix24.ru/marketplace/?app=bitrix.restapi

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

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