Документация для разработчиков
Темная тема

Встраивание приложений

Разработчику приложений для Маркетплейса Битрикс24 доступен простой механизм встраивания приложения в интерфейс Битрикс24. В разделе приведены справочные данные по методам и местам встраивания. Детальное описание примеров работы представлено в курсе Приложения Битрикс24.

Встраиваемые приложения, к которым пользователь доступа не имеет, не будут отображаться в списках, пунктах меню или в других местах, где могут быть видны приложения. Исключение - встройка через тип пользовательского поля. Но в фрейм не будет передаваться авторизация, и разработчик приложения должен это учитывать.

Доступны следующие места для встраивания:

scope CRM
Код Лиды
CRM_LEAD_LIST_MENU Контекстное меню лидов
CRM_LEAD_DETAIL_TAB Пункт в верхнем меню в карточке лида
CRM_LEAD_DETAIL_ACTIVITY Пункт в меню таймлайна лида
CRM_LEAD_DETAIL_TOOLBAR Пункт в списке приложений карточки лида
Код Сделки
CRM_DEAL_LIST_MENU Контекстное меню сделок
CRM_DEAL_DETAIL_TAB Пункт в верхнем меню в карточке сделки
CRM_DEAL_DETAIL_ACTIVITY Пункт в меню таймлайна сделки
CRM_DEAL_DETAIL_TOOLBAR Пункт в списке приложений карточки сделки.
Код Контакты
CRM_CONTACT_LIST_MENU Контекстное меню контактов
CRM_CONTACT_DETAIL_TAB Пункт в верхнем меню в карточке контакта
CRM_CONTACT_DETAIL_ACTIVITY Пункт в меню таймлайна контакта
CRM_CONTACT_DETAIL_TOOLBAR Пункт в списке приложений карточки контакта.
Код Компании
CRM_COMPANY_LIST_MENU Контекстное меню компаний
CRM_COMPANY_DETAIL_TAB Пункт в верхнем меню в карточке компании
CRM_COMPANY_DETAIL_ACTIVITY Пункт в меню таймлайна компании
CRM_COMPANY_DETAIL_TOOLBAR Пункт в списке приложений карточки компании.
Код Счета
CRM_INVOICE_LIST_MENU Контекстное меню счетов
Код Предложения
CRM_QUOTE_LIST_MENU Контекстное меню предложений
Код Дела
CRM_ACTIVITY_LIST_MENU Контекстное меню дел
Код CRM-аналитика
CRM_ANALYTICS_MENU Меню CRM-аналитики
scope intranet
Код Встраивание Базы знаний
CRM
CRM_FUNNELS_TOOLBAR Кнопка в тулбаре Тунелей продаж
CRM_ANALYTICS_TOOLBAR Кнопка в тулбаре CRM-аналитики
CRM_*_LIST_TOOLBAR Кнопка около Роботов. Допустимые объекты: DEAL, LEAD, CONTACT, COMPANY, INVOICE, QUOTE.
CRM_*_DETAIL_TOOLBAR Кнопка в карточке сверху. Допустимые объекты: DEAL, LEAD, CONTACT, COMPANY, INVOICE, QUOTE
CRM_*_ACTIVITY_TIMELINE_MENU Кнопка в контекстном меню объекта (Только для объектов DEAL, LEAD).
CRM_*_DOCUMENTGENERATOR_BUTTON Кнопка в документах. Допустимые объекты: DEAL, LEAD, CONTACT, COMPANY, INVOICE, QUOTE
CRM_*_ROBOT_DESIGNER_TOOLBAR Кнопка в слайдере с роботами (Только для объектов DEAL, LEAD).
Задачи
TASK_USER_LIST_TOOLBAR Кнопка около Роботов.
TASK_GROUP_LIST_TOOLBAR Кнопка около Роботов.
TASK_ROBOT_DESIGNER_TOOLBAR Кнопка в слайдере с роботами.
Рабочие группы
SONET_GROUP_ROBOT_DESIGNER_TOOLBAR Кнопка у роботов в группе.
SONET_GROUP_TOOLBAR Кнопка на вкладке Основное в группе.
Профиль пользователя
USER_PROFILE_MENU Кнопка в главном меню портала.
USER_PROFILE_TOOLBAR Кнопка в профиле .
scope telephony
Код Карточка звонка
CALL_CARD Карточка звонка
scope landing
Код Настройки
LANDING_SETTINGS Меню настроек (Страницы / Сайта)
Код Редактирование
LANDING_BLOCK Пункт редактирования любого блока.
scope worgroups
Код Настройки
SONET_GROUP_DETAIL_TAB Закладка рабочей группы.
scope task
Код Настройки
TASK_LIST_CONTEXT_MENU Контекстное меню списка задач.
TASK_VIEW_TAB Вкладка в форме просмотра задачи
TASK_VIEW_SIDEBAR Боковая панель формы просмотра задачи
TASK_VIEW_TOP_PANEL Пункт в вехнем меню формы просмотра задачи
scope calendar
Код Настройки
CALENDAR_GRIDVIEW Список видов отображения календаря
scope contact_center
Код Настройки
CONTACT_CENTER "Квадратик" в списке Контакт центра.
Произвольное место
Код Настройки
REST_APP_URI На каждом портале каждому приложению позволяется зарегистрировать только одну встройку методом placement.bind.

Эта встройка не имеет в интерфейсе кнопки, которая позволяет пользователю открыть её самостоятельно. Приложение может отправить ссылку на свою встройку. Для использования данной встройки ссылка должна быть в формате /marketplace/view/#APP_CODE#/, где #APP_CODE# - код вашего приложения.

Встройка может принимать любое количество параметров в get ключе params, например: /marketplace/view/#APP_CODE#/?params[test]=y. В этом случае в PLACEMENT_OPTIONS будет равен:

 [
'test' = 'y'
]
Пример: как с помощью BBCode вставить данную ссылку в чат:
[url=/marketplace/view/'.$myApp['CODE'].'/?params[test]=y]uri[/url]

<?
$placement = 'REST_APP_URI';
$url = 'https://example.com/placement.php';
CRest::call(
  'placement.bind',
  [
      'PLACEMENT' => $placement,
      'HANDLER' => $url
  ]
);
?>

Пример выше регистрирует на вашем портале встройку. Для данного PLACEMENT можно на портале зарегистрировать её только один раз, после этого она становится доступна для вызова. В вашем приложении вы можете разместить вашу встройку:

<a href="/marketplace/view/<?=$myApp['CODE']?>/">uri</a>

И разместить её в посте живой ленты:

<?
    CRest::call('log.blogpost.add',
        [
            'POST_TITLE' => 'Post Title',
            'POST_MESSAGE' => 'use this [url=/marketplace/view/'.$myApp['CODE'].'/?params[test]=y]uri[/url]',
            'DEST' => [ 'UA' ]
        ]);
?>

И отправить её с помощью бота в чат пользователю методом:

<?
CRest::call(
    'imbot.message.add',
    [
        'DIALOG_ID' => 1,
        'MESSAGE' => 'use this [url=/marketplace/view/'.$myApp['CODE'].'/?params[test]=y]uri[/url]',

    ]
);
?>

Ссылку можно вставить в любое текстовое поле, которое поддерживает BBCode или внутри ваших других встроек как обычная ссылку. А с помощью GET параметра params вы можете изменять отображаемые данные в стройке и использовать эту возможность в абсолютно разных сценариях передавая любое количество параметров в GET ключе params, например: ?params[test]=yy.



© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх