Виджеты, встраиваемые в интерфейс объектов пользовательских типов CRM

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Виджеты встраивают интерфейс приложения прямо в Битрикс24: свою вкладку в карточке элемента, свою кнопку над таймлайном. Общий механизм описан в разделе Механизм встраивания виджетов.

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

Например, если добавлен смарт-процесс «Поставщики» с идентификатором типа 131, для него доступны вкладка в детальной карточке элемента по коду CRM_DYNAMIC_131_DETAIL_TAB и кнопка над таймлайном по коду CRM_DYNAMIC_131_DETAIL_ACTIVITY.

Как встроить виджет в смарт-процесс

  1. Узнайте идентификатор типа. В коде точки используется entityTypeId смарт-процесса: его возвращает метод crm.type.list в ключе entityTypeId или метод crm.enum.ownertype в ключе ID. Не путайте entityTypeId с id смарт-процесса — это разные значения, и одно не вычисляется из другого. Остальные идентификаторы смарт-процесса перечислены в разделе Идентификаторы смарт-процессов.

  2. Соберите код точки. Коды точек встраивания для смарт-процессов строятся по образцу CRM_DYNAMIC_XXX_DETAIL_TAB, где вместо XXX подставляется entityTypeId. Для типа 131 вкладка в карточке элемента — это CRM_DYNAMIC_131_DETAIL_TAB, а кнопка над таймлайном — CRM_DYNAMIC_131_DETAIL_ACTIVITY. Полный список кодов, доступных смарт-процессам, приведен в разделе Смарт-процессы: обзор методов и событий.

  3. Зарегистрируйте обработчик методом placement.bind: передайте код точки в параметре PLACEMENT, а адрес своего обработчика — в HANDLER. Метод доступен только администратору и требует контекст приложения: вебхуком точку встраивания не зарегистрировать.

    curl -X POST \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{"PLACEMENT":"CRM_DYNAMIC_131_DETAIL_TAB","HANDLER":"https://myapp.com/handler/","TITLE":"Поставщики","auth":"**put_access_token_here**"}' \
    https://**put_your_bitrix24_address**/rest/placement.bind
    
  4. Завершите установку приложения. До этого виджет в интерфейсе не появится.

Другие точки встраивания

Scope: placement, crm

Вкладка в карточке и кнопка над таймлайном — не единственные точки. Смарт-процессы поддерживают и другие: пункты контекстного меню и меню над списком элементов, пункт меню верхней кнопки карточки, кнопку генератора документов, пункт меню дизайнера роботов. Что делает каждая точка, что приходит обработчику при ее вызове и какие ошибки возможны при регистрации — в обзоре Виджеты в CRM: обзор точек встраивания.

Продолжите изучение