smartPush
Сервис для отправки push-уведомлений на различные поверхности.
note
Сервис недоступен в проектах SmartBot.
Перед использованием сервиса:
- Подключите в SmartMarket Studio проект SmartServices.
- Получите доступы к SmartPush.
- Создайте шаблон push-уведомлений.
Для использования сервиса в проект надо подключить скрипт smartPush.js
:
scriptsPreLoad:
global:
- /jsapi/smartPush.js
Уведомления отправляются с помощью метода send()
:
$smartPush.send(deliveryConfig, authConfig);
Где:
authConfig
— обязательный параметр с настройками авторизации:client_id
— идентификатор пользователя сервиса в виде строки, заданный с помощью переменной из раздела Токены. Необязательный параметр. Используйте его для переопределения системных параметров при ручной настройке авторизации запросов к SmartPush.secret
— секрет пространства в виде строки, заданный с помощью переменной из раздела Токены. Необязательный параметр. Используйте поле для переопределения системных параметров при ручной настройке авторизации запросов к SmartPush.scope
— скоуп действия параметров авторизации в виде строки. Необязательный параметр, используется для ручной настройки авторизации запросов к SmartPush. Используйте поле для переопределения системных параметров при ручной настройке авторизации запросов к SmartPush. Для работы с сервисом указывайте значениеSMART_PUSH
.
deliveryConfig
— обязательный параметр с данными о рассылке. Параметр может содержать либо настройки уведомлений для приложения Салют (MobileAppParameters
), либо настройки уведомлений для SberBox (DeviceParameters
). Параметр содержит поля:DeliveryMode
— обязательное поле с типом распространения уведомления. Возможные значения:BROADCAST
— уведомление отправляется на все поверхности;SEQUENTIAL
— уведомление отправляется последовательно по приоритету. Рассылка прекращается при успешной доставке сообщения на одну из поверхностей.
surface
— обязательное поле с названием поверхности, на которой отобразится уведомление. При выборе нескольких поверхностей, для каждой из них формируется объект в массивеdestinations
(описание формата push-уведомления в API SmartPush). Строка с максимальной длиной 128 символов. Возможные значения:COMPANION
— мобильное приложение Салют;SBERBOX
— SberBox;STARGATE
— SberPortal;SATELLITE
— SberBox Top;TIME
— SberBox Time;TV_HUAWEI
— Huawei Vision;TV
— Салют ТВ.
TemplateContent
— поле с параметрами уведомления:id
— обязательный идентификатор шаблона в виде строки. Максимальная длина — 36 символов. Идентификатор должен содержатьtemplateId
согласованного шаблона.headerValues
— объект с парами ключ-значение. Значение передается в виде строки. Содержит переменные заголовка push-уведомления для подстановки в шаблон.bodyValues
— объект с парами ключ-значение. Значение передается в виде строки. Содержит переменные тела push-уведомления для подстановки в шаблон.MobileAppParameters
— параметры deeplink в push-уведомлениях для приложения Салют. Передается если заданы соответствующие параметры шаблона. Не передается если заданы параметры уведомлений для SberBox (DeviceParameters
). Содержит следующие поля:buttonText
— текст кнопки. Максимальная длина — 30 символов.deeplinkAndroid
— сценарий для для Android-устройств. Максимальная длина — 350 символов.deeplinkIos
— сценарий для для iOS-устройств. Максимальная длина — 350 символов.
DeviceParameters
— параметры deeplink в push-уведомлениях для SberBox. Передается если заданы соответствующие параметры шаблона. Не передается если заданы параметры уведомлений для приложения Салют (MobileAppParameters
). Содержит следующие поля:deeplink
— сценарий для для SberBox. Максимальная длина — 350 символов.
Примеры
Отправка push-уведомления в сценарии:
script: var deliveryConfig = {
deliveryMode: 'BROADCAST',
surface: 'SALUT',
templateContent: {
id: '49061553-27c7-4471-9145-d8d6137c57da',
//Переменные заголовка уведомления, заданные в шаблоне
headerValues: {},
//Переменные тектса уведомления, заданные в шаблоне
bodyValues: {},
mobileAppParameters: {
deeplinkAndroid: 'example-listen-android',
deeplinkIos: 'example-mai-listen-ios',
buttonText: 'Слушать',
},
},
};
//Авторизация вызова
//Параметр надо передавать, если в проекте не заданы системные токены
var authConfig = {
client_id: '$clietnId',
secret: '$secret',
scope: 'SMART_PUSH',
};
$smartPush
.send(deliveryConfig, authConfig)
.then(function (success) {
$response.data = 'success response';
$response.status = success.status;
$response.response = success.response;
return success;
})
.catch(function (error) {
$response.data = 'fail response';
$response.status = error.status;
$response.response = error.response;
$response.error = error.error;
});
Заметили ошибку?
Выделите текст и нажмите Ctrl
+ Enter
, чтобы сообщить нам о ней