PreferenceDestination: Bereichsbezogen, Global
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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Ziel über die Berechtigung zum Empfang einer Benachrichtigung verfügt. Mögliche Werte:
|
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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Benachrichtigung die Anwendereinstellungen für das Ziel überschreibt. Gültige Werte:
|
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.
| 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:
|
| 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.');
}