🖥️ Вебхуки на дашборде
Вкладки «Вебхуки» в интерфейсе Fixorix сейчас не существует. Эта страница — описание запланированного раздела: как он будет устроен, когда появится. Ни одной из перечисленных ниже кнопок и таблиц в дашборде пока нет.
Что работает сегодня и как этим пользоваться — на страницах Исходящие вебхуки и Входящие вебхуки.
Что это. Раздел, из которого можно завести подписку на события, посмотреть, что и когда доставилось, и разобраться, почему доставка не прошла.
Когда нужно. Когда вебхуками занимается не разработчик с доступом к служебным токенам, а администратор проекта — из интерфейса, без командной строки.
Каждый экран ниже опирается на метод, который в сервисе вебхуков уже реализован: раздел проектируется поверх готового API, а не поверх замысла.
Где это появится
Настройки → вкладка «Вебхуки», рядом с вкладкой «API».
Вебхуки — такая же интеграционная настройка проекта, как и API-ключи: обе описывают, как проект общается с внешними системами, обе требуют роли администратора, обе выдают секрет один раз. Поэтому и место у них соседнее.
Сейчас на странице настроек пять вкладок — «Общие», «Каналы», «Поддержка», «Тикеты», «API». Шестой станет «Вебхуки».
Список подписок
Заголовок экрана — «Вебхуки», подпись — про доставку событий проекта на внешние адреса. В шапке — счётчик «N из 10» и кнопка «Создать вебхук»; при достижении лимита кнопка выключается.
| Колонка | Что показывает |
|---|---|
| Адрес | HTTPS-адрес получателя |
| События | Типы, на которые подписан вебхук; длинный список сворачивается |
| Статус | «Активен» или «На паузе» |
| Успешно / Ошибки за 24 ч | Два счётчика доставок за сутки |
| Последняя доставка | Дата, время и её итог |
| Действия | Пауза и возобновление, обновление секрета, удаление |
Пока подписок нет, экран покажет пустое состояние с кнопкой «Создать вебхук».
Мастер создания
Окно «Создание вебхука»:
| Поле | Обязательно | Описание |
|---|---|---|
| Адрес получателя | да | Только https://. Адреса внутренних и служебных сетей отклоняются с объяснением причины |
| События | да | Мультивыбор из списка типов; выбранные показываются метками |
После нажатия «Создать» открывается экран «Вебхук создан» — по образцу экрана «Ключ создан» у API-ключей: сам секрет подписи, кнопка «Копировать» и предупреждение, что он показывается единственный раз.
Секрет подписи выдаётся только при создании и нигде больше не отображается. Потерянный секрет не восстанавливается — его можно только заменить новым через «Обновить секрет».
Карточка вебхука
Строка списка открывает карточку с тремя вкладками.
Вкладка «Обзор»
Плитки статистики по всей подписке:
| Плитка | Что означает |
|---|---|
| Всего | Сколько доставок создано за всё время |
| Доставлено | Получен успешный ответ |
| Ошибок | Терминальный отказ — повторов не будет |
| Исчерпано | Закончились все попытки |
| В очереди | Ждут отправки или следующей попытки |
Здесь же кнопка «Отправить тестовое событие». Результат показывается сразу под ней: код ответа вашего сервера и задержка в миллисекундах — это синхронная отправка ровно одной попыткой, без повторов.
Вкладка «Доставки»
Журнал доставок с фильтрами по периоду и по статусу. Строка показывает статус, тип события, число попыток и время.
Раскрытие строки — журнал попыток по этой доставке:
| Что видно | Что означает |
|---|---|
| Номер попытки | Нумерация с единицы |
| Код ответа | Пусто, если ответа не было вообще |
| Задержка | Сколько миллисекунд заняла попытка |
| IP | Адрес, с которым соединение действительно было установлено |
| Причина | Почему попытка не удалась |
| Срез ответа | Начало тела ответа вашего сервера, до 512 символов |
Вкладка «Настройки»
Адрес получателя и источник событий — только для чтения: после создания они не меняются. Редактируется набор типов событий: типы добавляются и снимаются, изменения применяются к новым доставкам.
Действия
| Действие | Что происходит |
|---|---|
| «Поставить на паузу» | Доставка останавливается, но события продолжают копиться в очереди |
| «Возобновить» | Накопленная очередь начинает отправляться |
| «Обновить секрет» | Выдаётся новый секрет. Сутки после этого каждая доставка подписывается дважды — новым и прежним секретом, чтобы получатель успел перенастроиться без потери валидных подписей |
| «Удалить» | Подписка удаляется вместе со всем её журналом доставок и попыток |
Вместе с подпиской удаляются её секреты, все доставки и все записи о попытках. Восстановить журнал после удаления нельзя — если он нужен для разбора, выгрузите данные заранее.
Кто что может
| Действие | Минимальная роль |
|---|---|
| Открыть вкладку «Вебхуки» и видеть список | По умолчанию |
| Смотреть журнал доставок и попыток | По умолчанию |
| Создать вебхук, изменить набор событий | Администратор |
| Пауза, возобновление, обновление секрета | Администратор |
| Удалить вебхук | Администратор |
Разграничение повторяет то, как устроены API-ключи: смотреть может участник проекта, менять — администратор и владелец.
Ограничения, которые останутся
Раздел в интерфейсе не снимет ограничений самого сервиса:
- не больше 10 подписок на проект;
- только HTTPS-адреса получателя, внутренние и служебные сети запрещены;
- журнал доставок хранится 30 дней, дальше очищается;
- секрет подписи показывается один раз;
- адрес получателя и источник событий после создания не меняются;
- автоматического отключения подписки при серии провалов нет — пауза только вручную.
Что нужно, чтобы это заработало
Экраны опираются на готовые методы, но одного интерфейса мало. Пока не сделано следующее:
| Что нужно | Зачем |
|---|---|
| Каталог типов событий продукта | Без него в мультивыборе «События» нечего показывать: сейчас тип события — произвольная строка |
| Публикация событий сервисами Fixorix | Пока ни один сервис не пишет события в этот контур, любая подписка останется пустой |
| Права по проекту в управляющем API | Сейчас оно проверяет только служебный токен и не разбирает роли проекта, поэтому наружу не выставлено |
| Сам раздел в интерфейсе | Вкладки «Вебхуки» в дашборде нет; слово «вебхук» встречается там только как тип триггера сценария |
Если вебхуки нужны вам прямо сейчас, посмотрите обходные пути на странице Вебхуки: опрос REST API, вебхук-триггер сценария и реакции Сценариями внутри платформы.
→ Вебхуки · Исходящие вебхуки · Входящие вебхуки · Типы событий · Настройки проекта