Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Виджет над сообщением IM_TEXTAREA». Вы узнаете экспертные методики работы с битрикс и научитесь избегать типичных ошибок начинающих разработчиков.
Виджет над сообщением IM_TEXTAREA
Тут может не хватать некоторых данных — дополним в ближайшее время
- Что получает обработчик (скопировано из примера Сергея, detail-tab)
- Частые кейсы и сценарии — надо добавить, если есть что
- Продолжите изучение (скопировано из примера Сергея, detail-tab)
- нет скрина
> Scope: im
Вы можете добавлять свой пункт в панели над полем ввода (генерация контента в момент написания сообщения).
Код конкретного места встройки виджета указывается в параметре PLACEMENT метода placement.bind.
Встройка не будет отображаться в интерфейсе, пока установка приложения не завершена. Проверьте установку приложения
Куда встраивается виджет
| Код встройки | Место |
|---|---|
IM_TEXTAREA | Пункт в панели над полем ввода |
Что получает обработчик
Данные передаются в виде POST-запроса {.b24-info}
'DOMAIN': 'xxx.bitrix24.com'
'PROTOCOL': 1
'LANG': 'en'
'APP_SID': '99c80eff6378726287350416ee5fef0'
'AUTH_ID': '6061e72600631fcd00005a4b00000001f0f1076700000000f69dd5fc643d9ce2fdbc1'
'AUTH_EXPIRES': 3600
'REFRESH_ID': '50e00aa340631fcd00005a4b00000001f0f1071111116580a5b83c2de639ef28c12'
'member_id': 'da45a03b265ed12127f8a258d793cc5d'
'status': 'L'
'PLACEMENT': 'CRM_DEAL_DETAIL_TAB'
'PLACEMENT_OPTIONS': '{"ID":"3443"}'
Параметртип | Описание |
|---|---|
DOMAINstring | Адрес Битрикс24, на котором был вызван обрабтчик виджета |
PROTOCOLstring | Защищенный или не защищенный протокол HTTP: — |
LANGstring | Язык интерфейса пользователя Битрикс24, который вызвал виджет. Вы можете локализовать язык интерфейса в своём виджете, ориентируясь на это значение |
APP_SIDstring | Строковый идентификатор приложения, зарегистрировавшего обработчик виджета |
AUTH_IDstring | Авторизационный токен OAuth 2, выписанный для пользователя, вызвавшего виджет. Можно использовать для вызовов REST API от лица этого пользователя |
AUTH_EXPIRESinteger | Время в секундах, после которого авторизационный токен станет неактуальным |
REFRESH_IDstring | Refresh-токен OAuth 2, выписанный для пользователя, вызвавшего виджет. Можно использовать для обновления авторизационного токена от лица этого пользователя |
member_idstring | Уникальный строковый идентификатор Битрикс24, на котором был вызван обрабтчик виджета. |
statusstring | Тип приложения, зарегистрировавшего обработчик данного виджета. Принимает значения: — |
PLACEMENT*string | Код места встройки виджета. Вы можете использовать один и тот же URL обработчка для всех своих виджетов. Значение, которое Битрикс24 будет сообщать в параметре PLACEMENT, поможет определить, из какого именно места встройки виджета был вызван ваш обработчик в каждом конкретном случае |
PLACEMENT_OPTIONSstring | Дополнительные данные в виде JSON-строки, определяющие контекст выполнения виджета. В данном случае, это массив, содержащий числовой идентификатор элемента CRM, в карточке которого был вызван обработчик виджета. Параметр PLACEMENT_OPTIONS вместе с параметром PLACEMENT позволяет точно определить, для какого именно объекта CRM был вызван обработчик виджета |
- [](../placement-bind)
- [](../ui-interaction/index)
- [](../ui-interaction/crm-card)
- [](../../../settings/interactivity/index)
- [](../open-application)
- [](../open-path)
💡 Экспертное мнение и рекомендации
Практические рекомендации:
- При написании кастомных компонентов для «Виджет над сообщением IM_TEXTAREA» всегда разделяйте бизнес-логику и представление (шаблон).
- Используйте отладку SQL-запросов через конструкцию
$wpdb->last_queryили стандартный трекер Битрикса, чтобы контролировать нагрузку.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru