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

Трансляция web пуш-сообщений

Попробуйте в Swagger

Трансляция web пуш-сообщений (broadcast)

Массовая отправка web пуш-сообщений.

Формат запроса

POST https://pub.multipushed.ru/v2/publish-broadcast-web-push

Тело запроса

{
"title": "Broadcast Notification",
"url": "https://multipushed.ru/",
"body": "Сообщение для всех",
"image": "https://example.com/image.png",
"groupid": "66d199c1885e451134479574",
"geoLocationInfo": {
"region": "Moscow"
},
"placeholderImage": "https://example.com/image.png",
"pushActions": [
{"actionCode": "action1", "title": "Яндекс", "actionUrl": "https://yandex.ru"},
{"actionCode": "action2", "title": "Гугл", "actionUrl": "https://google.com"}
],
"silent": true
}

Параметры тела запроса

titleТекст заголовка пуш-сообщенияОбязательное поле
urlURL страницы, которая открывается при нажатии на пуш или на заглавное изображение (если задано)Необязательное поле
bodyОсновной текст пуш-сообщенияОбязательное поле
imageURL иконки пуш-сообщения, рекомендуемый размер 64 на 64 pxНеобязательное поле
groupidИдентификатор группы, если не указано, рассылка осуществляется на все привязанные токеныНеобязательное поле
geoLocationInfoРегион, для которого будет совершена отправка. Должен соответствовать ISO 3166 или ISO 3166 для российских регионов. (для отправки необходимо использовать Subdivision name (en))Необязательное поле
placeholderImageURL заглавного изображения пуш-сообщения, рекомендуемый размер 320 на 160 pxНеобязательное поле
pushActionsКнопки действий, максимум 2. Если будет добавлено больше, отобразятся только 2 первых.
actionCode - уникальный идентификатор действия, задается произвольно;
title - надпись на кнопке, которую видит пользователь при отображении пуша;
actionUrl - URL страницы, которая открывается при нажатии на соответствующую кнопку
Необязательное поле
silentПуш-сообщение не будет отображено пользователю, если параметр равен trueНеобязательное поле

Пример запроса

curl --request POST \
--url https://pub.multipushed.ru/v2/publish-broadcast-web-push \
--header 'Authorization: YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"title": "Broadcast Notification",
"url": "https://multipushed.ru/",
"body": "Сообщение для всех",
"image": "https://example.com/image.png",
"groupid": "66d199c1885e451134479574"
}'

Пример ответа

{
"success": true/false,
"errCode": int/null,
"message": string/null
}
successрезультат выполнения запроса
errCodeкод ошибки, будет заполнено в случае ошибки
messageтекстовое описание ошибки, будет заполнено в случае ошибки

Отправка по расписанию

Тело запроса

{
"name": "your_broadcast_name",
"groupId": "groupId",
"startDate": "2025-03-27T10:00:00Z", //UTC
"endDate": "2025-03-27T18:00:00Z", //UTC
"startTime": "10:00:00",
"endTime": "15:00:00",
"payload": "my payload"
}

Параметры тела запроса

nameИмя (Если не указано, будет задано по умолчанию)Необязательное поле
groupIdID группы, для которой производится рассылкаНеобязательное поле
startDateДата и время отправкиНеобязательное поле
endDateДата и время окончания отправки, если заполнено, рассылка будет происходить равномерн ос интервалами 5 минутНеобязательное поле
startTimeНачало временного интервала, в который будет происходить отправка в течении дняНеобязательное поле
endTimeОкончание временного интервала, в который будет происходить отправка в течении дняНеобязательное поле

Примеры использования

Далее перечислены различные сценарии отправки по расписанию:

  1. Если заполнена только дата начала startDate, то отправка будет в эти дату и время.
{
"name": "region_broadcast",
"groupId": "groupId",
"startDate": "2025-03-27T10:00:00Z", //UTC
//"endDate": "2025-03-27T18:00:00Z", //UTC
//"startTime": "10:00:00",
//"endTime": "15:00:00",
"payload": "my payload"
}
  1. Если заполнена дата начала startDate и дата окончания endDate, то отправка будет происходить равномерно между этими датам с 5-ти минутными интервалами.

Пример: 2025-03-27T10:00:00Z - 2025-03-27T11:00:00Z в рамках одного дня в течении часа в 10:00:00, 10:05:00, 10:10:00 - ... - 11:00:00

{
"name": "region_broadcast",
"groupId": "groupId",
"startDate": "2025-03-27T10:00:00Z", //UTC
"endDate": "2025-03-27T18:00:00Z", //UTC
//"startTime": "10:00:00",
//"endTime": "15:00:00",
"payload": "my payload"
}
  1. Если заполнены все поля: startDate, endDate, startTime, endTime. Отправка будет происходить в те дни, которые указаны в startDate и endDate, но в периоды с startTime по endTime

Пример: 2025-03-27T00:00:00Z - 2025-03-29T00:00:00Z 10:00:00 - 11:00:00

отправка будет в течении 3х дней, каждый день с 10 до 11 утра

{
"name": "region_broadcast",
"groupId": "groupId",
"startDate": "2025-03-27T10:00:00Z", //UTC
"endDate": "2025-03-27T18:00:00Z", //UTC
"startTime": "10:00:00",
"endTime": "15:00:00",
"payload": "my payload"
}