Бюро Цифровых Технологий

База знаний

Документация «Вираж»

База знаний по продуктам и API экосистемы «Вираж»: модули, методы, вебхуки — с примерами.

Обновлено: 22.09.2026

Рассылки

Отправка адресных писем и push-уведомлений выбранному сегменту аудитории. Шаблон письма создают в админ-панели. Через API передают только сегмент и переменные подстановки.

Обзор методов

МетодПутьОписание
GET/broadcast-templatesСписок шаблонов
POST/broadcastsЗапустить рассылку
GET/broadcasts/{id}Статистика по рассылке
GET/broadcastsИстория рассылок
DELETE/broadcasts/{id}Отменить рассылку
POST/broadcast-templatesСоздать шаблон
POST/website/newsletter-subscribeПодписка на рассылку с сайта

Список шаблонов

Эндпоинт
GET /broadcast-templates

Шаблоны писем и push-уведомлений, доступные для запуска рассылки.

Запрос
curl https://api.virazh.io/v1/broadcast-templates \
  -H "Authorization: Bearer sk_test_51H..."
Ответ
{
  "data": [
    { "id": "tpl_match_reminder", "name": "Напоминание о матче", "channel": "email" },
    { "id": "tpl_loyalty_upgrade", "name": "Повышение статуса", "channel": "push" }
  ]
}

Поля ответа

ПолеТипОписание
dataarray<Template>Шаблоны с полями id, name, channel.

Запустить рассылку

Эндпоинт
POST /broadcasts

Ставит рассылку в очередь на отправку выбранному сегменту по готовому шаблону.

Параметры

ПараметрГдеТипОбязателенОписание
template_idтелоstringдаИдентификатор шаблона из /broadcast-templates.
segment_idтелоstringдаИдентификатор сегмента-получателя.
channelтелоstringдаКанал отправки: email или push.
Запрос
curl https://api.virazh.io/v1/broadcasts \
  -X POST \
  -H "Authorization: Bearer sk_test_51H..." \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": "tpl_match_reminder",
    "segment_id": "seg_active_fans",
    "channel": "email"
  }'
Ответ
{
  "broadcast_id": "bcast_9021",
  "status": "queued",
  "recipients": 4380
}

Поля ответа

ПолеТипОписание
broadcast_idstringИдентификатор запущенной рассылки.
statusstringqueued сразу после создания.
recipientsintegerОценка размера аудитории на момент запуска.

Статистика по рассылке

Эндпоинт
GET /broadcasts/{id}

Доставки, открытия, клики и отписки по отправленной рассылке.

Параметры

ПараметрГдеТипОбязателенОписание
idпутьstringдаИдентификатор рассылки.
Запрос
curl https://api.virazh.io/v1/broadcasts/bcast_9021 \
  -H "Authorization: Bearer sk_test_51H..."
Ответ
{
  "broadcast_id": "bcast_9021",
  "status": "sent",
  "delivered": 4310,
  "opened": 2144,
  "clicked": 588
}

Поля ответа

ПолеТипОписание
statusstringqueued, sending, sent или cancelled.
deliveredintegerКоличество успешных доставок.
openedintegerКоличество открытий (только для email).
clickedintegerКоличество кликов по ссылкам в письме.

История рассылок

Эндпоинт
GET /broadcasts

Список всех запущенных рассылок клуба с фильтром по каналу и периоду. Пригодится для отчёта маркетинговой команды.

Параметры

ПараметрГдеТипОбязателенОписание
channelquerystringнетФильтр по каналу: email или push.
fromquerystring (ISO 8601)нетПоказывать рассылки, запущенные начиная с этой даты.
Запрос
curl "https://api.virazh.io/v1/broadcasts?channel=email&from=2026-08-01" \
  -H "Authorization: Bearer sk_test_51H..."
