Настройка PUSH-уведомлений
Настройка PUSH-уведомлений представляет собой набор следующих шагов, некоторые из которых могут быть пропущены в зависимости от текущих настроек.
- Настройка Сервиса PUSH-уведомлений.
- Настройка плагина рассылки PUSH-уведомлений.
См. также:
Настройка Сервиса PUSH-уведомлений (PUSH Service)
Сервис PUSH-уведомлений позволяет управлять доставкой PUSH-уведомлений пользователям в различные мобильные приложения. При необходимости PUSH Service позволяет организовать соединение с внешними PUSH-серверами из выделенного сегмента сети (DMZ), как это изображено на рисунке ниже.
Предварительные настройки
PUSH Service представляет собой веб-сервис, не требующий наличия БД. Перед установкой и развертыванием PUSH Service необходимо обеспечить наличие следующих компонентов:
- Сервер в DMZ для доступа к PUSH-серверам (выделять отдельный сервер под PUSH Service необязательно);
- ОС из списка поддерживаемых ОС (см. Общее Описание из комплекта документации);
- Установленный и настроенный веб-сервер;
- Установленный PUSH Service (входит в комплект поставки либо может быть получен на сайте);
- Созданный экземпляр PUSH Service;
- Доступ к PUSH-серверам.
Примечание
PUSH Service использует новый протокол взаимодействия с сервером Apple Push Notification Service. Доступ к APNS осуществляется по протоколу HTTP/2 и TLS 1.2.
- Development server:
api.sandbox.push.apple.com:443
- Production server:
api.push.apple.com:443
Доступ к Google API HTTP v1: *.googleapis.com:443
.
Доступ к Huawei Mobile Services:
https://oauth-login.cloud.huawei.com/oauth2/v2/token
https://push-api.cloud.huawei.com/v1
Примечание
Для отправки PUSH-уведомлений на устройства Apple требуется сертификат с клиентской
аутентификацией (-ApnClientCertPath
и -ApnClientCertPassword
) на Apple Push Notification Service. Получить данный сертификат можно по запросу
на dsssupport@cryptopro.ru
. В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Для отправки PUSH-уведомлений на устройства Android требуется получить ключ доступа к Firebase
Google API HTTP v1 (-ServiceAccountFile
). Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Для отправки PUSH-уведомлений на устройства Huawei требуется получить ключ доступа к
HUAWEI Mobile Services (-ClientID
, -ClientSecret
). Получить данный ключ можно по запросу на dsssupport@cryptopro.ru
.
В запросе необходимо указать также имя приложения, для которого требуется получать уведомления.
Настройка уведомлений для мобильного приложения
Внимание!
Рекомендуется настраивать один модуль для одного мобильного приложения.
1. Создайте модуль PUSH Service, плагины которого будут использоваться для отправки Push-уведомлений в мобильное приложение на устройствах под управлением ОС iOS и Android (включая устройства без поддержки сервисов Google Play). Модуль PUSH Service представляет собой набор плагинов, позволяющих отправлять PUSH-уведомления на устройства пользователей под управлением ОС iOS и Android (в т.ч. для устройств Huawei).
$pp_module = "mymobileapp" #Имя модуля сервиса PUSH Service для выбранного мобильного приложения
New-PushModule -ModuleName $pp_module -AuthLogin {{логин}} -AuthPassword {{пароль}}
#В AuthLogin и AuthPassword передаются соответственно произвольное имя УЗ и пароль, которые были\будут указаны при создании прикладной системы оповещения в настройке плагинов (см. ниже)
2. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС iOS:
Set-PushModuleApnProperties -ModuleName $pp_module -AppBundleIdentifier "..." -TeamId "..." -P8PrivateKeyId "..." -P8PrivateKeyFile "Путь к файлу ..."
#Где:
* `-AppBundleIdentifier` - уникальный идентификатор приложения в магазине приложений App Store;
* `-TeamId` - уникальный идентификатор группы разработчиков;
* `-P8PrivateKeyId` идентификатор ключа, используемого для подключения к APN;
* `-P8PrivateKeyFile` - контейнер с закрытым ключом для подключения к APN;
3. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС Android (с поддержкой Google-сервисов):
Set-PushModuleFcmProperties -ModuleName $pp_module -GoogleServiceKey "..."
#Где:
#GoogleServiceKey – ключ доступа к серверу рассылки Push-уведомлений Google
4. Настройте плагин отправки Push-уведомлений для устройств под управлением ОС Android (без поддержки Google-сервисов, устройства Huawei):
Set-PushModuleHmsProperties -ModuleName $pp_module -ClientId "..." -ClientSecret "..."
#Где:
#ClientId – идентификатор для подключения к серверу рассылки Push-уведомлений Huawei
#ClientSecret – ключ доступа к серверу рассылки Push-уведомлений
5. Включите плагины отправки Push-уведомлений:
# Включение модуля APNS
Enable-PushModuleApn -ModuleName $pp_module
# Включение модуля FCM
Enable-PushModuleFcm -ModuleName $pp_module
# Включение модуля HMS
Enable-PushModuleHms -ModuleName $pp_module
Настройка плагинов рассылки PUSH-уведомлений
В большинстве случаев данный этап мог быть выполнен на этапе развертывания Сервиса Взаимодействия с SDK. Данный этап необходим, если настройка плагина выполняется впервые либо необходима перенастройка существующего плагина.
В ЦИ может быть зарегистрировано несколько наборов плагинов (прикладных систем) для отправки PUSH-уведомлений. Каждая из этих прикладных систем ассоциирована с одним мобильным приложением, используемым какой-либо организацией.
Примечание
Несколько прикладных систем, находящихся в пределах одного ЦИ, могут быть подключены к одному экземпляру сервиса PUSH Service. При этом для каждой из систем на сервисе PUSH Service должен быть зарегистрирован соответствующий модуль.
Примечание
Несколько экземпляров ЦИ с зарегистрированными на них прикладными системами также могут быть подключены к одному экземпляру PUSH Service. В этом случае для каждой из прикладных систем каждого экземпляров ЦИ должен быть зарегистрирован соответствующий модуль на сервисе PUSH Service.
Настройка нового плагина рассылки PUSH-уведомлений
Для того, чтобы настроить новый транспортный плагин для использования с PUSH Service, необходимо задать следующие параметры в командлете Add-MyDssSystem:
PushType
- сущность, создающая PUSH-уведомления. Для PUSH Service необходимо использовать значениеPushProxy
.PushProxyLogin
,PushProxyPassword
- учетные данные для подключения к экземпляру сервиса PUSH Service, которые были заданы на этапе настройки модуля PUSH ServicePushProxyAddress
- URL-адрес PUSH Service
URL-адрес сервиса PUSH Service имеет следующий формат:
http(s)://<hostname>/pushproxy/<modulename>
где
hostname
- DNS-имя сервера, на котором развернут PUSH Service;pushproxy
- имя экземпляра сервиса, указанное при его создании в параметре-InstanceName
;modulename
- имя модуля PUSH Service.
Пример развертывания:
#Имя экземпляра Центра Идентификации
$STSAppName = "STS"
#URL MDAG
$mdagUrl = "https://<hostname>/mdag"
#Отображаемое имя системы
$systemDisplayName = "system_display_name"
#Регистрация системы
#При регистрации также будут зарегистрированы модули оповещения и OAuth-клиент
Add-IdsMobileAppConfiguration -DisplayName $idp_name -Name cprokey -MyDssAddress "https://$($hostname):4431/$mdag_name" -PushType PushProxy -PushProxyAddress "http://$($hostname)/pushsrv/$pp_module" -PushProxyLogin Admin -PushProxyPassword "1qaz@WSX"```
Настройка существующего плагина рассылки PUSH-уведомлений
Для того, чтобы перенаправить PUSH-уведомления, отправляемые траспортным плагином, на сервис PUSH Service, необходимо получить идентификатор данного плагина. Получить идентификатор возможно при помощи командлета Get-IdsPlugin. После этого необходимо задать новые параметры для выбранного плагина:
UsePushProxy
- включение/отключение отправки Push-уведомлений через сервис PUSH ServicePushProxyLogin
,PushProxyPassword
- учетные данные для подключения к экземпляру сервиса PUSH Service, которые были заданы на этапе настройки модуля PUSH ServicePushProxyAddress
- URL-адрес PUSH Service
URL-адрес сервиса PUSH Service имеет следующий формат:
http(s)://<hostname>/pushproxy/<modulename>
где
hostname
- DNS-имя сервера, на котором развернут PUSH Service;pushproxy
- имя экземпляра сервиса, указанное при его создании в параметре-InstanceName
;modulename
- имя модуля PUSH Service.
Пример перенастройки:
#Подготовка данных
#Идентификатор прикладной системы. Значение можно получить при помощи командлета Get-IdsMobileAppConfiguration
$systemID = "ID прикладной системы"
#Наименование экземпляра ЦИ
$STSAppName = "STS"
$hostname = "DNS-имя сервера, на котором развернут сервис PushProxy"
$pushproxy_instance = "Имя экземпляра сервиса PushProxy"
$modulename = "Имя модуля рассылки сервиса PushProxy"
$proxy_login = "Логин для подключения к модулю рассылки сервиса PushProxy"
$proxy_password = "Пароль для подключения к модулю рассылки сервиса PushProxy"
#Интеграция с сервисом PushProxy
Set-IdsMobileAppConfiguration -DisplayName $STSAppName -SystemId $systemID -PushType PushProxy -PushProxyAddress "https://$hostname/$pushproxy_instance/$modulename" -PushProxyLogin $proxy_login -PushProxyPassword $proxy_password
#Перезапуск экземпляра ЦИ
Restart-IdsInstance
Шаблоны PUSH-уведомлений
Шаблоны уведомлений КриптоПро Ключ
#CertificateCreated
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 20 -MyDssSystemId $mydsssystem.id -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
#CertificateDeleted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 46 -MyDssSystemId $mydsssystem.id -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
#CertificateRevoke
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 48 -MyDssSystemId $mydsssystem.id -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
#CertificateHold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 49 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
#CertificateUnhold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 50 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
#CertificateSetDefault
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 53 -MyDssSystemId $mydsssystem.id -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
#CertificateInstalled
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 58 -MyDssSystemId $mydsssystem.id -Text 'Сертификат установлен' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_sent"}'
#SecondaryAuthLogin
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 92 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title":"Доступна новая операция для подтверждения", "body": "Новая операция ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"operation_created"}'
#SecondaryAuthSign
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 93 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "{0:CertFriendlyName}", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSignDocs
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 94 -MyDssSystemId $mydsssystem.id -Text 'Доступна новая операция для подтверждения' -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "title": "Доступна новая операция для подтверждения", "body": "Новый пакет документов на подпись ожидает подтверждения в приложении", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}", "login":"{0:Login}", "action":"sign_operation_created"}'
#CertificateRequestOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 270 -MyDssSystemId $mydsssystem.id -Text 'Изменился статус сертификата' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": " Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}", "login":"{0:Login}", "action":"cert_created"}'
#ChangeCertificateStatusOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 276 -MyDssSystemId $mydsssystem.id -Text 'Назначен сертификат по умолчанию' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Установлен сертификат по умолчанию", "body": "Для учетной {0:Login} установлен сертификат по умолчанию", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_change_default"}'
#DeleteCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 280 -MyDssSystemId $mydsssystem.id -Text 'Сертификат удалён' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.default", "title": "Сертификат удалён", "body": "Для учетной {0:Login} был удален сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_deleted"}'
#RevokeCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 282 -MyDssSystemId $mydsssystem.id -Text 'Сертификат отозван' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.revoked", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} был отозван сертификат", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_revoked"}'
#HoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 284 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата приостановлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сействие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_suspended"}'
#UnHoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 286 -MyDssSystemId $mydsssystem.id -Text 'Действие сертификата возобновлено' -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Для учетной {0:Login} действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "login":"{0:Login}", "action":"cert_resumed"}'
#AssignMyDssSdkDevice
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 234 -MyDssSystemId $mydsssystem.id -Text 'Подтвердите данные учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные пользователя", "body": "Оператор привязал устройство к учетной записи {0:Login}", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"binded"}'
#myDssDeviceLocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 320 -MyDssSystemId $mydsssystem.id -Text 'Профиль устройства заблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была заблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"blocked"}'
#myDssDeviceUnlocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 321 -MyDssSystemId $mydsssystem.id -Text 'Профиль устройства разблокирован на сервере' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разблокирована", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unblocked"}'
#myDssDeviceDelete
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 322 -MyDssSystemId $mydsssystem.id -Text 'Устройство отвязано от учётной записи' -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.deleted", "title": "Изменились данные пользователя", "body": "Связь устройства с учётной записью {0:Login} была разорвана", "userID": "{0:UserID}", "kid":"{0:MyDssKid}", "login":"{0:Login}", "action":"unbinded"}'
Шаблоны уведомлений КриптоКлюч
#AssignMyDssSdkDevice
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 234 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Подтвердите данные учётной записи" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.info.changed", "loc_key": "notification.user.accept", "title": "Изменились данные подписи", "body": "Подтвердите данные учётной записи", "userID": "{0:UserID}"}'
#myDssDeviceLocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 320 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Профиль устройства заблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.blocked", "title": "Изменился статус профиля", "body": "Профиль устройства заблокирован на сервере", "userID": "{0:UserID}"}'
#myDssDeviceUnlocked
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 321 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Профиль устройства разблокирован на сервере" -Payload '{ "app-event-type":"users.state.changed", "title_loc_key": "notification.user.state.changed", "loc_key": "notification.user.unblocked", "title": "Изменился статус профиля", "body": "Профиль устройства разблокирован на сервере", "userID": "{0:UserID}"}'
#CertificateInstalled
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 58 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateRequestOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 270 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateCreated
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 20 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Изменился статус сертификата" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.issued", "title": "Изменился статус сертификата", "body": "Сертификат выпущен и готов к работе", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateHold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 49 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#HoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 284 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата приостановлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.hold", "title": "Изменился статус сертификата", "body": "Действие сертификата приостановлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#CertificateUnhold
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 50 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#UnHoldCertificateOperationExecuted
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 286 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Действие сертификата возобновлено" -Payload '{ "app-event-type":"certificates.state.changed", "title_loc_key": "notification.certificate.state.changed", "loc_key": "notification.certificate.unhold", "title": "Изменился статус сертификата", "body": "Действие сертификата возобновлено", "userID": "{0:UserID}", "certificateID": "{0:CertificateID}", "certificateRequestID": "{0:RequestID}"}'
#SecondaryAuthLogin
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 92 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSign
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 93 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'
#SecondaryAuthSignDocs
Add-IdsPushFormatterTemplate -DisplayName $idp_name -EventID 94 -MyDssSystemId $mydsssystem_cryptokey.id -Text "Доступна новая операция для подтверждения" -Payload '{"app-event-type":"operations.new", "loc_key": "notification.operation.available", "body": "Доступна новая операция для подтверждения", "userID": "{0:UserID}", "transactionID": "{0:TransactionId}"}'