Роботека
Роботека · Роботы · Отказоустойчивый вебхук

Отказоустойчивый вебхук

Робот «Отказоустойчивый вебхук» отправляет HTTP-запрос на внешний адрес с повторными попытками в бизнес-процессах и роботах Битрикс24. Проверяет код ответа по выбранным диапазонам (2xx, 3xx, 4xx, 5xx и дополнительные коды), повторяет неудачные попытки с заданным интервалом и может уведомить выбранных пользователей при окончательной неудаче. Возвращает признак доставки Y/N, код и тело ответа последней попытки и число сделанных попыток. Доступен только на платных тарифах.

Робот надёжно доставляет HTTP-запрос (GET, POST, PUT, PATCH, DELETE) на внешний адрес, в отличие от обычного HTTP-запроса беря на себя саму доставку: он сам решает, что считать успехом, и повторяет попытки при сбое. Параметры: URL, метод, тело и заголовки в формате JSON; набор успешных кодов выбирается диапазонами 2xx/3xx/4xx/5xx плюс дополнительные коды через запятую (по умолчанию 2xx); число попыток 1–10 (по умолчанию 3), интервал между попытками 1–3600 сек (по умолчанию 60) и таймаут одной попытки 1–25 сек (по умолчанию 10). При окончательной неудаче можно уведомить выбранных пользователей сообщением в чат. Типовые случаи применения: надёжно отправить данные сделки во внешнюю систему или CRM; дёрнуть вебхук интеграции с гарантией повторов при временной недоступности сервиса; оповестить ответственного, если доставка так и не удалась. Возвращает признак доставки Y/N, HTTP-код и тело ответа последней попытки и число сделанных попыток — проверьте Y/N в условии следующего шага. Робот доступен только на платных тарифах Битрикс24.

Какие параметры принимает робот?

Параметр Тип Обязательный? По умолчанию
URL вебхука string да
HTTP-метод (по умолчанию POST) select POST
Тело запроса string
Заголовки в формате JSON: {"Authorization":"Bearer xxx","Content-Type":"application/json"} string
Какие коды считать успехом (по умолчанию 2xx) select 2xx
Дополнительные коды успеха через запятую (напр. 409, 422) string
Количество попыток (1–10, по умолчанию 3) int 3
Интервал между попытками, сек (1–3600, по умолчанию 60) int 60
Таймаут одной попытки, сек (1–25, по умолчанию 10) int 10
Кого уведомить о неудачной доставке user

Что возвращает робот?

Параметр Тип
Доставлено (Y/N) string
HTTP статус-код последней попытки int
Тело ответа последней попытки string
Сделано попыток int

Сценарий: надёжная отправка данных сделки во внешнюю систему

  1. Сделка переходит на стадию «Оплачено» и запускается бизнес-процесс
  2. Робот отправляет POST-запрос на URL внешней системы; при ответе не из 2xx повторяет до 3 раз с интервалом 60 сек
  3. При успехе процесс продолжается по ветке Y, при окончательной неудаче уведомляет ответственного и идёт по ветке N

Похожие роботы

Статьи по теме