Push-уведомления

Как это работает

В Web Shop можно настроить push-уведомления — персональные или массовые сообщения, которые пользователи получают прямо в браузере. Push-уведомления позволяют сообщать пользователям о новых товарах, акциях и специальных предложениях.

Чтобы отправить пользователю уведомление — например, после поражения в бою или при нехватке ресурсов, на стороне сервера игры вызовите метод API Xsolla для отправки уведомлений.

После нажатия на уведомление пользователь переходит в Web Shop, где может приобрести необходимые товары.

Push-уведомления настраиваются в конструкторе сайтов Xsolla и работают только для опубликованных Web Shop.

Примечание
На устройствах Android уведомления работают как в браузере, так и в Web Shop, установленном как Progressive Web Application (PWA). На устройствах iOS уведомления могут получать только пользователи, установившие Web Shop как PWA.

Xsolla не отслеживает игровые события. Вы можете сами определить моменты, в которые сервер игры вызывает метод API для отправки уведомления, например:

Игровое событиеТекст push-уведомления
Первый вход в игру за день, неделю или месяц.Добро пожаловать обратно! Загляни в веб-магазин за своим подарком.
Поражение в бою.Не сдавайся! Купи усиления для героя и возьми реванш!
Энергия или валюта закончились.Энергия на нуле? Пополни ее в веб-магазине и продолжай игру!
Разблокирован новый контент.Новый уровень открыт! Купи усиления в веб-магазине, чтобы пройти его легче.
Несколько неудачных попыток подряд.Сложный босс? В веб-магазине тебя  ждет набор оружия, который поможет одержать победу.

Сценарий взаимодействия

  1. Пользователь открывает Web Shop в браузере или через установленное PWA и видит баннер с предложением подписаться на уведомления.
  2. Пользователь нажимает Подписаться и разрешает отправку уведомлений в системном окне браузера.
Примечание
Логика подписки при включенной опции Auto-request permission

Если в настройках сайта включена опция Auto-request permission, Web Shop при открытии запрашивает разрешение на отправку уведомлений без показа баннера подписки. Если пользователь уже предоставил разрешение ранее, подписка выполняется автоматически. Если запрос не удалось выполнить (например, браузер заблокировал его или пользователь отказал в разрешении), отображается баннер подписки.

  1. Web Shop регистрирует пользователя как подписчика в системе Xsolla. Подписка привязывается к браузеру или установленному PWA на устройстве пользователя. От статуса авторизации зависит, какие уведомления можно отправлять пользователю:

    • если пользователь авторизован в Web Shop, с подпиской связывается его ID — такому пользователю можно отправлять персональные уведомления;
    • если пользователь не авторизован, ему можно отправлять только массовые уведомления; после авторизации подписка автоматически связывается с ID пользователя.
  2. Сервер игры вызывает метод API Xsolla для отправки уведомлений.

  3. Пользователь получает push-уведомление.

  4. Пользователь нажимает на уведомление и переходит в Web Shop — на страницу из параметра data.url или на главную страницу, если параметр не передан. Если у пользователя есть активная сессия в Web Shop, он остается авторизованным.

Как настроить

  1. В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
  2. В панели нужного сайта нажмите Открыть Site Builder.
  1. Перейдите в раздел Push notifications.
  2. Активируйте переключатель Enable notifications.
  3. Скопируйте значения из полей Application ID, Client ID и Client secret key — они понадобятся для отправки запросов API с сервера игры. Параметры создаются один раз при первой активации переключателя Enable notifications и используются для всего проекта: если в проекте несколько сайтов, для всех используются одни и те же значения.
  4. При необходимости настройте баннер подписки: измените заголовок, описание, иконку и текст кнопки.
  5. Чтобы сайт сам запрашивал у пользователя разрешение на отправку push-уведомлений при открытии, активируйте переключатель Auto-request permission (опционально). Если переключатель неактивен, разрешение запрашивается только после нажатия пользователем кнопки Подписаться.
  6. Чтобы применить изменения, опубликуйте сайт.
  1. На сервере игры реализуйте логику отправки push-уведомлений. Сервер игры должен вызвать метод API для отправки уведомлений и передать в запросе ID пользователя.