Ответ
{
  "data": [
    { "id": "bcast_9021", "template_id": "tpl_match_reminder", "status": "sent", "sent_at": "2026-08-24T10:00:00Z" },
    { "id": "bcast_9022", "template_id": "tpl_loyalty_upgrade", "status": "queued" }
  ]
}

Поля ответа

ПолеТипОписание
dataarray<BroadcastSummary>Рассылки с полями id, template_id, status, sent_at.

Отменить рассылку

Эндпоинт
DELETE /broadcasts/{id}

Останавливает рассылку в статусе queued до начала отправки. Уже отправленные сообщения отозвать нельзя.

Параметры

ПараметрГдеТипОбязателенОписание
idпутьstringдаИдентификатор рассылки.
Запрос
curl https://api.virazh.io/v1/broadcasts/bcast_9022 \
  -X DELETE \
  -H "Authorization: Bearer sk_test_51H..."
Ответ
{
  "broadcast_id": "bcast_9022",
  "status": "cancelled"
}

Поля ответа

ПолеТипОписание
broadcast_idstringИдентификатор рассылки.
statusstringcancelled при успешной отмене.

Создать шаблон

Эндпоинт
POST /broadcast-templates

Создаёт новый шаблон письма или push-уведомления. Переменные подстановки пишутся в двойных фигурных скобках: {{user_name}}, {{event_title}} и т.д.

Параметры

ПараметрГдеТипОбязателенОписание
nameтелоstringдаНазвание шаблона для админ-панели.
channelтелоstringдаemail или push.
subjectтелоstringнетТема письма (обязательна для channel=email).
bodyтелоstringдаТекст с переменными подстановки в {{двойных фигурных скобках}}.
Запрос
curl https://api.virazh.io/v1/broadcast-templates \
  -X POST \
  -H "Authorization: Bearer sk_test_51H..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Приглашение на плей-офф",
    "channel": "email",
    "subject": "{{user_name}}, старт плей-офф уже завтра",
    "body": "Матч {{event_title}} начнётся {{event_date}}."
  }'
Ответ
{
  "id": "tpl_playoff_invite",
  "name": "Приглашение на плей-офф",
  "channel": "email"
}

Поля ответа

ПолеТипОписание
idstringИдентификатор созданного шаблона.
namestringНазвание шаблона.
channelstringКанал шаблона.

Подписка на рассылку с сайта

Эндпоинт
POST /website/newsletter-subscribe

Добавляет адрес в базу подписчиков. Метод рассчитан на форму подписки на сайте клуба: принимает один адрес и не требует, чтобы человек был зарегистрирован. Повторный вызов с тем же адресом не создаёт дубль и возвращает created: false.

Параметры

ПараметрГдеТипОбязателенОписание
emailтелоstringдаАдрес подписчика.
Запрос
curl https://api.virazh.io/v1/website/newsletter-subscribe \
  -X POST \
  -H "Authorization: Bearer sk_test_51H..." \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{ "email": "fan@example.com" }'
Ответ
{
  "status": "ok",
  "created": true
}

Поля ответа

ПолеТипОписание
statusstringok, если адрес принят.
createdbooleantrue — подписчик заведён сейчас, false — такой адрес уже был в базе.

Полезно знать

  • Шаблон и текст письма редактируются только в админ-панели или через POST /broadcast-templates. В /broadcasts выбирают готовый шаблон и сегмент, поменять содержимое письма при запуске нельзя.
  • Статистика (GET /broadcasts/{id}) обновляется с задержкой в несколько минут после отправки, потому что открытия и клики система досчитывает асинхронно.
  • Повторный запуск той же рассылки тому же сегменту создаёт новый broadcast_id. Внутри одного запуска платформа сама отбирает повторы и не отправит человеку дубль, поэтому проверять получателей на своей стороне не нужно.
  • Отменить через DELETE /broadcasts/{id} можно только рассылку в статусе queued. Когда отправка началась, остановить её уже нельзя.