Для AI-агентов: markdown этой страницы — /docs-content/apps/placements/bind.md индекс документации — /llms.txt

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

POST /v1/placements/bind

Регистрирует приложение в выбранной точке интерфейса Битрикс24 на аккаунте — вкладке карточки, пункте меню, панели чата. После вызова точка появляется в интерфейсе с той подписью, которая передана в запросе.

Предусловия вызова — что нужно до привязки.

Поля запроса (body)

Поле Тип Обяз. Описание
placement string да Код места встраивания. Перечень кодов, доступных аккаунту — Доступные места
handler string да Абсолютный адрес страницы приложения, которая откроется в этом месте
title string да Подпись места в интерфейсе аккаунта, от 1 до 255 символов
options object нет Настройки места встраивания. Кроме перечисленных ниже полей принимаются любые другие — например context, role, extranet у места IM_CONTEXT_MENU. Значение каждого поля — строка, число или логическое значение, вложенные объекты и массивы не принимаются
options.iconName string нет Имя значка, от 1 до 255 символов. Требуется местам IM_SIDEBAR, IM_NAVIGATION, IM_TEXTAREA — без него Битрикс24 отклоняет привязку. Месту IM_CONTEXT_MENU значок не нужен
options.errorHandlerUrl string нет Адрес страницы ошибки для места PAGE_BACKGROUND_WORKER. Если поле не передано, платформа подставляет действующий адрес обработчика
options.iconSvg string нет Значок в формате SVG, до 10 000 символов
options.width number нет Ширина области встраивания. Целое положительное число
options.height number нет Высота области встраивания. Целое положительное число
options.color string нет Имя цвета из палитры чата Битрикс24 — например AZURE, GREEN, PURPLE. Не шестнадцатеричный код, до 64 символов

Примеры

curl — OAuth-приложение

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/placements/bind \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "placement": "CRM_DEAL_DETAIL_TAB",
    "handler": "https://example.com/deal-tab",
    "title": "Аналитика по сделке"
  }'

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/placements/bind', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    placement: 'CRM_DEAL_DETAIL_TAB',
    handler: 'https://example.com/deal-tab',
    title: 'Аналитика по сделке',
  }),
})

const { data } = await res.json()
console.log('Зарегистрированный адрес обработчика:', data.handler)

Поля ответа

Поле Тип Описание
success boolean true при успешной привязке
data.placement string Код привязанного места встраивания
data.handler string Адрес обработчика, зарегистрированный на аккаунте
data.title string Подпись места в интерфейсе аккаунта
data.options object Действующий набор настроек места. Приходит, когда настройки переданы в запросе или подставлены платформой
data.alreadyBound boolean true, когда место уже числилось привязанным и регистрация выполнена заново
data.handlerRewritten boolean true, когда переданный адрес обработчика заменён на платформенный
data.requestedHandler string Адрес обработчика из запроса. Приходит вместе с handlerRewritten

Пример ответа

Переданный адрес обработчика заменён на платформенный:

JSON
{
  "success": true,
  "data": {
    "placement": "CRM_DEAL_DETAIL_TAB",
    "handler": "https://vibecode.bitrix24.tech/v1/bitrix-handler",
    "title": "Аналитика по сделке",
    "requestedHandler": "https://app-a1b2c3d4.vibecode.bitrix24.tech/deal-tab",
    "handlerRewritten": true
  }
}

Повторная привязка того же кода:

JSON
{
  "success": true,
  "data": {
    "placement": "CRM_DEAL_DETAIL_TAB",
    "handler": "https://example.com/deal-tab",
    "title": "Сделка: сводка",
    "alreadyBound": true
  }
}

Привязка места PAGE_BACKGROUND_WORKER без options — платформа подставила адрес страницы ошибки:

JSON
{
  "success": true,
  "data": {
    "placement": "PAGE_BACKGROUND_WORKER",
    "handler": "https://example.com/worker",
    "title": "Фоновый сценарий",
    "options": {
      "errorHandlerUrl": "https://example.com/worker"
    }
  }
}

Пример ответа при ошибке

400 — в теле запроса нет обязательного поля:

JSON
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "title: Required"
  }
}

Ошибки

HTTP Код Описание
400 OAUTH_APP_REQUIRED Вызов сделан личным ключом. Привязка работает только с ключом авторизации приложения
400 VALIDATION_ERROR Тело запроса не прошло проверку — пропущено обязательное поле или код места не входит в перечень допустимых
400 PLATFORM_HANDLER_UNRESOLVABLE Переданный адрес указывает на технический адрес сервера приложения, а платформенный обработчик определить не удалось. Место не зарегистрировано
400 APP_NOT_REGISTERED У приложения нет идентификатора приложения Битрикс24
400 BOX_NO_DEVELOPER_KEY У автора приложения не настроен ключ разработчика
401 SESSION_REQUIRED Не передан заголовок Authorization: Bearer с токеном сессии
403 PLACEMENT_SCOPE_MISSING У ключа нет скоупа placement
403 WRITE_BLOCKED_READONLY_KEY Ключ работает в режиме только чтения. Переключите его на чтение и запись
403 SESSION_REQUIRES_ADMIN Ключ разработчика принадлежит пользователю без прав администратора аккаунта
403 B24_MARKET_SUBSCRIPTION_REQUIRED Нужна активная подписка BitrixGPT + Маркетплейс
403 B24_MARKET_TRIAL_USED Пробный период подписки BitrixGPT + Маркетплейс уже использован — нужна платная подписка
403 INT_TARIFF_REQUIRED Нужен коммерческий тариф Битрикс24
404 APP_NOT_FOUND К ключу не привязано приложение
413 FST_ERR_CTP_BODY_TOO_LARGE Тело отправлено не как JSON и длиннее одного байта. Укажите заголовок Content-Type: application/json
415 FST_ERR_CTP_INVALID_MEDIA_TYPE Тело отправлено не как JSON и равно одному байту — та же причина, другая ветка проверки
502 BITRIX_UNAVAILABLE Битрикс24 отклонил регистрацию места. Код и статус ответа Битрикс24 приходят в details
503 NETWORK_DEVKEY_REQUIRED Ключ разработчика для автора приложения ещё не выдан

Полный список общих ошибок API — Ошибки.

Известные особенности

  • Повторная привязка перерегистрирует место. Вызов для уже привязанного кода не отклоняется: платформа снимает прежнюю регистрацию и привязывает место заново, поэтому новые адрес обработчика и подпись вступают в силу. Это единственный способ изменить подпись уже привязанного места.
  • Технический адрес сервера приложения заменяется платформенным. Если handler указывает на технический адрес сервера приложения, на аккаунте регистрируется платформенный обработчик приложения. Внешние адреса регистрируются без изменений.
  • Битрикс24 дополняет options своими значениями. Для виджетов чата аккаунт хранит рядом с переданными настройками собственные — область показа, роль и признак экстранета. Они приходят в привязанных местах даже тогда, когда вы их не передавали.
  • Подпись одна для всех языков интерфейса. Значение title уходит на аккаунт единственной подписью, отдельный перевод этим вызовом не задаётся. В привязанных местах поле langAll возвращает эту же подпись для каждого языка.

Смотрите также