Отправка уведомлений

Xsolla не отправляет уведомления автоматически — инициатором отправки всегда выступает ваш проект. Вызывайте соответствующий метод API в момент, когда нужно уведомить пользователей (например, при старте акции, обновлении статуса заказа и т.д.).

Базовый URL: https://messaging-platform.xsolla.com

Аутентификация

Запросы аутентифицируются по протоколу OAuth 2.0. Получите серверный JWT с помощью метода Generate JWT, передав параметры:

  • grant_type — тип получения JWT, передайте значение client_credentials;
  • client_id — значение поля Client ID из настроек раздела Push notifications;
  • client_secret — значение поля Client secret key из настроек раздела Push notifications.

Полученный токен передается в заголовке Authorization: Bearer <token>.

Отправка уведомления пользователю

Отправляет персональное push-уведомление пользователю по его ID. Уведомление доставляется во все браузеры и установленные PWA, где пользователь подписался на уведомления.

HTTP-запрос

POST https://messaging-platform.xsolla.com/api/v1/messages/push/send

Заголовки запроса

ЗаголовокОбязательныйОписание
AuthorizationДаBearer <token>
Idempotency-KeyДаУникальный ключ запроса. Защищает от повторной отправки одного и того же уведомления.
Content-TypeДаapplication/json

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

ПараметрТипОписание
app_id
stringID приложения на стороне Xsolla из настроек раздела Push notifications. Обязательный.
identity
objectДанные получателя уведомления.
external_user_id
stringID пользователя. Обязательный.
title
stringЗаголовок уведомления. Обязательный.
body
stringТекст уведомления. Обязательный.
image_url
stringURL-адрес изображения, которое отображается в уведомлении.
data
objectДополнительные данные уведомления.
url
stringURL-адрес страницы, которая откроется при нажатии на уведомление. Если параметр не передан, откроется главная страница Web Shop.

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

ПараметрТипОписание
message_ids
массив строкСписок ID отправленных сообщений в формате UUID — по одному для каждого браузера или установленного PWA, где пользователь подписан на уведомления.

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

Copy
Full screen
Small screen
 1{
 2  "notification_type": "user_validation",
 3  "settings": {
 4    "project_id": 123456,
 5    "merchant_id": 789012
 6  },
 7  "user": {
 8    "id": "11111111-1111-1111-1111-111111111111"
 9  }
10}

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

Copy
Full screen
Small screen
1{
2  "message_ids": [
3"aa8ef5c2-front-4a3b-9d2e-example00001",
4"bb9fa6d3-front-4b4c-8e3f-example00002"
5    ]
6}

Отправка уведомления всем пользователям

Отправляет push-уведомление всем или выбранным подписавшимся пользователям. Уведомление доставляется во все браузеры и установленные PWA, где пользователь подписался на уведомления.

HTTP-запрос

POST https://messaging-platform.xsolla.com/api/v2/messages/push/send_batch

Заголовки запроса

ЗаголовокОбязательныйОписание
AuthorizationДаBearer <token>
Idempotency-KeyДаУникальный ключ запроса. Защищает от повторной отправки одного и того же уведомления.
Content-TypeДаapplication/json

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

ПараметрТипОписание
app_id
stringID приложения на стороне Xsolla из настроек раздела Push notifications. Обязательный.
recipients
objectОпределяет получателей уведомления.
type
stringТип получателя. Возможные значения: all — все подписчики; external_user_id — выбранные пользователи.
external_user_id
массив строкМассив ID пользователей. Передается, если в параметре type указано значение external_user_id. Обязательный.
title
stringЗаголовок уведомления. Обязательный.
body
stringТекст уведомления. Обязательный.
image_url
stringURL-адрес изображения, которое отображается в уведомлении.
data
objectДополнительные данные уведомления.
url
stringURL-адрес страницы, которая откроется при нажатии на уведомление. Если параметр не передан, откроется главная страница Web Shop.

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

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

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

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Последнее обновление: 7 июля 2026

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!
Не получилось отправить ваш комментарий
Попробуйте еще раз позже или напишите нам на [email protected].