Просмотров: 7972
Дата последнего изменения: 20.04.2023
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
4
5
Приложение для открытия контекстного меню сообщения внутри чата
Код встраивания: IM_CONTEXT_MENU
Встраивание в пункт "Создать контент на основании" (аналогом является "Создать задачу” или "Создать встречу" на основании сообщения).
Параметры
Параметр |
Обязат. |
Описание |
context |
Нет |
Для какого типа чата встраивать приложение (по умолчанию ALL). Поддерживает множественный выбор через ; следующих значений:
- USER – чаты всех пользователей, исключая ботов;
- CHAT – все групповые чаты, кроме lines и crm;
- LINES – тип чата lines (открытые линии);
- CRM – только чаты, созданные в рамках CRM;
- ALL – все чаты.
|
role |
Нет |
Роль пользователя, для которой доступно это приложение (по умолчанию USER). Поддерживает следующие значения:
- USER – приложение доступно для всех пользователей;
- ADMIN – приложение доступно только для администраторов портала.
|
extranet |
Нет |
Доступно ли приложение для экстранет-пользователей (по умолчанию N). Поддерживает следующие значения:
- N – приложение недоступно для экстранет-пользователей;
- Y – приложение доступно для экстранет-пользователей.
|
|
В данном встраивании доступен текущий контекст открытия, будет передан dialogId текущего чата и messageId выбранного сообщения.
const context = BX24.placement.info().options;
Приложение будет открываться в стилистике слайдера (как задачи или как календарь).
Пример вызова:
CRest::call(
'placement.bind',
[
'PLACEMENT' => 'IM_CONTEXT_MENU',
'HANDLER' => 'https://example.com/apps/immarket/handlers/context_menu.php',
'LANG_ALL' => [
'ru' => [
'TITLE' => 'Приложение для открытия контекстного меню сообщения внутри чата',
],
],
'OPTIONS' => [
'context' => 'USER;CHAT',
'role' => 'USER',
'extranet' => 'N',
]
]
);