Событие изменения очереди onOfflineEvent
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Кто может подписаться: любой пользователь
Событие onOfflineEvent уведомляет о появлении новых офлайн событий с некоторой периодичностью.
Приложение может подписаться на события двух видов.
- Обычные: событие вызывает внешний URL и выполняется действие, определяемое этим адресом.
- Офлайн: вместо вызова внешнего URL происходит локальное сохранение событий на портале, откуда потом можно забрать события методами event.offline.*.
У события onOfflineEvent по факту локального сохранения вычисляется необходимость отправки уведомления, и затем оно отправляется как обычное событие на внешний URL.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Событие уведомляет о появлении новых записей в очереди офлайн-событий. Данные измененных объектов в нем не передаются — получите их методами event.offline.get или event.offline.list.
Данные передаются в виде POST-запроса
{
"event": "ONOFFLINEEVENT",
"data": [],
"ts": "1466439714",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "task",
"domain": "some-domain.bitrix24.ru",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "F",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "a223c6b3710f85df22e9377d6c4f7553",
"refresh_token": "4s386p3q0tr8dy89xvmt96234v3dljg8",
"application_token": "51856fefc120afa4b628cc82d3935cce"
}
}
Параметры запроса
Обязательные параметры отмечены *
|
Название |
Описание |
|
event* |
Символьный код события — |
|
data* |
Приходит пустым. Подробнее ниже |
|
ts* |
Дата и время отправки события |
|
auth* |
Данные авторизации и портала. Структура описана ниже |
Параметр data
Параметр приходит пустым. Событие не передает данные о конкретных изменениях, а сигнализирует только о появлении новых записей в очереди. Чтобы получить события, вызовите event.offline.get или event.offline.list.
Параметр auth
Обязательные параметры отмечены *
|
Название |
Описание |
|
access_token* |
Токен для обращения к API |
|
expires_in* |
Время в секундах до истечения срока действия токена |
|
scope* |
Скоуп, в рамках которого произошло событие |
|
domain* |
Адрес Битрикс24, на котором произошло событие |
|
server_endpoint* |
Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0 |
|
status* |
Статус приложения, подписавшегося на это событие:
|
|
client_endpoint* |
Общий путь для вызовов методов API для Битрикс24, на котором произошло событие |
|
member_id* |
Идентификатор Битрикс24, на котором произошло событие |
|
refresh_token* |
Токен продления авторизации OAuth 2.0 |
|
application_token* |
Токен для безопасной обработки событий |
offline_event — приложение не всегда в состоянии принимать события. Оно может скрываться за фаерволлами, жить во внутренней сети и так далее. В этом случае используется механизм офлайн-событий, когда приложение подписывается на события, но не указывает URL обработчика.
Периодичность уведомлений
Интервал между уведомлениями задается параметром minTimeout в объекте options при подписке методом event.bind. Значение указывается в секундах, по умолчанию 1. Значения параметра:
0— в пределах одного обращения к Битрикс24 на адрес обработчика отправляется только одно уведомление, независимо от количества добавленных в очередь событий- больше
0— при первом срабатывании отправляется одно уведомление, следующее уйдет не раньше, чем через указанное число секунд
Продолжите изучение
- Получить список доступных событий events
- Зарегистрировать новый обработчик события event.bind
- Получить список зарегистрированных обработчиков событий event.get
- Отменить зарегистрированный обработчик события event.unbind
- Безопасность в обработчиках
- Офлайн-события
- Получить список офлайн-событий event.offline.list
- Получить список офлайн-событий с «очисткой» event.offline.get
- Очистить записи в очереди офлайн-событий event.offline.clear
- Зарегистрировать ошибки обработки очереди офлайн-событий event.offline.error