PreferenceDestination : dans le champ d’application, global
L’API PreferenceDestination met à jour les préférences de notification de l’utilisateur.
Une destination de notification est un endroit où une notification peut être remise, comme une adresse e-mail ou un numéro de téléphone spécifique. Cette API est basée sur les notifications de la table Notification [sys_notification]. Les notifications sont envoyées par le biais de canaux tels que l’e-mail ou Espace de travail. Un canal peut être utilisé pour envoyer des notifications à plusieurs types de destinations. Par exemple, un canal de messagerie peut envoyer des notifications à la fois à des destinataires de messagerie personnelle et professionnelle. Les types de destinations sont répertoriés dans le tableau Type de destination de notification [sys_notif_destination_type].
Un utilisateur peut mettre à jour ses propres préférences de notification et un administrateur peut mettre à jour les préférences de notification pour n’importe quel utilisateur. Les préférences de notification de l’utilisateur contrôlent quelles destinations recevront quelles notifications.
Utilisez cette API avec l’API Préférences . Avant d’appeler des méthodes de cette classe, vous devez appeler les méthodes Preferences.getDestinations() ou Preferences.getDestinationsByChannel() pour instancier un objet PreferenceDestination.
Cette classe utilise l’identificateur d’espace de noms sn_notification.
PreferenceDestination : getChannel()
Renvoie le canal utilisé pour envoyer des notifications à la destination.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| GlideRecord | GlideRecord de la table Canal de notification [sys_notification_channel] pour le canal utilisé pour envoyer des notifications à la destination. |
Cet exemple imprime le canal utilisé pour envoyer des notifications pour chacune des destinations d’Abel Tuter.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
for (var i=0; i<dests.length; i++) {
gs.print('Channel for destination '+(i+1)+' is '+dests[i].getChannel().name);
}
Sortie :
Channel for destination 1 is Workspace
PreferenceDestination : getDeliverTo()
Renvoie l’identificateur de la destination.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Identificateur de destination. Par exemple, une adresse e-mail, un jeton d’installation d’application push ou sys_id. |
Cet exemple imprime l’identificateur pour chacune des destinations d’Abel Tuter. La sortie montre que l’identificateur de destination d’Abel Espace de travail est l’utilisateur sys_id.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
for (var i=0; i<dests.length; i++) {
gs.print('The identifier for '+recipient.first_name+'\'s '+dests[i].getDestinationType().name+' destination is '+dests[i].getDeliverTo());
}
Sortie :
The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1
PreferenceDestination : getDestinationType()
Renvoie le type de destination, tel qu’e-mail personnel ou e-mail professionnel.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| GlideRecord | GlideRecord de la table Type de destination de notification [sys_notif_destination_type] pour le type de destination. |
Cet exemple imprime l’identificateur pour chacune des destinations d’Abel Tuter. La sortie montre que l’identificateur de destination d’Abel Espace de travail est l’utilisateur sys_id.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
for (var i=0; i<dests.length; i++) {
gs.print('The identifier for '+recipient.first_name+'\'s '+dests[i].getDestinationType().name+' destination is '+dests[i].getDeliverTo());
}
Sortie :
The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1
PreferenceDestination : isActive (notification GlideRecord)
Vérifie si la destination a l’autorisation de recevoir une notification.
| Nom | Type | Description |
|---|---|---|
| Notification | GlideRecord | Facultatif. Notification pour vérifier si la destination a l’autorisation de recevoir cette notification. Une exception est levée si la notification n’existe pas ou si elle n’est pas lisible par l’utilisateur de destination. Si aucune notification n’est spécifiée, cette méthode vérifie si la destination est autorisée à recevoir des notifications. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la destination a l’autorisation de recevoir une notification. Valeurs possibles :
|
Cet exemple vérifie si chacune des destinations d’Abel Tuter a l’autorisation de recevoir la notification de demande d’approbation.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
var notif = new GlideRecord('sys_notification');
notif.get('name', 'Approval Request');
for (var i=0; i<dests.length; i++) {
var active = dests[i].isActive(notif) ? 'active' : 'inactive';
gs.print(dests[i].getDestinationType().name + ' ' + dests[i].getDeliverTo() + ' is ' + active + ' for this notification');
}
Sortie :
Workspace 62826bf03710200044e0bfc8bcbe5df1 is active for this notification
PreferenceDestination : isOverriden(notification GlideRecord)
Vérifie si une notification remplace les préférences d’un utilisateur pour la destination.
| Nom | Type | Description |
|---|---|---|
| Notification | GlideRecord | Spécifier une notification pour vérifier si elle remplace les préférences utilisateur pour la destination. La notification doit être un GlideRecord de la table Notification [sys_notification]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si la notification remplace les préférences de l’utilisateur pour la destination. Valeurs valides :
|
Cet exemple vérifie si la notification de demande d’approbation remplace les préférences utilisateur pour l’une des destinations d’Abel Tuter. Si la notification ne remplace pas les préférences utilisateur, la destination est autorisée à recevoir la notification. Sinon, aucune préférence n’est définie, car la notification l’écrase.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
var notif = new GlideRecord('sys_notification');
notif.get('name', 'Approval Request');
var firstDest = dests[0];
if (!firstDest.isOverridden(notif)) {
dests[0].setActive(notif, true);
} else {
gs.print('This notification overrides user preference, so don't bother to set a preference.');
}
PreferenceDestination : setActive (notification GlideRecord, booléen actif)
Définit la préférence utilisateur d’une destination pour recevoir ou ne pas recevoir de notifications.
La méthode isOverriden() peut d’abord être appelée pour vérifier si la préférence utilisateur sera ignorée, mais elle n’est pas obligatoire.
| Nom | Type | Description |
|---|---|---|
| Notification | GlideRecord | Facultatif. Si une notification est spécifiée, la préférence utilisateur est définie quant à la destination pour recevoir ou non cette notification. La notification doit être un GlideRecord de la table Notification [sys_notification]. Si aucune notification n’est spécifiée, la préférence utilisateur est définie pour la destination de réception ou de non-réception de toutes les notifications. |
| actif | Booléen | Marqueur indiquant si la destination a l’autorisation de recevoir une notification. Valeurs valides :
|
| Type | Description |
|---|---|
| Néant |
Cet exemple vérifie si la notification de demande d’approbation remplace les préférences utilisateur pour l’une des destinations d’Abel Tuter. Si la notification ne remplace pas les préférences utilisateur, la destination est autorisée à recevoir la notification. Sinon, aucune préférence n’est définie, car la notification l’écrase.
var recipient = new GlideRecord('sys_user');
recipient.get('last_name', 'Tuter');
var prefs = new sn_notification.Preferences(recipient);
var dests = prefs.getDestinations();
var notif = new GlideRecord('sys_notification');
notif.get('name', 'Approval Request');
var firstDest = dests[0];
if (!firstDest.isOverridden(notif)) {
dests[0].setActive(notif, true);
} else {
gs.print('This notification overrides user preference, so don't bother to set a preference.');
}