← К заметкам

Заметки

Как подписать приложение на несколько событий REST

Для каждого события вызывается отдельный event.bind. Один и тот же обработчик может принимать несколько событий — различать их нужно по полю события во входящих данных.

const events = ['ONCRMDEALADD', 'ONCRMDEALUPDATE'];
for (const event_name of events) {
    BX24.callMethod('event.bind', {
        event: event_name,
        handler: 'https://example.com/handlers/deal.php'
    }, function (result) {
        if (result.error()) {
            console.error(event_name, result.error());
            return;
        }
        console.log(event_name, result.data());
    });
}

Пример выполняется из приложения с правами CRM. Адрес должен вести на ваш обработчик. Оба вызова запускаются независимо; завершение одного не означает, что подписано второе событие.

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