PreferenceDestination - escopo, global
. PreferenceDestination A API atualiza as preferências de notificação do usuário.
Um destino de notificação é um lugar para o qual uma notificação pode ser entregue, como um endereço de e-mail ou número de telefone específico. Esta API é baseada em notificações da tabela Notificação [sys_notification]. As notificações são enviadas por canais como e-mail ou Espaço. Um canal pode ser usado para enviar notificações para vários tipos de destinos. Por exemplo, um canal de e-mail pode enviar notificações para destinos de e-mail pessoal e trabalho. Os tipos de destino são listados na tabela Tipo de destino de notificação [sys_notif_destination_type].
Um usuário pode atualizar suas próprias preferências de notificação e um administrador pode atualizar as preferências de notificação para qualquer usuário. As preferências de notificação do usuário controlam quais destinos receberão quais notificações.
Use esta API com Preferências API. Antes de chamar qualquer método nesta classe, você deve chamar Preferences.getDestinations() ou Preferences.getDestinationsPorChannel() Métodos para instanciar um objeto PreferenceDestination.
Esta classe usa sn_notification identificador de namespace.
PreferenceDestination - getChannel()
Retorna o canal usado para enviar notificações para o destino.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideRecord | GlideRecord da tabela Canal de notificação [sys_notification_channel] para o canal que é usado para enviar notificações para o destino. |
Este exemplo imprime o canal usado para enviar notificações para cada um dos destinos de Abel Tuter.
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);
}
Saída:
Channel for destination 1 is Workspace
PreferenceDestination - getDeliverTo()
Retorna o identificador do destino.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Identificador do destino. Por exemplo, um endereço de e-mail, token de instalação da aplicação por push ou sys_id. |
Este exemplo imprime o identificador de cada um dos destinos de Abel Tuter. A saída mostra o identificador de Abel Espaço o destino é o sys_id do usuário.
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());
}
Saída:
The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1
PreferenceDestination - getDestinationType()
Retorna o tipo de destino, como e-mail pessoal ou e-mail comercial.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| GlideRecord | GlideRecord da tabela Tipo de destino de notificação [sys_notif_destination_type] para o tipo de destino. |
Este exemplo imprime o identificador de cada um dos destinos de Abel Tuter. A saída mostra o identificador de Abel Espaço o destino é o sys_id do usuário.
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());
}
Saída:
The identifier for Abel's Workspace destination is 62826bf03710200044e0bfc8bcbe5df1
PreferenceDestination - isActive (notificação GlideRecord)
Verifica se o destino tem permissão para receber uma notificação.
| Nome | Tipo | Descrição |
|---|---|---|
| notificação | GlideRecord | Opcional. Notificação para verificar se o destino tem permissão para receber essa notificação. Uma exceção será lançada se a notificação não existir ou se a notificação não for legível pelo usuário do destino. Se nenhuma notificação for especificada, este método verificará se o destino tem permissão para receber notificações. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o destino tem permissão para receber uma notificação. Valores possíveis:
|
Este exemplo verifica se cada um dos destinos de Abel Tuter tem permissão para receber a notificação de solicitação de aprovação.
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');
}
Saída:
Workspace 62826bf03710200044e0bfc8bcbe5df1 is active for this notification
PreferenceDestination - isOverriden (notificação GlideRecord)
Verifica se uma notificação substitui as preferências de um usuário para o destino.
| Nome | Tipo | Descrição |
|---|---|---|
| notificação | GlideRecord | Especificar uma notificação para verificar se ela substitui as preferências do usuário para o destino. A notificação deve ser um GlideRecord da tabela Notificação [sys_notification]. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se a notificação substitui as preferências do usuário para o destino. Valores válidos:
|
Este exemplo verifica se a notificação de solicitação de aprovação substitui as preferências do usuário para um dos destinos de Abel Tuter. Se a notificação não substituir as preferências do usuário, o destino receberá permissão para receber a notificação. Caso contrário, nenhuma preferência será definida porque a notificação substituirá a preferência.
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 (notificação GlideRecord, booliano ativo)
Define a preferência do usuário para que um destino receba ou não notificações.
. IsOverriden() o método pode ser chamado primeiro para verificar se a preferência do usuário será ignorada, mas não é necessário.
| Nome | Tipo | Descrição |
|---|---|---|
| notificação | GlideRecord | Opcional. Se uma notificação for especificada, a preferência do usuário será definida para que o destino receba ou não essa notificação. A notificação deve ser um GlideRecord da tabela Notificação [sys_notification]. Se nenhuma notificação for especificada, a preferência do usuário será definida para que o destino receba ou não todas as notificações. |
| ativo | Booliano | Sinalizador que indica se o destino tem permissão para receber uma notificação. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Nenhum |
Este exemplo verifica se a notificação de solicitação de aprovação substitui as preferências do usuário para um dos destinos de Abel Tuter. Se a notificação não substituir as preferências do usuário, o destino receberá permissão para receber a notificação. Caso contrário, nenhuma preferência será definida porque a notificação substituirá a preferência.
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.');
}