smartPush

Сервис для отправки push-уведомлений на различные поверхности.

Сервис недоступен в проектах jivo.

Перед использованием сервиса:

  1. Подключите в SmartMarket Studio проект SmartServices.
  2. Получите доступы к SmartPush.
  3. Создайте шаблон 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 — обязательное поле с названием поверхности, на которой отобразится уведомление. Строка с максимальной длиной 128 символов. Пример: COMPANION. Содержание отправляет в запросе в блоке message Destination.
    • 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, чтобы сообщить нам о ней