Обновлено: 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" }
]
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | array<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_id | string | Идентификатор запущенной рассылки. |
status | string | queued сразу после создания. |
recipients | integer | Оценка размера аудитории на момент запуска. |
Статистика по рассылке
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
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
status | string | queued, sending, sent или cancelled. |
delivered | integer | Количество успешных доставок. |
opened | integer | Количество открытий (только для email). |
clicked | integer | Количество кликов по ссылкам в письме. |
История рассылок
GET /broadcastsСписок всех запущенных рассылок клуба с фильтром по каналу и периоду. Пригодится для отчёта маркетинговой команды.
Параметры
| Параметр | Где | Тип | Обязателен | Описание |
|---|---|---|---|---|
channel | query | string | нет | Фильтр по каналу: email или push. |
from | query | string (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" }
]
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | array<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_id | string | Идентификатор рассылки. |
status | string | cancelled при успешной отмене. |
Создать шаблон
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"
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
id | string | Идентификатор созданного шаблона. |
name | string | Название шаблона. |
channel | string | Канал шаблона. |
Подписка на рассылку с сайта
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
}Поля ответа
| Поле | Тип | Описание |
|---|---|---|
status | string | ok, если адрес принят. |
created | boolean | true — подписчик заведён сейчас, false — такой адрес уже был в базе. |
Полезно знать
- Шаблон и текст письма редактируются только в админ-панели или через
POST /broadcast-templates. В/broadcastsвыбирают готовый шаблон и сегмент, поменять содержимое письма при запуске нельзя. - Статистика (
GET /broadcasts/{id}) обновляется с задержкой в несколько минут после отправки, потому что открытия и клики система досчитывает асинхронно. - Повторный запуск той же рассылки тому же сегменту создаёт новый
broadcast_id. Внутри одного запуска платформа сама отбирает повторы и не отправит человеку дубль, поэтому проверять получателей на своей стороне не нужно. - Отменить через
DELETE /broadcasts/{id}можно только рассылку в статусеqueued. Когда отправка началась, остановить её уже нельзя.
