PreferenceDestination – Scoped, Global
Die PreferenceDestination- API aktualisiert die Benachrichtigungseinstellungen des Benutzers.
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 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] aufgelistet.
Ein Benutzer kann seine eigenen Benachrichtigungseinstellungen aktualisieren, und ein Administrator kann die Benachrichtigungseinstellungen für jeden Benutzer aktualisieren. Benutzerbenachrichtigungseinstellungen steuern, welche Ziele welche Benachrichtigungen erhalten.
Verwenden Sie diese API mit der Preferences- 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-Identifier sn_notification.
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 | Der 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 der Ziele von Abel Tuter gedruckt. Die Ausgabe zeigt, dass der Bezeichner für Abels Ziel Arbeitsbereich die sys_id des Benutzers 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. private 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, dass der Bezeichner für Abels Ziel Arbeitsbereich die sys_id des Benutzers 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 notification)
Überprüft, ob das Ziel die Berechtigung zum Empfangen einer Benachrichtigung hat.
| Name | Typ | Beschreibung |
|---|---|---|
| Benachrichtigung | GlideRecord | Optional. Geben Sie eine Benachrichtigung an, um zu überprüfen, ob das Ziel die Berechtigung zum Empfangen dieser Benachrichtigung hat. Eine Ausnahme wird ausgelöst, wenn die Benachrichtigung nicht vorhanden ist oder vom Benutzer des Ziels nicht gelesen werden kann. Wenn keine Benachrichtigung angegeben ist, überprüft diese Methode, ob das Ziel berechtigt ist, Benachrichtigungen zu empfangen. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Ziel über die Berechtigung zum Empfangen einer Benachrichtigung verfügt. Gültige Werte:
|
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.
| Name | Typ | Beschreibung |
|---|---|---|
| Benachrichtigung | GlideRecord | Geben Sie eine Benachrichtigung an, um zu überprüfen, ob sie die Benutzereinstellungen für das Ziel überschreibt. Die Benachrichtigung muss ein GlideRecord aus der Benachrichtigungstabelle [sys_notification] sein. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die Benachrichtigung die Benutzereinstellungen für das Ziel überschreibt. Gültige Werte:
|
In diesem Beispiel wird überprüft, ob die Benachrichtigung über die Genehmigungsanforderung die Benutzereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung die Benutzereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfangen der Benachrichtigung. Andernfalls wird keine Einstellung festgelegt, da die Einstellung durch die Benachrichtigung überschrieben wird.
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, Boolean active)
Legt die Benutzereinstellung 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 Benutzereinstellung ignoriert wird, dies ist jedoch nicht erforderlich.
| Name | Typ | Beschreibung |
|---|---|---|
| Benachrichtigung | GlideRecord | Optional. Wenn eine Benachrichtigung angegeben ist, wird die Benutzereinstellung für das Ziel festgelegt, um diese Benachrichtigung zu erhalten oder nicht. Die Benachrichtigung muss ein GlideRecord aus der Benachrichtigungstabelle [sys_notification] sein. Wenn keine Benachrichtigung angegeben ist, wird die Benutzereinstellung so festgelegt, dass das Ziel alle Benachrichtigungen erhält oder nicht. |
| aktiv | Boolean | Kennzeichnung, die angibt, ob das Ziel über die Berechtigung zum Empfangen einer Benachrichtigung verfügt. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird überprüft, ob die Benachrichtigung über die Genehmigungsanforderung die Benutzereinstellungen für eines der Ziele von Abel Tuter überschreibt. Wenn die Benachrichtigung die Benutzereinstellungen nicht überschreibt, erhält das Ziel die Berechtigung zum Empfangen der Benachrichtigung. Andernfalls wird keine Einstellung festgelegt, da die Einstellung durch die Benachrichtigung überschrieben wird.
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.');
}