Перейти к основному содержимому

🧾 Типы событий

Что это. Тип события — строка, по которой подписка решает, доставлять событие или нет. Она же уходит в заголовок X-Webhook-Type исходящего запроса.

Когда нужно. Когда вы заводите исходящий вебхук и выбираете, на что подписаться.

Каталога событий продукта нет

Перечня «поддерживаемых событий Fixorix» нет. Тип события — произвольная строка, её задаёт та система, которая публикует событие. Сам продукт пока не публикует события для вебхуков, поэтому готового списка типов, на которые можно подписаться, сейчас просто не существует.

Всё, что описано ниже, — правила, по которым типы устроены, а не список доступных значений.

Как устроен тип события​

Подписка хранит набор строк-типов. Когда появляется событие, Fixorix сравнивает его тип со строками подписки:

  • сравнение точное, по всей строке — шаблонов вида ticket.* нет;
  • фильтров по содержимому события нет: подписка смотрит только на тип;
  • у каждой подписки свой набор типов, поэтому одно событие может породить несколько доставок — по одной на каждую подписанную на этот тип подписку того же проекта.

Конверт события​

В доставку уходит весь конверт события целиком, а не только полезная нагрузка. JSON при этом нормализуется: порядок ключей и форматирование могут отличаться от исходного события.

ПолеОбязательноОписание
idдаИдентификатор события. Уходит в заголовок X-Webhook-Id, по нему получатель дедуплицирует повторы
projectIdдаUUID проекта. Уходит в заголовок X-Webhook-Project-Id
typeдаТип события. Уходит в заголовок X-Webhook-Type
createdAtнетМомент возникновения события, ISO-8601
{
"id": "evt-20260824-000123",
"projectId": "1f2e3d4c-5b6a-7890-abcd-ef1234567890",
"type": "ticket.created",
"createdAt": "2026-08-24T10:15:30Z"
}

Событие с пустым телом, с невалидным JSON, без обязательных полей, с неверным форматом идентификатора или типа, с не-UUID в поле проекта или с некорректной датой доставлено не будет — оно отбраковывается до создания доставки.

Ограничения формата​

ЧтоФорматКуда попадает
Тип события[A-Za-z0-9][A-Za-z0-9._:@-]{0,127}Заголовок X-Webhook-Type
Идентификатор события[A-Za-z0-9][A-Za-z0-9._:@-]{0,254}Заголовок X-Webhook-Id

Ограничение не косметическое: тип и идентификатор уходят в HTTP-заголовки, и перевод строки внутри значения расщепил бы запрос.

Тип, не подходящий по формату, не будет принят ни при создании подписки, ни при добавлении типа, ни при тестовой отправке. При снятии типа с подписки формат не проверяется — снять можно и то, что было записано раньше.

Единственный встроенный тип​

Встроенное значение ровно одно — webhook.test. Это тип по умолчанию для тестовой отправки: если при тестовой отправке не указать свой тип, доставка уйдёт именно с ним.

Коротко

Хотите увидеть работающую доставку прямо сейчас — отправьте тестовое событие. Это единственный способ, пока события продукта не публикуются.

Как выбирать имена типов​

Раз каталога нет, имена придумывает публикующая сторона. Разумные правила:

  • разделяйте части точкой: сначала объект, потом действие — ticket.created, chat.status.changed;
  • держитесь одного языка и одного регистра во всей интеграции;
  • пробелов, кириллицы и переводов строки в типе быть не может — их не пропустит проверка формата;
  • не кладите в тип идентификаторы конкретных объектов: подписка сравнивает тип целиком, и на такой тип не получится подписаться заранее;
  • 128 символов — верхняя граница, но короткое имя читается в журнале лучше.

Фиксированные наборы значений​

Эти значения фиксированы — они встречаются в журнале доставок и в настройках вебхуков:

НаборЗначения
Статус доставкиPENDING, IN_PROGRESS, DELIVERED, FAILED, EXHAUSTED
Статус вебхукаACTIVE, PAUSED
Способ проверки секрета на приёмеHEADER, FIELD

Что означает каждый статус доставки — в таблице на странице Исходящие вебхуки.

Что есть в продукте вместо каталога​

События внутри платформы существуют — на них реагируют Сценарии: «Сообщение от клиента», «Обращение создано», «Сменился статус обращения», «Тикет создан», «Комментарий клиента», «Упал флоу (для алертинга)» и другие. Полные списки — в разделе Триггеры.

Это другой контур

События сценариев и события вебхуков — не одно и то же. Сценарии реагируют на них внутри платформы; в контур вебхуков эти события пока не попадают, и подписаться на них по именам из редактора сценариев нельзя. Ориентироваться на них при проектировании интеграции можно — рассчитывать, что подписка на такое имя сработает, нельзя.

Ограничения​

  • Каталога типов событий продукта нет.
  • Продукт пока не публикует события для вебхуков.
  • Подписка сравнивает тип целиком: шаблоны и подстановочные знаки не поддерживаются.
  • Фильтровать доставку по содержимому события нельзя — только по типу.
  • Схема полезной нагрузки события не проверяется: обязательны только поля конверта.

→ Вебхуки · Исходящие вебхуки · Входящие вебхуки · Вебхуки на дашборде · Триггеры сценариев