Технические данные
- Опубликовано:
- 29.11.2021
- Версия:
- 1.0.0
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Корпоративный портал», «Энтерпрайз», «Интернет-магазин + CRM»
- Адаптивность:
- Нет
- Поддержка Композита:
- Нет
- Совместимо с Сайты24
- Нет
- Совместимо с PHP 8.1
- Нет
Пользовательское соглашение
Описание

Варианты применения:
- Отправка запросов к любой сторонней системе, которая может принимать и обрабатывать веб-хуки.
- Сторонней системой может быть 1С и любая иная платформа.
- Сторонней системой может быть другой портал Битрикс24. Таким образом, можно реализовать межпортальный обмен и их синхронизацию по ряду сущностей.

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


- Скачайте решение на Маркетплейсе.
- В административной части нажмите Загрузить.
- После загрузки нажмите Установить.
2. Настройки модуля
URL запроса - адрес исходящего запроса
Секретный ключ - указывается при необходимости проверить на принимающей стороне секретный ключ.
Количество дней хранения ошибок - сколько дней будет храниться логирование
Количество записей хранения очереди обмена - количество строк, хранимых в таблице логирования
Время ожидания ответа, сек - сколько скрипт будет ожидать ответа от принимающей стороны
Количество запросов обрабатываемых за один шаг, шт - сколько шт повторных запросов за раз модуль будет пытаться отправить.
Периодичность между шагами, мин - через какое время модуль будет пытаться отправить повторный запрос.
Обрабатываемые события - события, на которые модуль будет реагировать.