При создании чата OnSessionStart

Scope: imopenlines

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

Событие OnSessionStart срабатывает при создании чата.

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

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

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

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

[
            'event' => 'ONSESSIONSTART',
            'eventId' => 1,
            'data' => [
                'DATA' => [
                    [
                        'connector' => [
                            'connector_id' => 'livechat',
                            'line_id' => 128,
                            'chat_id' => 10585,
                            'user_id' => 1984,
                        ],
                        'chat' => [
                            'id' => 10585
                        ],
                        'user' => [
                            'id' => 128,
                            'name' => 'linename'
                        ],
                    ],
                ],
            ],
            '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*
object

Объект с данными чата

Параметр DATA

Обязательные параметры отмечены *

Название
тип

Описание

connector*
object

Объект с информацией о коннекторе:

  • connector_id — идентификатор коннектора
  • line_id — идентификатор открытой линии
  • chat_id — идентификатор чата
  • user_id — идентификатор пользователя во внешней системе

chat*
object

Объект с информацией о чате:

  • id — идентификатор чата

line*
object

Объект с информацией об открытой линии:

  • id — идентификатор открытой линии
  • name — название открытой линии

Параметр auth

Обязательные параметры отмечены *

Название
тип

Описание

access_token
string

Токен авторизации OAuth 2.0

expires_in
integer

Время в секундах до истечения срока действия токена

scope*
string

Скоуп, в рамках которого произошло событие

domain*
string

Адрес Битрикс24, на котором произошло событие

server_endpoint*
string

Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0

status*
string

Статус приложения, подписавшегося на это событие:

client_endpoint*
string

Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие

member_id*
string

Идентификатор Битрикс24, на котором произошло событие

refresh_token
string

Токен продления авторизации OAuth 2.0

application_token*
string

Токен для безопасной обработки событий

Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.

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