События: обзор методов и событий
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
События в Битрикс24 — это уведомления об изменениях данных, например, о создании сделки или удалении товара. Когда приложение или вебхук подписывается на событие, Битрикс24 начинает отправлять ему такие уведомления. Чтобы получать события, настройте обработчик.
Обработчик события — это внешний URL-адрес, на который Битрикс24 отправляет POST-запрос с данными об изменении. Обработчик позволяет:
- синхронизировать данные с внешней системой
- запускать автоматические сценарии
- проверять данные по правилам бизнес-логики
URL обработчика должен быть доступен из внешней сети. Не используйте адреса на localhost или в локальной сети. Проверяйте доступность вашего URL с помощью публичных сервисов.
События не будут отправляться в приложение, пока установка не завершена. Проверьте установку приложения
Быстрый переход: все методы и события
Как работают события
- Приложение регистрирует обработчик для нужного события методом event.bind, а исходящий вебхук — в интерфейсе Битрикс24.
- Пользователь совершает действие в Битрикс24, например, изменяет задачу.
- Битрикс24 отправляет уведомление на URL обработчика через сервер очередей.

Особенности работы
Битрикс24 не вызывает обработчик напрямую. Сначала событие попадает в очередь на специальном сервере. Оттуда на ваш обработчик уходит POST-запрос. Из-за этого запрос может прийти с небольшой задержкой.
Сервер проверяет скорость ответа обработчика. Если обработчик отвечает медленно, сервер снижает частоту вызовов. Интервалы между запросами увеличиваются.
Актуальные адреса сервера очередей.
Как подписаться на событие
Подписаться на событие можно двумя способами.
|
Способ |
Как подписаться |
Какие события доступны |
|
Метод event.bind в коде приложения |
Все события, включая офлайн-события |
|
|
Список событий в интерфейсе Битрикс24 |
Только онлайн-события, которые есть в списке вебхука |
Метод event.bind работает только в контексте авторизации приложения. Список событий, доступных приложению, возвращает метод events.
Подписка через исходящий вебхук
- В Битрикс24 откройте раздел Разработчикам > Другое > Исходящий вебхук.
- Укажите URL обработчика.
- Выберите одно или несколько событий из списка, например
OnCrmDealAdd. - Сохраните вебхук. Поле Токен приложения сгенерируется автоматически.
Проверить, что события доходят до вашего обработчика, поможет статья Как проверить свой обработчик для обработки событий Битрикс24.
Что приходит в обработчик
Битрикс24 отправляет запрос с content-type application/x-www-form-urlencoded. В примерах ниже структура показана в формате JSON. При передаче все значения приходят строками.
{
"event": "ONCRMDEALADD",
"event_handler_id": "185",
"data": {
"FIELDS": {
"ID": "7405"
}
},
"ts": "1766047124",
"auth": {
"access_token": "s6p6eclrvim6da22ft9ch94ekreb52lv",
"expires_in": "3600",
"scope": "crm",
"domain": "some-domain.bitrix24.ru",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"status": "L",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "d897063e1ce7c5eb9f04b9751eef5915",
"application_token": "51856fefc120afa4b628cc82d3935cce"
}
}
{
"event": "ONCRMDEALADD",
"event_handler_id": "975",
"data": {
"FIELDS": {
"ID": "7405"
}
},
"ts": "1766047124",
"auth": {
"domain": "some-domain.bitrix24.ru",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"member_id": "d897063e1ce7c5eb9f04b9751eef5915",
"application_token": "jvh9y1ulvt2m6k5or90v9mg8nn32ozas"
}
}
Состав ключей верхнего уровня одинаковый для всех событий.
|
Параметр |
Описание |
|
event |
Символьный код события в верхнем регистре, например |
|
event_handler_id |
Идентификатор зарегистрированного обработчика события |
|
data |
Данные события, например ключ Состав |
|
ts |
Время возникновения события в Битрикс24 в формате Unix, в секундах |
|
auth |
Параметры авторизации и данные о Битрикс24, в котором произошло событие. Структура описана ниже |
Событие сообщает только о факте изменения. Чтобы получить сами данные объекта, вызовите метод чтения этого объекта, например crm.deal.get.
Параметр auth
Токены OAuth 2.0 выдаются от имени пользователя, указанного при подписке, и наследуют его права. Какой это пользователь, зависит от параметра auth_type метода event.bind.
Состав ключей auth зависит от способа подписки. В исходящий вебхук приходят только domain, client_endpoint, server_endpoint, member_id и application_token — токены OAuth 2.0 и данные приложения вебхуку не передаются.
Токен refresh_token приходит не со всеми событиями. Его передают только события, которым нужен долгий доступ к Битрикс24, например OnAppInstall и onOfflineEvent.
Ключ application_token — основной способ убедиться, что запрос пришел от Битрикс24. Как проверять его в коде обработчика, описано в статье Безопасность в обработчиках.
Обязательные параметры отмечены *
|
Название |
Описание |
|
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 одновременно изменили тысячу сделок, обработчик получит тысячу вызовов.
- Повторных отправок нет. Если ваш сервер не ответил или вернул ошибку, сервер очередей Битрикс24 зафиксирует сбой, но не отправит событие повторно.
Если важно обработать все события без потерь, используйте офлайн-события. Они позволяют получить события из очереди вручную.
Права доступа
Обычный пользователь может регистрировать, получать и удалять свои обработчики онлайн-событий методами event.bind, event.get и event.unbind. Если в event.bind указать auth_type другого пользователя, метод вернет ошибку доступа. Ограничения auth_type в event.unbind описаны на странице метода.
С очередью офлайн-событий может работать только администратор. Это ограничение действует для методов event.offline.get, event.offline.list, event.offline.clear и event.offline.error.
Типовые ошибки методов event.*
|
Код |
Когда возникает |
|
|
Метод вызван не в контексте приложения, например через входящий вебхук |
|
|
Нет прав на операцию, подробнее в разделе Права доступа |
|
|
Тариф не поддерживает запрошенную возможность: ключ источника |
Полный список ошибок приведен на странице каждого метода.
Обзор методов и событий
Scope:
базовыйКто может выполнять метод: зависит от метода
|
Метод |
Описание |
|
Регистрирует новый обработчик события |
|
|
Получает список зарегистрированных обработчиков событий |
|
|
Очищает записи в очереди офлайн-событий |
|
|
Регистрирует ошибки обработки очереди офлайн-событий |
|
|
Получает список офлайн-событий с «очисткой» |
|
|
Получает список офлайн-событий |
|
|
Отправляет тестовое событие |
|
|
Отменяет зарегистрированный обработчик события |
|
|
Получает список доступных событий |
|
Событие |
Вызывается |
|
При появлении новых записей в очереди офлайн-событий |