Einstellungsziel: Bereichsbezogen, global
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.
| 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 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.
| 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 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Benachrichtigung | GlideRecord | Optional. Geben Sie eine Benachrichtigung an, 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das Ziel berechtigt ist, eine Benachrichtigung zu erhalten. 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 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. |
| 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 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.
| 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:
|
| 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.');
}