Трансляция 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 | Текст заголовка пуш-сообщения | Обязательное поле | 
| url | URL страницы, которая открывается при нажатии на пуш или на заглавное изображение (если задано) | Необязательное поле | 
| body | Основной текст пуш-сообщения | Обязательное поле | 
| image | URL иконки пуш-сообщения, рекомендуемый размер 64 на 64 px | Необязательное поле | 
| groupid | Идентификатор группы, если не указано, рассылка осуществляется на все привязанные токены | Необязательное поле | 
| geoLocationInfo | Регион, для которого будет совершена отправка. Должен соответствовать ISO 3166 или ISO 3166 для российских регионов. (для отправки необходимо использовать Subdivision name (en)) | Необязательное поле | 
| placeholderImage | URL заглавного изображения пуш-сообщения, рекомендуемый размер 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 | Имя (Если не указано, будет задано по умолчанию) | Необязательное поле | 
| groupId | ID группы, для которой производится рассылка | Необязательное поле | 
| startDate | Дата и время отправки | Необязательное поле | 
| endDate | Дата и время окончания отправки, если заполнено, рассылка будет происходить равномерн ос интервалами 5 минут | Необязательное поле | 
| startTime | Начало временного интервала, в который будет происходить отправка в течении дня | Необязательное поле | 
| endTime | Окончание временного интервала, в который будет происходить отправка в течении дня | Необязательное поле | 
Примеры использования
Далее перечислены различные сценарии отправки по расписанию:
- Если заполнена только дата начала 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"
}
- Если заполнена дата начала 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"
}
- Если заполнены все поля: 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"
}