Варианты применения:- Отправка запросов к любой сторонней системе, которая может принимать и обрабатывать веб-хуки.
- Сторонней системой может быть 1С и любая иная платформа.
- Сторонней системой может быть другой портал Битрикс24. Таким образом, можно реализовать межпортальный обмен и их синхронизацию по ряду сущностей.
Схема работы стандартных веб-хуковКак только происходит событие в Битркис24 (например, создание компании в CRM) формируется веб-хук = URL с параметрами запроса к сторонней системе, куда нужно передать соответствующие данные и тут же “дергается” этот URL. Битрикс24 не ждет никакого ответа от сторонней системы: приняла ли она этот запрос, корректно ли приняла, доступна ли она вообще?
Если принимаемая система была недоступна или не смогла обработать запрос по каким-либо причинам (код ответа отличается от 200), то это приводит к рассинхронизации - нужная информация не будет передана. Так, в нашем примере сторонняя система не получит соответствующую запись о компании. При последующих запросах по обновлению этой записи, рассинхронизация будет увеличиваться лавинообразно, так как система не получила начальных данных или не смогла обработать запрос.
Наше решениеНаш модуль забирает события в Битрикс24 и формирует веб-хук по тому синтаксису, который обычно принимает входящие веб-хуки. Далее модуль записывает этот вебхук себе в очередь и только после этого пытается его отправить указанной сторонней системе.
При этом, если сторонняя система не доступна или код ответа отличается от 200, то этот запрос не пропадает, он остается в очереди!
Таким образом, наш модуль формирует и сохраняет очередь необработанных запросов, важные данные не пропадают.
Для избежания “флуда” решение имеет настройку - какое количество запросов отправлять за 1 шаг и период между шагами в секундах. Есть возможность очищать как лог, так и очередь не отправленных запросов.
1. Установка решения:
- Скачайте решение на Маркетплейсе.
- В административной части нажмите Загрузить.
- После загрузки нажмите Установить.
2. Настройки модуля
URL запроса - адрес исходящего запроса
Секретный ключ - указывается при необходимости проверить на принимающей стороне секретный ключ.
Количество дней хранения ошибок - сколько дней будет храниться логирование
Количество записей хранения очереди обмена - количество строк, хранимых в таблице логирования
Время ожидания ответа, сек - сколько скрипт будет ожидать ответа от принимающей стороны
Количество запросов обрабатываемых за один шаг, шт - сколько шт повторных запросов за раз модуль будет пытаться отправить.
Периодичность между шагами, мин - через какое время модуль будет пытаться отправить повторный запрос.
Обрабатываемые события - события, на которые модуль будет реагировать.
Вопросы и пожелания по модулю принимаются по e-mail:
welcome@wehive.ru