Документация для разработчиков

События

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

Обработчиком служит URL, который будет вызван после того, как пользователь произведет запрошенное действие на портале Битрикс24, на который установлено приложение. Поскольку запросы будут идти с серверов Битрикс, то любой URL должен быть доступен для GET/POST запросов извне.

Обработчик получает на вход следующие данные:

Поле запроса Описание
event Имя сработавшего события
data Массив данных события. Зависит от события.
auth Набор данных авторизации.

Обработчик может:

  • использовать полученные данные авторизации для выполнения запросов к REST API.
  • быть установлен только пользователем с правами администрирования портала.

Примечание. Если обработчику события требуется обращение к REST API для работы с данными, то настоятельно рекомендуется использовать для этого именно переданные данные авторизации, а не сохраненные на стороне приложения.

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

Обработчик события будет вызван не сразу после срабатывания события, а через некоторое время, зависящее от нагрузки.

Список доступных событий можно получить при помощи REST-метода events.

Установка обработчика события производится при помощи REST-метода event.bind или при помощи функции BX24.callBind js-библиотеки. Получение списка зарегистрированных обработчиков событий производится при помощи REST-метода events.get

Снятие зарегистрированного обработчка события производится при помощи REST-метода event.unbind или при помощи функции BX24.callUnbind js-библиотеки.

Для доступа к каждому событию при регистрации версии приложения должно быть запрошено соответствующее событию право доступа.

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

Имена событий регистронезависимы.

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

Пример

Событие установки приложения

array(
  'event' => 'ONAPPINSTALL',
  'data' => array(
    'VERSION' => '1',
    'LANGUAGE_ID' => 'ru',
  ),
  'ts' => '1466439714',
  'auth' => array(
    'access_token' => 's6p6eclrvim6da22ft9ch94ekreb52lv',
    'expires_in' => '3600',
    'scope' => 'entity,im',
    'domain' => 'portal.bitrix24.com',
    'server_endpoint' => 'https://oauth.bitrix.info/rest/',
    'status' => 'F',
    'client_endpoint' => 'https://portal.bitrix24.ru/rest/',
    'member_id' => 'a223c6b3710f85df22e9377d6c4f7553',
    'refresh_token' => '4s386p3q0tr8dy89xvmt96234v3dljg8',
    'application_token' => '51856fefc120afa4b628cc82d3935cce',
  ),
)

Все события Rest

