Взаимодействие встройки с полем ввода мессенджера
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Для работы с текстом в поле ввода чата используйте методы $b24.parent.message.send.
Это удобно, когда нужно:
- получить текущий текст из чата
- подставить подготовленный текст в поле ввода
- сделать это безопасно, без прямой работы с интерфейсом мессенджера
Формат вызова
$b24.parent.message.send(method, params)
Что нужно перед вызовами
- Приложение должно быть запущено внутри фрейма Битрикс24.
- SDK должен быть инициализирован через initializeB24Frame().
Пример:
const $b24 = await B24Js.initializeB24Frame()
Метод im:getImTextareaContent
Метод im:getImTextareaContent возвращает текущий текст из поля ввода активного чата.
Параметры
Обязательные параметры отмечены *
|
Параметр |
Описание |
|
requestId* |
Уникальный ID запроса. Создайте через B24Js.Text.getUuidRfc4122() |
|
isSafely |
Если |
|
safelyTime |
Сколько ждать ответ в миллисекундах |
Пример
const responseGet = await $b24.parent.message.send(
'im:getImTextareaContent',
{
requestId: B24Js.Text.getUuidRfc4122(),
isSafely: true,
safelyTime: 1500
}
)
В responseGet придет текст из поля ввода.
Если возникает ошибка, в ответе приходит объект с полями:
message— текст ошибки (системное сообщение JavaScript)requestId— тот жеrequestId, который был передан в запросе
Возможные причины ошибки:
- не удалось определить текущий диалог
- текстовое поле недоступно
Метод im:setImTextareaContent
Метод im:setImTextareaContent вставляет текст в поле ввода активного чата.
Параметры
Обязательные параметры отмечены *
|
Параметр |
Описание |
|
text* |
Текст для вставки в поле ввода |
|
requestId* |
Уникальный ID запроса. Создайте через B24Js.Text.getUuidRfc4122() |
|
withNewLine |
Если |
|
replace |
Если |
|
isSafely |
Если |
|
safelyTime |
Сколько ждать ответ в миллисекундах |
Пример
const responseSet = await $b24.parent.message.send(
'im:setImTextareaContent',
{
text: 'Hello from iframe!',
requestId: B24Js.Text.getUuidRfc4122(),
withNewLine: false,
replace: true,
isSafely: true,
safelyTime: 1500
}
)
В responseSet придет результат вставки.
Если возникает ошибка, в ответе приходит объект с полями:
message— текст ошибки (системное сообщение JavaScript)requestId— тот жеrequestId, который был передан в запросе
Возможные причины ошибки:
- не удалось определить текущий диалог
- текстовое поле недоступно
Пример реализации
Пример встройки, демонстрирующей оба метода — скачать.
Как устроен пример
- SDK подключается в браузере через UMD-скрипт
@bitrix24/b24jssdk. - При загрузке страницы вызывается
B24Js.initializeB24Frame(). - Кнопка Get text отправляет
im:getImTextareaContentи получает текущий текст поля ввода. - Кнопка Set text отправляет
im:setImTextareaContentи вставляет текст в чат. - Флаги
withNewLineиreplaceберутся из чекбоксов в форме. - Результаты запросов выводятся в блок
#logи вconsole.