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

placement.bind

Scope: в зависимости от места встройки Права на выполнение: администратор

Метод установит обработчик места встраивания.

Обработчик ограничен условиями:

  • запрос исполняется с авторизацией администратора,
  • обработчик лежит в том же домене, что и зарегистрированный redirect_uri приложения
  • каждое места встраивания привязано к праву доступа (scope). Чтобы установить обработчик места встраивания в интерфейсе CRM, дайте приложению доступ к CRM.

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

С версии rest 21.200.0 метод поддерживает многоязычность.

Параметры

Параметр Описание
PLACEMENT Идентификатор требуемого места встраивания. Обязателен.
HANDLER URL обработчика места встраивания. Обязателен.
LANG_ALL Массив параметров для каждого языка. Ключи массива:
  • TITLE - заголовок обработчика, будет выводиться по месту встраивания. Не обязателен, по умолчанию - название приложения
  • DESCRIPTION - Описание обработчика, может выводиться по месту встраивания. Не обязателен.
  • GROUP_NAME - Название группы, который позволяет группировать обработчики в месте встраивания. Не обязателен.
USER_ID Принимает число, позволяет отображать встройку для указанного пользователя (только одного!). 0 или не указано поле - встройка регистрируется для всех.

Внимание! Данное поле поддерживается не всеми местами встраивания На данный момент поддерживается только PAGE_BACKGROUND_WORKER. . При попытке регистрации места встраивания без этой возможности вы получите ошибку ERROR_PLACEMENT_USER_MODE: User mode is not available. Допустимость регистрации смотрите в описании мест встроек.

Также HANDLER встройки должен быть уникальным для приложения, без учёта разных USER_ID.

Пример

https://portal.bitrix24.com/rest/placement.bind/?auth=sode3flffcmv500fuagrprhllx3soi72
	&PLACEMENT=CRM_CONTACT_LIST_MENU
	&HANDLER=http%3A%2F%2Fwww.applicationhost.com%2Fplacement%2F
	&TITLE=Demo
HTTP/1.1 200 OK
{
	"result": true
}

Пример с поддержкой нескольких языков:

CRest::call(
	'placement.bind',
	[
		'PLACEMENT' => 'PLACEMENT_CODE',
		'HANDLER' => 'https://example.com/place.php',
		'LANG_ALL' => [
			'en' => [
				'TITLE' => 'title',
				'DESCRIPTION' => 'description',
				'GROUP_NAME' => 'group',
			],
			'ru' => [
				'TITLE' => 'заголовок',
				'DESCRIPTION' => 'описание',
				'GROUP_NAME' => 'группа',
			],
		],
	]
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Игорь Шевчик
Сообщение не промодерировано, возможны ошибки и неточности.
Код
Также HANDLER встройки должен быть уникальным для приложения, без учёта разных USER_ID.

В \Bitrix\Rest\PlacementTable::checkUniq нет проверки по полю USER_ID

По этой причине HANDLER нужно генерировать разный с учетом USER_ID
© «Битрикс», 2001-2024, «1С-Битрикс», 2024