PreferenceDestination: Bereichsbezogen, Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 5 Minuten Lesedauer
  • Die PreferenceDestination API aktualisiert Anwenderbenachrichtigungseinstellungen.

    Ein Benachrichtigungsziel ist ein Ort, an den eine Benachrichtigung gesendet werden kann, z. B. eine bestimmte E-Mail-Adresse oder Telefonnummer. Diese API basiert auf Benachrichtigungen aus der Benachrichtigungstabelle [sys_Notification]. Benachrichtigungen werden über Kanäle wie E-Mail oder gesendet Arbeitsbereich. Ein Kanal kann verwendet werden, um Benachrichtigungen an mehrere Arten von Zielen zu senden. Beispielsweise kann ein E-Mail-Kanal Benachrichtigungen sowohl an private als auch an geschäftliche E-Mail-Ziele senden. Zieltypen werden in der Tabelle „Benachrichtigungszieltyp“ [sys_notif_destination_type] aufgeführt.

    Ein Anwender kann seine eigenen Benachrichtigungseinstellungen aktualisieren, und ein Administrator kann Benachrichtigungseinstellungen für jeden Anwender aktualisieren. Anwenderbenachrichtigungseinstellungen steuern, welche Ziele welche Benachrichtigungen erhalten.

    Verwenden Sie diese API mit Einstellungen API. Bevor Sie Methoden in dieser Klasse aufrufen, müssen Sie aufrufen Einstellungen.getZiele() Oder Einstellungen.getZielByChannel() Methoden zum Instanziieren eines PreferenceDestination-Objekts.

    Diese Klasse verwendet sn_Notification Namespace-Bezeichner.

    PreferenceDestination – getChannel()

    Gibt den Kanal zurück, der zum Senden von Benachrichtigungen an das Ziel verwendet wird.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    GlideRecord GlideRecord aus der Tabelle „Benachrichtigungskanal“ [sys_Notification_Channel] für den Kanal, der zum Senden von Benachrichtigungen an das Ziel verwendet wird.

    In diesem Beispiel wird der Kanal gedruckt, der zum Senden von Benachrichtigungen für jedes der Ziele von Abel Tuter verwendet wird.

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

    Ausgabe:

    Channel for destination 1 is Workspace

    PreferenceDestination – getDeliverTo()

    Gibt den Bezeichner für das Ziel zurück.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Bezeichner für das Ziel. Zum Beispiel eine E-Mail-Adresse, ein Push-Anwendungs-Installationstoken oder eine sys_ID

    In diesem Beispiel wird der Bezeichner für jedes der Ziele von Abel Tuter gedruckt. Die Ausgabe zeigt den Bezeichner für Abel an Arbeitsbereich Ziel ist die sys_ID des Anwenders

    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());
    }

    Ausgabe:

    The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1

    PreferenceDestination – getDestinationType()

    Gibt den Typ des Ziels zurück, z. B. persönliche E-Mail-Adresse oder geschäftliche E-Mail-Adresse.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    GlideRecord GlideRecord aus der Tabelle „Benachrichtigungszieltyp“ [sys_notif_destination_type] für den Zieltyp.

    In diesem Beispiel wird der Bezeichner für jedes der Ziele von Abel Tuter gedruckt. Die Ausgabe zeigt den Bezeichner für Abel an Arbeitsbereich Ziel ist die sys_ID des Anwenders

    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());
    }

    Ausgabe:

    The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1

    PreferenceDestination – isActive(GlideRecord-Benachrichtigung)

    Überprüft, ob das Ziel berechtigt ist, eine Benachrichtigung zu erhalten.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Benachrichtigung GlideRecord Optional. Benachrichtigung, um zu überprüfen, ob das Ziel über die Berechtigung zum Empfang dieser Benachrichtigung verfügt. Eine Ausnahme wird ausgelöst, wenn die Benachrichtigung nicht vorhanden ist oder wenn die Benachrichtigung für den Anwender des Ziels nicht lesbar ist. Wenn keine Benachrichtigung angegeben ist, überprüft diese Methode, ob das Ziel über die Berechtigung zum Empfangen von Benachrichtigungen verfügt.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das Ziel über die Berechtigung zum Empfang einer Benachrichtigung verfügt.
    Mögliche Werte:
    • Wahr: Das Ziel hat die Berechtigung, eine Benachrichtigung zu erhalten.
    • Falsch: Das Ziel hat keine Berechtigung zum Empfangen einer Benachrichtigung.

    In diesem Beispiel wird überprüft, ob jedes der Ziele von Abel Tuter über die Berechtigung zum Empfangen der Benachrichtigung über die Genehmigungsanforderung verfügt.

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

    Ausgabe:

    Workspace 62826bf03710200044e0bfc8bcbe5df1 is active for this notification

    PreferenceDestination – isOverriden(GlideRecord-Benachrichtigung)

    Überprüft, ob eine Benachrichtigung die Einstellungen eines Anwenders für das Ziel überschreibt.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Benachrichtigung GlideRecord Geben Sie An Eine Benachrichtigung, um zu überprüfen, ob Anwendereinstellungen für das Ziel überschrieben werden. Die Benachrichtigung muss ein GlideRecord aus der Benachrichtigungstabelle [sys_Notification] sein.
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob die Benachrichtigung die Anwendereinstellungen für das Ziel überschreibt.

    Gültige Werte:
    • Wahr: Anwendereinstellungen für das Ziel werden für diese Benachrichtigung ignoriert.
    • Falsch: Das Ziel empfängt die Benachrichtigung gemäß der Anwendereinstellung oder erhält sie nicht.

    In diesem Beispiel wird überprüft, ob die Benachrichtigung über die Genehmigungsanforderung Anwendereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung Anwendereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfang der Benachrichtigung. Andernfalls wird keine Einstellung festgelegt, da die Benachrichtigung die Einstellung überschreibt.

    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(GlideRecord-Benachrichtigung, boolescher Wert aktiv)

    Legt die Anwendereinstellung für ein Ziel fest, um Benachrichtigungen zu erhalten oder nicht zu erhalten.

    Die IsOverriden() Die Methode kann zuerst aufgerufen werden, um zu überprüfen, ob die Anwendereinstellung ignoriert wird, sie ist jedoch nicht erforderlich.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Benachrichtigung GlideRecord Optional. Wenn eine Benachrichtigung angegeben ist, wird die Anwendereinstellung festgelegt, damit das Ziel diese Benachrichtigung empfängt oder nicht erhält. Die Benachrichtigung muss ein GlideRecord aus der Benachrichtigungstabelle [sys_Notification] sein. Wenn keine Benachrichtigung angegeben ist, wird die Anwendereinstellung so festgelegt, dass das Ziel alle Benachrichtigungen empfängt oder nicht.
    aktiv Boolean

    Kennzeichnung, die angibt, ob das Ziel über die Berechtigung zum Empfang einer Benachrichtigung verfügt.

    Gültige Werte:
    • Wahr: Das Ziel hat die Berechtigung, eine Benachrichtigung zu erhalten.
    • Falsch: Das Ziel hat keine Berechtigung zum Empfangen einer Benachrichtigung.
    Tabelle : 12. Rückgaben
    Typ Beschreibung
    Keine

    In diesem Beispiel wird überprüft, ob die Benachrichtigung über die Genehmigungsanforderung Anwendereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung Anwendereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfang der Benachrichtigung. Andernfalls wird keine Einstellung festgelegt, da die Benachrichtigung die Einstellung überschreibt.

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