Вебхуки
Вебхук отправляет события приложения на ваш сервер. Откройте приложение в Для разработчиков → Вебхуки и нажмите Создать новый.
Укажите название и URL обработчика.

Выберите формат запроса: POST JSON, POST FORM DATA или GET. Отметьте нужные события из списка: начало трансляции, завершение трансляции, новое сообщение чата и изменение числа зрителей канала. Подготовьте обработчик для выбранного формата и событий.

Проверьте переключатель активности: новая форма по умолчанию не активна. Если обработчик готов принимать события, включите его и сохраните форму. Одна лишь запись URL без сохранения и активации не включает доставку.
Изменение и отключение
Откройте строку нужного вебхука в списке приложения. На снимках ниже показаны вымышленные название и адрес обработчика.

Измените название, URL обработчика, формат запроса или набор событий. Проверьте, что ваш сервер принимает выбранный формат.

Для прекращения доставки снимите отметку Активный и нажмите Сохранить. Выключение поля без сохранения не меняет настройку на сервере. Чтобы возобновить доставку, снова включите активность и сохраните форму.

Удаление
Откройте меню ⋯ нужного вебхука и выберите Удалить. Для временной паузы достаточно выключить активность; удаление убирает саму настройку.

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

События
Приложение получает события проектов, в которых оно установлено. Для отправки в настройках вебхука должны быть включены активность и соответствующее событие.
Код event | Событие | Дополнительные данные |
|---|---|---|
translation_start | Начало трансляции | Общие поля события |
translation_stop | Завершение трансляции | Общие поля события |
chat_new_message | Новое сообщение чата | payload.eventId, payload.restreamId, payload.platform, payload.message |
channel_viewers_update | Изменение числа зрителей канала | payload.eventId, payload.restreamId, payload.platform, payload.viewers |
Данные события
Ниже описан объект события, который StreamVi формирует для сервиса доставки. Это состав данных события; примеры не устанавливают обёртку конечного HTTP-запроса к вашему обработчику.
| Общее поле | Значение |
|---|---|
event | Один из кодов события выше |
project_id | Внутренний числовой ID проекта |
broadcast_id | Числовой ID трансляции |
timestamp | Время формирования события в формате ISO 8601, UTC |
Пример начала трансляции с вымышленными идентификаторами:
{
"event": "translation_start",
"project_id": 12345,
"broadcast_id": 67890,
"timestamp": "2026-10-19T10:00:00.000Z"
}
При завершении трансляции event имеет значение translation_stop; состав общих полей тот же. У этих двух событий отдельного поля payload нет.
У сообщения чата в payload передаются строковый eventId, числовой restreamId, строка platform и объект message. Внутри message находятся id, массив entities и profile с полями id, username, image. Изображение профиля может быть null. deliveryId необязателен и также может быть null.
entities описывает части сообщения: текст имеет type: "text" и text; эмодзи имеет type: "emoji", id, name и необязательные image или video. Не ожидайте, что всё сообщение находится в одном поле text.
У изменения числа зрителей дополнительные данные выглядят так; значения в примере вымышленные:
{
"event": "channel_viewers_update",
"project_id": 12345,
"broadcast_id": 67890,
"timestamp": "2026-10-19T10:01:00.000Z",
"payload": {
"eventId": "demo-viewers-event",
"restreamId": 24680,
"platform": "youtube",
"viewers": 42
}
}
restreamId относится к ретрансляции, platform обозначает платформу, а viewers содержит число зрителей канала. Сопоставляйте событие с project_id, broadcast_id и временем, прежде чем обновлять данные своего приложения.
Проверить доставку
Проверьте, что приложение установлено в нужном проекте, вебхук сохранён и активен, нужное событие выбрано, а адрес обработчика доступен. Для проверки выберите тестовый проект и событие, которое можете вызвать без влияния на рабочую трансляцию.
Точный формат конечного HTTP-запроса, подпись запроса, ожидаемый код ответа, таймауты и повторы доставки пока не описаны подтверждённым контрактом. Эти параметры нужно уточнить для сервиса доставки перед подключением рабочего обработчика. Число попыток внутреннего запроса StreamVi к сервису доставки не определяет число запросов к вашему URL. Не помещайте секреты в общедоступные примеры URL.