Маркетплейс Битрикс24
-
Upload
nicole-cochran -
Category
Documents
-
view
164 -
download
11
description
Transcript of Маркетплейс Битрикс24
Маркетплейс Битрикс24
Юрий ТушинскийТехнический директор
Битрикс
Маркетплейс Битрикс24
• Приложения• Встраивание
приложения в портал• Авторизация, контроль
доступа к данным• REST API для доступа к
данным• JavaScript API для
приложений
Приложения
Типы приложений:• Хостинг у нас в облаке – архив (html, javascript, стили,
ресурсы)• Приложение на стороннем сервере – ссылка на
приложение (HTML, PHP, …)• Внешнее приложение (использование API) – не имеет
собственного интерфейса и пунктов меню
Отображение приложения на портале• Приложение в IFRAME:
• Безопасность• Нельзя получить доступ
к родительскому окну• Позиционирование от
окна iframe и только внутри него
• Новый модуль oauth – сервер oAuth 2.0 авторизации. Используется как для проброса авторизации внутрь iframe, так и для возможности авторизации на внешних сайтах.
JavaScript API
Набор функций для снятия ограничений работы в IFRAME:• Изменение работы окна IFRAME:
• Вызов нативных интерфейсов:
REST API• Новый модуль rest• Методы для работы с
данными по http с правами авторизованного пользователя.
• POST запросы с JSON в параметрах и JSON возвращается как результат (+xml).
• Возможность пакетного выполнения REST API
• Набор методов можно расширить при помощи события.
Контроль доступа к данным
• Любой доступ к данным портала через REST API контролируется. Чтобы начать использовать REST API нужно сначала установить приложение на портал.
• При инсталляции приложения (версии) уровень доступа, требуемый приложению, сохраняется локально.
• По факту ограничение сводится к набору доступных методов REST-API• Доступ к данным возможен только в правах авторизованного
пользователя и с заявленным уровнем приложения при инсталляции.
JavaScript API
• Доступ к REST API
API методы
- Реализованы более 180 методов для основных сущностей Битрикс24:
- Общие (11)- CRM (93)- Соцсеть (10)- Хранилище (17)- Задачи (25)- Сотрудники и отделы (10)- Календарь (18)
Платные приложения
• Указывается цена за месяц. Пользователь может оформить подписку на 3, 6 или 12 месяцев.
• Возможность создать триалы и демоверсии для платных приложений:• Триал – может быть активирован только один раз, после истечения
триала или подписки приложение блокируется.• Демо – может быть активировано много раз, после истечения
подписки приложение опять переходит из состояния paid в demo.• Для получения состояния метод app.info:
События
• Возможность зарегистрировать URL-обработчик, который будет вызываться при возникновении события.
• Можно указать в контексте авторизации какого пользователя будет вызван URL-обработчик.
• События onAppUninstall, onAppUpdate, onAppPayment, onUserAdd
Безопасный вызов методов
• Защита критических методов app.info и user.current от подделки результата.
• Описание механизма:• при вызове безопасного метода приложение посылает
дополнительный параметр state с произвольным значением; • в ответе приходит параметр signature, значение которого
представляет собой подпись ключевых данных метода на основе механизма JWS (JSON Web Signature);
• приложение проверяет корректность подписи и берет из него ключевые данные метода.
• \Bitrix\Socialservices\Bitrix24Signer
Общий формат возврата ошибок
• Ошибки возвращают соответствующие 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 - внутренняя ошибка сервера
Новые методы REST
• получение информации о приложении (app.info) • методы работы с событиями (events, event.bind, event.unbind) • множество новых методов по работе с сущностями и счетами CRM• методы по работе с группами соцсети• методы по обеспечению административных операций над задачами
(методы прямых действий над задачами, без учета бизнес-логики).• методы по работе с календарями и событиями
oAuth• Авторизация необходима только для приложений третьего типа. Приложения
первого и второго типа получают авторизацию при подключении js-библиотеки, а также, в данных POST-запроса при открытии приложения.
• Общий порядок работы с OAuth при создании приложений для Битрикс24:• регистрируется своё приложение в Маркетплейсе Битрикс24;• приложением запрашиваются с портала ключи;• затем открывает браузер на авторизацию на портале;• портал после авторизации перенаправляет браузер на зарегистрированный
приложением URL;• приложение запрашивает из портала финальный ключ;• подписываются полученным ключом все запросы к Rest API.
• Различные способы авторизации (для десктопных приложений, для тиражных решений и т.д.).
• http://localhost:7000 – порт для десктопных приложений.• Возможность продления авторизации (> месяца).
Планы
• Новые события.• Новые методы – работа с файлами и
комментариями.• Взаимодействие между приложениями,
доступ к чужому хранилищу.• Продажи на запад.• Ограничение доступа к модулю сотрудникам.• Приложения для мобильной Битрикс24.
Мы собираем идеи и отзывы:• Экстранет группа на нашем портале.• Отдельный портал для разработчиков
маркетплейс.
Денис Донченко[email protected]
Маркетплейс Битрикс24
• Дата запуска: 20 июня 2013 • Авторов: 58• Приложений всего: 169• В каталоге: 58• Платных приложений: 3• Установок: 16978
С чего начать
• http://dev.1c-bitrix.ru/rest_help/• http://www.bitrix24.ru/marketplace/?app=bitrix.restapi
Спасибо за внимание! Вопросы?