Einstellungsziel: Bereichsbezogen, global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 5 Minuten Lesedauer
  • Die PreferenceDestination- API aktualisiert die Benachrichtigungseinstellungen des Anwenders.

    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 Arbeitsbereichgesendet. Ein Kanal kann zum Senden von Benachrichtigungen an mehrere Arten von Zielen verwendet werden. Beispielsweise könnte 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 Benutzer kann seine eigenen Benachrichtigungseinstellungen aktualisieren, und ein Administrator kann die Benachrichtigungseinstellungen für jeden anderen Benutzer aktualisieren. Die Benachrichtigungseinstellungen für Benutzer steuern, welche Ziele welche Benachrichtigungen erhalten.

    Verwenden Sie diese API mit der Voreinstellungs -API. Bevor Sie Methoden in dieser Klasse aufrufen, müssen Sie die Methoden Preferences.getDestinations() oder Preferences.getDestinationsByChannel() aufrufen, um ein PreferenceDestination-Objekt zu instanziieren.

    Diese Klasse verwendet den Namespace-Bezeichner sn_notification.

    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-Anwendungsinstallationstoken oder eine sys_id.

    In diesem Beispiel wird der Bezeichner für jedes Ziel von Abel Tuter ausgegeben. Die Ausgabe zeigt, dass der Bezeichner für Abels Ziel Arbeitsbereich die sys_id des Anwenders ist.

    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 Ziel von Abel Tuter ausgegeben. Die Ausgabe zeigt, dass der Bezeichner für Abels Ziel Arbeitsbereich die sys_id des Anwenders ist.

    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 berechtigt ist, diese Benachrichtigung zu erhalten. Eine Ausnahme wird ausgelöst, wenn die Benachrichtigung nicht vorhanden ist oder für den Anwender des Ziels nicht lesbar ist. Wenn keine Benachrichtigung angegeben ist, überprüft diese Methode, ob das Ziel zum Empfangen von Benachrichtigungen berechtigt ist.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das Ziel berechtigt ist, eine Benachrichtigung zu erhalten.
    Mögliche Werte:
    • „wahr“: Das Ziel hat die Berechtigung zum Empfangen einer Benachrichtigung.
    • „falsch“: Das Ziel hat keine Berechtigung zum Empfangen einer Benachrichtigung.

    In diesem Beispiel wird überprüft, ob jedes der Ziele von Abel Tuter berechtigt ist, die Benachrichtigung über die Genehmigungsanforderung zu erhalten.

    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 notification)

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

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Benachrichtigung GlideRecord Geben Sie eine Benachrichtigung für an, um zu überprüfen, ob sie die Anwendereinstellungen für das Ziel überschreibt. 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.
    • „false“: Das Ziel erhält die Benachrichtigung je nach Anwendereinstellung nicht.

    In diesem Beispiel wird überprüft, ob die Benachrichtigung über die Genehmigungsanforderung die Anwendereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung die Anwendereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfangen 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 notification, Boolesche Aktivität)

    Legt die Anwendereinstellung für ein Ziel fest, ob Benachrichtigungen empfangen oder nicht empfangen werden sollen.

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

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Benachrichtigung GlideRecord Optional. Wenn eine Benachrichtigung angegeben ist, wird die Anwendereinstellung dafür festgelegt, ob das Ziel diese Benachrichtigung erhält oder nicht. Die Benachrichtigung muss ein GlideRecord aus der Benachrichtigungstabelle [sys_notification] sein. Wenn keine Benachrichtigung angegeben ist, wird in der Anwendereinstellung festgelegt, ob das Ziel alle Benachrichtigungen erhält oder nicht.
    aktiv Boolean

    Kennzeichnung, die angibt, ob das Ziel berechtigt ist, eine Benachrichtigung zu erhalten.

    Gültige Werte:
    • „wahr“: Das Ziel hat die Berechtigung zum Empfangen einer Benachrichtigung.
    • „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 die Anwendereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung die Anwendereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfangen 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.'); 
    }