PreferenceDestination : incluse dans le périmètre, globale

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 5 minutes de lecture
  • 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 via des 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 la table 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 de 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.

    Tableau 1. Paramètres
    Nom Type Description
    Néant
    Tableau 2. Renvoie
    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.

    Tableau 3. Paramètres
    Nom Type Description
    Néant
    Tableau 4. Renvoie
    Type Description
    Chaîne Identificateur de la 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 la destination d’Abel est l’utilisateur Espace de travail 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 que e-mail personnel ou e-mail professionnel.

    Tableau 5. Paramètres
    Nom Type Description
    Néant
    Tableau 6. Renvoie
    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 la destination d’Abel est l’utilisateur Espace de travail 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.

    Tableau 7. Paramètres
    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 la notification 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 a l’autorisation de recevoir des notifications.
    Tableau 8. Renvoie
    Type Description
    Booléen Marqueur indiquant si la destination a l’autorisation de recevoir une notification.
    Valeurs possibles :
    • vrai : la destination est autorisée à recevoir une notification.
    • faux : la destination n’a pas l’autorisation de recevoir une notification.

    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.

    Tableau 9. Paramètres
    Nom Type Description
    Notification GlideRecord Spécifiez 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 de notification [sys_notification].
    Tableau 10. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si la notification remplace les préférences utilisateur pour la destination.

    Valeurs valides :
    • vrai : les préférences utilisateur pour la destination sont ignorées pour cette notification.
    • faux : la destination reçoit ou ne reçoit pas la notification selon les préférences de l’utilisateur.

    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 remplace la préférence.

    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 non des notifications.

    La méthode isOverriden() peut d’abord être appelée pour vérifier si la préférence utilisateur est ignorée, mais ce n’est pas obligatoire.

    Tableau 11. Paramètres
    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 de notification [sys_notification]. Si aucune notification n’est spécifiée, la préférence utilisateur est définie pour que la destination reçoive ou ne reçoive pas toutes les notifications.
    actif Booléen

    Marqueur indiquant si la destination a l’autorisation de recevoir une notification.

    Valeurs valides :
    • vrai : la destination est autorisée à recevoir une notification.
    • faux : la destination n’a pas l’autorisation de recevoir une notification.
    Tableau 12. Renvoie
    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 remplace la préférence.

    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.'); 
    }