Блог Горошко Андрея Bitrix24 При добавлении сообщения в чат OnOpenLineMessageAdd

При добавлении сообщения в чат OnOpenLineMessageAdd

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «При добавлении сообщения в чат OnOpenLineMessageAdd». Вы узнаете экспертные методики работы с добавлении сообщения и научитесь избегать типичных ошибок начинающих разработчиков.

При добавлении сообщения в чат OnOpenLineMessageAdd

> Scope: imopenlines
>
> Кто может подписаться: любой пользователь

Событие OnOpenLineMessageAdd срабатывает при добавлении сообщения в чат открытой линии.

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

События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения

Что получает обработчик

Данные передаются в виде POST-запроса

[
    'event' => 'ONOPENLINEMESSAGEADD',
    'eventId' => 1,
    'data' => [
        'DATA' => [
            [
                'connector' => [
                    'connector_id' => 'livechat',
                    'line_id' => 128,
                    'chat_id' => 10587,
                    'user_id' => 1985,
                ],
                'chat' => [
                    'id' => 10585
                ],
                'message' => [
                    'id' => 80964,
                    'date' => '',
                    'text' => 'hello',
                    'files' => [
                    ],
                    'attach' => '',
                    'system' => 'N',
                    'user_id' => 1985
                ],
                'ref' => [
                ],
                'extra' => [
                    'EXTRA_URL' => '' 
                ],
            ],
        ],
    ],
    'ts' => 1714649632,
    'auth' => [
        'access_token' => 's6p6eclrvim6da22ft9ch94ekreb52lv',
        'expires_in' => 3600,
        'scope' => 'imopenlines',
        'domain' => 'some-domain.bitrix24.com',
        'server_endpoint' => 'https://oauth.bitrix24.tech/rest/'',
        'status' => 'F',
        'client_endpoint' => 'https://some-domain.bitrix24.com/rest/'',
        'member_id' => 'a223c6b3710f85df22e9377d6c4f7553',
        'refresh_token' => '4s386p3q0tr8dy89xvmt96234v3dljg8',
        'application_token' => '51856fefc120afa4b628cc82d3935cce',
    ],
]

Входящие параметры и конфигурация метода

Название
тип
Описание
event
string
Символьный код события
eventId
integer
Идентификатор события
data
object
Объект с данными события
ts
integer
timestamp отправки события из очереди событий
auth
object
Объект с параметрами авторизации и данными о портале, на котором произошло событие

Параметр data {#data}

Название
тип
Описание
DATA
object
Объект с данными чата

Параметр DATA {#chat-params}

Название
тип
Описание
connector
object
Объект с информацией о коннекторе:
— connector_id — идентификатор коннектора
— line_id — идентификатор открытой линии
— chat_id — идентификатор чата
— user_id — идентификатор пользователя во внешней системе
chat
object
Объект с информацией о чате:
— id — идентификатор чата
message
object
Объект с информацией о сообщении:
— id — идентификатор сообщения
— date — дата и время добавления
— text — текст сообщения
— files — файлы
— attach — прикрепленные файлы
— system — отметка, что сообщения вляется системным. Имеет значение Y, если системное
— user_id — идентификатор пользователя
ref
object
Код трекера trackId для привязки сообщения к объекту CRM
extra*
object
Объект дополнительной информацией:
— EXTRA_URL — внешняя ссылка для Bitrix24.Network

Параметр auth

💡 Экспертное мнение и рекомендации

Практические рекомендации:

  • При написании кастомных компонентов для «При добавлении сообщения в чат OnOpenLineMessageAdd» всегда разделяйте бизнес-логику и представление (шаблон).
  • Используйте отладку SQL-запросов через конструкцию $wpdb->last_query или стандартный трекер Битрикса, чтобы контролировать нагрузку.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Импортировать одну запись crm.item.importИмпортировать одну запись crm.item.import

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Импортировать одну запись crm.item.import». Мы подготовили подробный разбор принципов работы и развернутые примеры интеграции. Импортировать

Получить полный набор настроек видимости полей rpa.fields.getSettingsПолучить полный набор настроек видимости полей rpa.fields.getSettings

Оптимизация производительности и безопасности — залог успешного проекта на 1С-Битрикс. Данный материал посвящен практическому применению «Получить полный набор настроек видимости полей rpa.fields.getSettings». Мы подготовили подробный разбор принципов работы и развернутые

Событие на создание нового дела onCrmActivityAddСобытие на создание нового дела onCrmActivityAdd

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Событие на создание нового дела onCrmActivityAdd», разберем архитектурные