---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# PreferenceDestination - com escopo, global

# PreferenceDestination - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 5 min. de leitura

A API PreferenceDestination atualiza as preferências de notificação do usuário.

Um destino de notificação está em algum 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 meio de 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 e-mail comercial. 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 de qualquer usuário. As preferências de notificação do usuário controlam quais destinos receberão quais notificações.

Use esta API com a API [Preferences](https://servicenow-prod.fluidtopics.net/lTyYfRyYgkA1bii3dbWbEw#PreferencesBothAPI "A API Preferences obtém destinos de notificação para um usuário."). Antes de chamar qualquer método nesta classe, você deve chamar os métodos Preferences.getDestinations() ou Preferences.getDestinationsByChannel() para instanciar um objeto PreferenceDestination.

Esta classe usa o identificador de namespace `sn_notification`.

## PreferenceDestination - getChannel() {#ariaid-title2}

Retorna o canal usado para enviar notificações ao destino.
{#PrefDest-getChannel__table_hhz_g4h_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 1. Parâmetros]

{#PrefDest-getChannel__table_hhz_g4h_wnb} {#PrefDest-getChannel__table_ihz_g4h_wnb__entry__2}

| 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. |
[Tabela 2. Retorna]

{#PrefDest-getChannel__table_ihz_g4h_wnb}  
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() {#ariaid-title3}

Retorna o identificador do destino.
{#PrefDest-getDeliverTo__table_uzj_k4h_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 3. Parâmetros]

{#PrefDest-getDeliverTo__table_uzj_k4h_wnb} {#PrefDest-getDeliverTo__table_vzj_k4h_wnb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | O identificador do destino. Por exemplo, um endereço de e-mail, token de instalação de aplicação por push ou sys_id. |
[Tabela 4. Retorna]

{#PrefDest-getDeliverTo__table_vzj_k4h_wnb}  
Este exemplo imprime o identificador de cada um dos destinos de Abel Tuter. A saída mostra que o identificador do destino Espaço de Abel é 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() {#ariaid-title4}

Retorna o tipo de destino, como e-mail pessoal ou comercial.
{#PrefDest-getDestinationType__table_fkz_34h_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| Nenhum |   |   |
[Tabela 5. Parâmetros]

{#PrefDest-getDestinationType__table_fkz_34h_wnb} {#PrefDest-getDestinationType__table_gkz_34h_wnb__entry__2}

| Tipo | Descrição |
|-|-|
| GlideRecord | GlideRecord da tabela Tipo de destino de notificação \[sys_notif_destination_type\] para o tipo de destino. |
[Tabela 6. Retorna]

{#PrefDest-getDestinationType__table_gkz_34h_wnb}  
Este exemplo imprime o identificador de cada um dos destinos de Abel Tuter. A saída mostra que o identificador do destino Espaço de Abel é 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) {#ariaid-title5}

Verifica se o destino tem permissão para receber uma notificação.
{#PrefDest-isActive_O__table_j4d_bw3_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| notificação | GlideRecord | Opcional. Especifique uma 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 de destino. Se nenhuma notificação for especificada, este método verificará se o destino tem permissão para receber notificações. |
[Tabela 7. Parâmetros]

{#PrefDest-isActive_O__table_j4d_bw3_wnb} {#PrefDest-isActive_O__table_k4d_bw3_wnb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se o destino tem permissão para receber uma notificação. Valores válidos: * verdadeiro: o destino tem permissão para receber uma notificação. * falso: o destino não tem permissão para receber uma notificação. {#PrefDest-isActive_O__ul_jx4_bql_wnb} |
[Tabela 8. Retorna]

{#PrefDest-isActive_O__table_k4d_bw3_wnb}  
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) {#ariaid-title6}

Verifica se uma notificação substitui as preferências de um usuário para o destino.
{#PrefDest-isOverriden_O__table_s1c_5v3_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| notificação | GlideRecord | Especifique 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\]. |
[Tabela 9. Parâmetros]

{#PrefDest-isOverriden_O__table_s1c_5v3_wnb} {#PrefDest-isOverriden_O__table_t1c_5v3_wnb__entry__2}

| Tipo | Descrição |
|-|-|
| Booliano | Sinalizador que indica se a notificação substitui as preferências do usuário para o destino. Valores válidos: * verdadeiro: as preferências do usuário para o destino são ignoradas para esta notificação. * falso: o destino recebe ou não a notificação de acordo com a preferência do usuário. {#PrefDest-isOverriden_O__ul_mcq_txl_wnb} |
[Tabela 10. Retorna]

{#PrefDest-isOverriden_O__table_t1c_5v3_wnb}  
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 terá permissão para receber a notificação. Caso contrário, nenhuma preferência será definida porque a notificação substitui 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) {#ariaid-title7}

Define a preferência do usuário de um destino para receber ou não notificações.
O método isOverriden() pode ser chamado primeiro para verificar se a preferência do usuário será ignorada, mas isso não é necessário.
{#PrefDest-setActive_O_B__table_h3k_kw3_wnb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| notificação | GlideRecord | Opcional. Se uma notificação for especificada, a preferência do usuário será definida para o destino receber 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 o destino receber 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: * verdadeiro: o destino tem permissão para receber uma notificação. * falso: o destino não tem permissão para receber uma notificação. {#PrefDest-setActive_O_B__ul_jx4_bql_wnb} |
[Tabela 11. Parâmetros]

{#PrefDest-setActive_O_B__table_h3k_kw3_wnb} {#PrefDest-setActive_O_B__table_i3k_kw3_wnb__entry__2}

| Tipo | Descrição |
|-|-|
| Nenhum |   |
[Tabela 12. Retorna]

{#PrefDest-setActive_O_B__table_i3k_kw3_wnb}  
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 terá permissão para receber a notificação. Caso contrário, nenhuma preferência será definida porque a notificação substitui 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.'); 
    } 