Событие Вызывается Поддерживает веб-хуки
События приложения
OnAppInstall Событие на установку приложения
OnAppUpdate Событие на обновление приложения.
OnAppUninstall при удалении приложения
OnAppPayment при оплате приложения
OnAppMethodConfirm при получении решения администратора портала по запросу на использование методов, требующих подтверждения
OnAppTest
События бот-платформы
OnImBotMessageAdd Событие на получение чат-ботом сообщения.
OnImBotMessageUpdate Событие на обновление сообщения чат-ботом.
OnImBotMessageDelete Событие на удаление сообщения чат-ботом.
OnImBotJoinChat Событие на получение информации чат-ботом о включении его в чат (или личную переписку).
OnImBotDelete Событие на удаление чат-бота.
OnImCommandAdd Событие на получение чат-ботом команды.
События CRM
Счета
onCrmInvoiceAddпри создании счёта Да
onCrmInvoiceDelete при удалении счётаДа
onCrmInvoiceSetStatus при изменении статуса счёта Да
onCrmInvoiceUpdate при обновлении счёта Да
onCrmInvoiceUserFieldAddпри добавлении пользовательского поля счёта Да
onCrmInvoiceUserFieldUpdate при изменении пользовательского поля счёта Да
onCrmInvoiceUserFieldDelete при удалении пользовательского поля счёта Да
onCrmInvoiceUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля счёта списочного типа Да
onCrmInvoiceRecurringAddпри создании нового регулярного счетаДа
onCrmInvoiceRecurringUpdateпри обновлении регулярного счетаДа
onCrmInvoiceRecurringDeleteпри удалении регулярного счетаДа
onCrmInvoiceRecurringExposeпри выставлении нового счета из регулярного счетаДа
Товары
onCrmProductAddпри создании товара Да
onCrmProductUpdate при обновлении товара Да
onCrmProductDelete при удалении товара Да
onCrmProductPropertyAddпри создании свойства товара Да
onCrmProductPropertyUpdate при обновлении свойства товараДа
onCrmProductPropertyDelete при удалении свойства товараДа
onCrmProductSectionAdd после добавлении раздела товара Да
onCrmProductSectionUpdate после изменении раздела товара Да
onCrmProductSectionDelete после удалении раздела товара Да
Лиды
onCrmLeadAddпри создании лида Да
onCrmLeadUpdate при обновлении лида Да
onCrmLeadDelete при удалении лида Да
onCrmLeadUserFieldAddпри добавлении пользовательского поля лида Да
onCrmLeadUserFieldUpdate при изменении пользовательского поля лида Да
onCrmLeadUserFieldDelete при удалении пользовательского поля лида Да
onCrmLeadUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля лида списочного типа Да
Сделки
onCrmDealAddпри создании сделки Да
onCrmDealUpdate при обновлении сделки Да
onCrmDealDelete при удалении сделки Да
onCrmDealUserFieldAddпри добавлении пользовательского поля сделки Да
onCrmDealUserFieldUpdate при изменении пользовательского поля сделки Да
onCrmDealUserFieldDelete при удалении пользовательского поля сделки Да
onCrmDealUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля сделки списочного типа Да
onCrmDealRecurringAddпри создании новой регулярной сделки Да
onCrmDealRecurringUpdateпри обновлении регулярной сделки Да
onCrmDealRecurringDeleteпри удалении регулярной сделки Да
onCrmDealRecurringExposeпри создании новой сделки из регулярной сделки Да
Компании
onCrmCompanyAddпри создании компании Да
onCrmCompanyUpdate при обновлении компании Да
onCrmCompanyDelete при удалении компании Да
onCrmCompanyUserFieldAddпри добавлении пользовательского поля компании Да
onCrmCompanyUserFieldUpdate при изменении пользовательского поля компании Да
onCrmCompanyUserFieldDelete при удалении пользовательского поля компании Да
onCrmCompanyUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля компании списочного типа Да
Контакты
onCrmContactAddпри создании контакта Да
onCrmContactUpdate при обновлении контакта Да
onCrmContactDelete при удалении контакта Да
onCrmContactUserFieldAddпри добавлении пользовательского поля Да
onCrmContactUserFieldUpdate при изменении пользовательского поля контакта Да
onCrmContactUserFieldDelete при удалении пользовательского поля контакта Да
onCrmContactUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля контакта списочного типа Да
Валюты
onCrmCurrencyAddпосле создании валюты Да
onCrmCurrencyUpdate после обновлении валюты Да
onCrmCurrencyDelete после удалении валюты Да
Дела
onCrmActivityAddпри создании дела Да
onCrmActivityUpdate при обновлении дела Да
onCrmActivityDelete при удалении дела Да
Коммерческие предложения
onCrmQuoteAddпри создании предложенияДа
onCrmQuoteUpdate при обновлении предложения Да
onCrmQuoteDelete при удалении предложенияДа
onCrmQuoteUserFieldAdd при добавлении пользовательского поля предложения Да
onCrmQuoteUserFieldDelete при удалении пользовательского поля предложенияДа
onCrmQuoteUserFieldUpdate при изменении пользовательского поля предложенияДа
onCrmQuoteUserFieldSetEnumValues при изменении набора значений для пользовательского поля предложения списочного типаДа
Реквизиты
onCrmRequisiteAdd При добавлении реквизита Да
onCrmRequisiteUpdate При изменении реквизита Да
onCrmRequisiteDelete При удалении реквизита Да
onCrmRequisiteUserFieldAddпри добавлении пользовательского поля реквизита Да
onCrmRequisiteUserFieldUpdate при изменении пользовательского поля реквизита Да
onCrmRequisiteUserFieldDelete при удалении пользовательского поля реквизита Да
onCrmRequisiteUserFieldSetEnumValuesпри изменении набора значений для пользовательского поля реквизита списочного типа Да
onCrmBankDetailAdd При добавлении банковского реквизита Да
onCrmBankDetailUpdate При обновлении банковского реквизита Да
onCrmBankDetailDelete При удалении банковского реквизита Да
onCrmAddressRegister При добавлении адреса Да
onCrmAddressUnregister При удалении адреса Да
Единицы измерений
onCrmMeasureAdd При добавлении единицы измерения Да
onCrmMeasureUpdate При обновлении единицы измерения Да
onCrmMeasureDelete При удалении единицы измерения Да
Таймлайн
onCrmTimelineCommentAddпри добавлении нового комментария в таймлайне Да
onCrmTimelineCommentUpdateпри обновлении нового комментария в таймлайне Да
onCrmTimelineCommentDeleteпри удалении нового комментария в таймлайне Да
События Телефонии
OnVoximplantCallInit при инициализации звонка (о поступлении или начале исходящего звонка).
OnVoximplantCallStart при начале разговора (ответе оператора при входящем и ответе абонента при исходящем).
OnVoximplantCallEnd при окончании разговора (запись в историю).
OnExternalCallStart вызывается, когда пользователь нажимает на телефонный номер в объектах CRM для совершения исходящего звонка.Да
OnExternalCallBackStart при заполнении crm-формы обратного звонка. Да
События Задач
OnTaskAdd при добавлении задачи.Да
OnTaskUpdate при обновлении задачи.Да
OnTaskDelete при удалении задачи.Да
OnTaskCommentAdd при добавлении комментария к задаче. Да
OnTaskCommentUpdate при проведении операций над комментарием к задаче. Да
OnTaskCommentDelete при удалении комментария к задаче. Да
События Живой ленты
ONLIVEFEEDPOSTADD Прокси к событию PHP OnAfterSocNetLogAdd. Да
ONLIVEFEEDPOSTUPDATE Прокси к событию PHP OnAfterSocNetLogUpdate. Да
ONLIVEFEEDPOSTDELETE Прокси к событию PHP OnSocNetLogDelete. Да
События Рабочих групп
ONSONETGROUPADD Событие вызывается после добавления новой рабочей группы. Прокси к событию OnSocNetGroupAdd. Да
ONSONETGROUPUPDATE Событие вызывается после изменения рабочей группы. Прокси к событию onSocnetGroupUpdate Да
ONSONETGROUPDELETE Вызывается в момент удаления рабочей группы. Прокси к событию OnSocNetGroupDelete Да
ONSONETGROUPSUBJECTADD Событие вызывается после создания темы рабочих групп. Прокси к событию OnSocNetGroupSubjectAdd. Да
ONSONETGROUPSUBJECTUPDATE Событие вызывается после изменения темы рабочих групп. Прокси к событию OnSocNetGroupSubjectUpdate Да
ONSONETGROUPSUBJECTDELETE Вызывается перед удалением темы рабочих групп.. Прокси к событию OnSocNetGroupSubjectDelete Да
События Интернет магазина
OnSaleOrderSaved Происходит в конце сохранения заказа, когда заказ и все связанные сущности уже сохранены. Да
OnSaleBeforeOrderDelete Вызывается перед удалением заказа. Да
On <сущность> где <сущность> - это:

