При закрытии сессии открытой линии OnSessionFinish

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

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

Scope: imopenlines

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

Событие OnSessionFinish сработает при закрытии сессии открытой линии, например когда оператор завершает диалог или сессия закрывается автоматически. Если после завершения диалога сессия ждет ответа клиента, событие придет, когда сессия закроется окончательно.

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

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

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

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

{
    "event": "ONSESSIONFINISH",
    "event_handler_id": 145,
    "data": {
        "DATA": {
            "connector": {
                "connector_id": "my_connector",
                "line_id": 1,
                "chat_id": 17,
                "user_id": 10
            },
            "chat": {
                "chat_id": 17
            },
            "line": {
                "id": 1,
                "name": "Открытая линия"
            }
        }
    },
    "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

Символьный код события.

В данном случае — ONSESSIONFINISH

event_handler_id*
integer

Идентификатор обработчика события

data*
object

Объект с данными закрытой сессии.

Содержит единственный ключ DATA

data.DATA*
object

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

Структура описана ниже

ts*
timestamp

Дата и время отправки события из очереди событий

auth*
object

Объект, содержащий параметры авторизации и данные о Битрикс24, на котором произошло событие.

Структура описана ниже

Параметр DATA

Параметр
тип

Описание

connector*
object

Объект с информацией о канале связи сессии.

Структура описана ниже

chat*
object

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

Структура описана ниже

line*
object

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

Структура описана ниже

Параметр connector

Параметр
тип

Описание

connector_id*
string

Код коннектора, через который клиент пишет в линию. Например, livechat для онлайн-чата или код коннектора приложения

line_id*
integer

Идентификатор открытой линии

chat_id*
integer

Идентификатор чата открытой линии в Битрикс24

user_id*
integer

Идентификатор клиента в Битрикс24

Параметр chat

Параметр
тип

Описание

chat_id*
integer

Идентификатор чата открытой линии в Битрикс24. Совпадает с connector.chat_id

Параметр line

Параметр
тип

Описание

id*
integer

Идентификатор открытой линии. Совпадает с connector.line_id

name*
string

Название открытой линии

Параметр 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 в коде.

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

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