Событие при появлении новых записей в очереди офлайн-событий onOfflineEvent
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
базовыйКто может подписаться: любой пользователь
Событие ONOFFLINEEVENT сработает, когда в очереди офлайн-событий появятся новые записи.
Событие заменяет опрос очереди по таймеру: приложение получает сигнал и забирает накопленные записи методами event.offline.get или event.offline.list.
Подписывайтесь на ONOFFLINEEVENT только как на обычное событие — с URL обработчика в параметре handler метода event.bind. Подписка с event_type = offline возвращает ошибку ERROR_ARGUMENT с текстом Offline event cannot be registered for this event: само уведомление об очереди в очередь не складывается.
Подписаться может любой пользователь, но только из приложения: event.bind работает лишь с авторизацией OAuth 2.0 и отклоняет вызов вебхука. Забрать записи из очереди методами event.offline.* может только администратор и тоже только в контексте приложения. Подробнее в статье Офлайн-события.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Что получает обработчик
Данные передаются в виде POST-запроса
{
"event": "ONOFFLINEEVENT",
"event_handler_id": "185",
"data": [],
"ts": "1466439714",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "crm,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* |
Символьный код события — |
|
event_handler_id* |
Идентификатор обработчика события |
|
data* |
Приходит пустым. Подробнее ниже |
|
ts* |
Дата и время отправки уведомления из общей очереди событий |
|
auth* |
Объект, содержащий параметры авторизации и данные о Битрикс24, на котором произошло событие. Значение Структура описана ниже |
Параметр data
Событие не передает данные о конкретных изменениях, а сообщает только о появлении новых записей в очереди. Полезной нагрузки у него нет, поэтому data приходит пустым — не стройте обработчик на разборе этого параметра.
Чтобы получить сами события, вызовите event.offline.get или event.offline.list. Состав записи очереди описан на страницах этих методов.
Параметр auth
Обязательные параметры отмечены *
|
Название |
Описание |
|
access_token |
Токен авторизации OAuth 2.0 |
|
expires_in |
Время в секундах до истечения срока действия токена |
|
scope* |
Скоуп, в рамках которого произошло событие |
|
domain* |
Адрес Битрикс24, на котором произошло событие |
|
server_endpoint* |
Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0 |
|
status* |
Статус приложения, подписавшегося на это событие:
|
|
client_endpoint* |
Общий путь для вызовов методов REST API для Битрикс24, на котором произошло событие |
|
member_id* |
Идентификатор Битрикс24, на котором произошло событие |
|
refresh_token |
Токен продления авторизации OAuth 2.0 |
|
application_token* |
Токен для безопасной обработки событий |
Токены авторизации не всегда передаются в обработчик события. Если хит, инициировавший событие, не удалось привязать к конкретному пользователю Битрикс24, токены не передаются. Обязательно проверяйте содержимое ключа auth в коде.
Рекомендуем хранить токены, полученные ранее при установке приложения. Используйте их при работе с интерфейсом приложения в виде встроек, виджетов и так далее.
Периодичность уведомлений
Битрикс24 не отправляет отдельное уведомление на каждую запись очереди. Минимальный интервал между уведомлениями задается параметром minTimeout в объекте options при подписке методом event.bind.
Это единственный параметр options, который поддерживает ONOFFLINEEVENT.
|
Название |
Описание |
|
minTimeout |
Минимальный интервал между уведомлениями в секундах. По умолчанию — 1.
Больше |
Тело запроса event.bind для подписки с интервалом 60 секунд:
{
"event": "ONOFFLINEEVENT",
"handler": "https://example.com/handler.php",
"options": {
"minTimeout": 60
}
}
Продолжите изучение
- События: обзор методов и событий
- Зарегистрировать новый обработчик события event.bind
- Получить список зарегистрированных обработчиков событий event.get
- Отменить зарегистрированный обработчик события event.unbind
- Офлайн-события
- Получить список офлайн-событий с «очисткой» event.offline.get
- Получить список офлайн-событий event.offline.list
- Очистить записи в очереди офлайн-событий event.offline.clear
- Зарегистрировать ошибки обработки очереди офлайн-событий event.offline.error
- Безопасность в обработчиках