- свойство заказа PropertyValue;

- оплата Payment;

- отгрузка Shipment;

- заказ Order.
EntitySaved
Происходит непосредственно после сохранения сущности системы заказов. Да
On <сущность> где <сущность> - это:

- свойство заказа PropertyValue;

- оплата Payment;

- отгрузка Shipment;

- заказ Order.
Deleted
Вызывается при непосредственном удалении сущности из базы.Да
События пользователя
OnUserAdd При добавлении пользователя в Битрикс24 Да
События Коннектора для внешних мессенджеров
OnImConnectorLineDelete Событие удаления открытой линии.
OnImConnectorMessageAdd Событие нового сообщения из ОЛ.
OnImConnectorMessageUpdate Событие изменения сообщения из ОЛ.
OnImConnectorMessageDelete Событие удаления сообщения из ОЛ.
OnImConnectorStatusDelete Событие удалении конкретного подключения канала приложения конкретной линии.
События Календаря
OnCalendarEntryAdd при добавлении события. Да
OnCalendarEntryUpdate при изменении события. Да
OnCalendarEntryDelete при удалении события.Да
OnCalendarSectionAdd при добавлении секции календаря CALENDAR_SECTION_ID. Подробнее . Также будет вызываться при добавлении ресурса.Да
OnCalendarSectionUpdate при изменении секции/ресурса.Да
OnCalendarSectionDelete при удалении секции/ресурса.Да


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх