---
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


---

# OnCallContactPreferenceUtil - Global

# OnCallContactPreferenceUtil - 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 inclusão de script OnCallContactPreferenceUtil fornece métodos para lidar com as preferências de contato.

Para configuração de preferência de contato, consulte [Configurar preferências de contato](https://www.servicenow.com/docs/access?context=config-my-contact-prefs-oncall&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US).

Esta inclusão de script é compatível com a inclusão de script [OnCallRotation](https://servicenow-prod.fluidtopics.net/VGnN3XNPm~zqYJY5r2AB6A#c_OnCallRotationAPI "A inclusão de script OnCallRotation fornece métodos para gerenciar cronogramas de plantão.").

## OnCallContactPreferenceUtil - OnCallContactPreferenceUtil() {#ariaid-title2}

Cria uma instância da classe OnCallContactPreferenceUtil.
{#P-OnCallContactPreferenceUtil__table_pzm_w3f_2w__entry__3}

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

{#P-OnCallContactPreferenceUtil__table_pzm_w3f_2w}

## OnCallContactPreferenceUtil - getContactsAtByEscalatee(objeto escalado, número contactAttempt, GlideDateTime gdt, cadeia de caracteres rotaSysIds) {#ariaid-title3}

Obtém uma lista de contatos com o objeto escalonando. Cada contato retornado contém uma lista de preferências de contato do usuário.
{#P-getContactsAtByEscalatee_O_N_F_S__table_o1s_x5j_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| escalação | Objeto | Obrigatório. Objeto escalonando retornado pelo método [getEscalationPlan()](https://servicenow-prod.fluidtopics.net/VGnN3XNPm~zqYJY5r2AB6A#r_OCR-getEscalationPlan_S_GDT "Obtém uma lista de objetos para os quais escalar, planos de escalação que consistem em um usuário [sys_user] ou dispositivo de notificação [cmn_notif_device] para o turno de um grupo na data e hora especificadas. Esta API é aplicável para um único turno, turnos sobrepostos e escalação personalizada."). |
| tentativacontato | Número | Opcional. A tentativa que você está tentando contatar \[ valor padrão = 1 \]. * <kbd class="ph userinput">1</kbd>: Primeira tentativa * <kbd class="ph userinput">2</kbd>: Primeiro lembrete * <kbd class="ph userinput">3 ou mais</kbd>: lembretes subsequentes {#P-getContactsAtByEscalatee_O_N_F_S__ul_gp2_q4w_gjb} |
| gdt | GlideDateTime | Opcional. aaaa-MM-dd Formato HH:mm:ss no fuso horário UTC. O padrão é now.admin |
| rotaSysIds | Cadeia de caracteres | Opcional. Cadeia de caracteres separada por vírgulas de SYS IDs de turnos da tabela \[cmn_rota\]. O valor padrão retorna SYS IDs dos turnos no horário atual. |
[Tabela 2. Parâmetros]

{#P-getContactsAtByEscalatee_O_N_F_S__table_o1s_x5j_3gb} {#P-getContactsAtByEscalatee_O_N_F_S__table_nmd_wvj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto de matriz | Matriz de escalações (um usuário, grupo ou registros de dispositivo, dependendo das regras de notificação) em um horário e posição específicos. * tipo: cadeia de caracteres. Tipo de contato, por exemplo, usuário. * sys_id: cadeia de caracteres. SYS ID do usuário da tabela \[sys_user\]. * rota_id: cadeia de caracteres. SYS ID do turno da tabela \[cmn_rota\]. * roster_id: cadeia de caracteres. SYS ID da escala da tabela \[cmn_rota_roster\]. * escalation_step_id: cadeia de caracteres. Se um caminho de escalação tiver sido definido, o SYS ID da etapa de escalação da tabela \[cmn_rota_esc_step_def\]. * force_communication_channel: cadeia de caracteres. Se especificado nas preferências, obrigatório canal de comunicação. Os valores compatíveis incluem SMS, serviços de voz ou e-mail. * override_user_contact_preference: booliano. Verdadeiro se houver substituições de contato, caso contrário, falso. * prefere_source: cadeia de caracteres. Origem de preferência, como contato ou grupo. * contact_attempt: número. Tentativas de contato: 1 = primeira tentativa, 2 = primeiro lembrete e assim por diante. * user_preferences: objeto de matriz. * tipo: cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, sms, e-mail ou número. * \<name of preferred format, e.g., email or number\>: cadeia de caracteres. Conteúdo do tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone. {#P-getContactsAtByEscalatee_O_N_F_S__ul_pzn_52r_gjb} * contact_preferences, objeto de matriz. * tipo: cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, e-mail ou número. * \<name of preferred format, e.g., email or number\>: cadeia de caracteres. Conteúdo do tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone. {#P-getContactsAtByEscalatee_O_N_F_S__ul_vnw_y2r_gjb} {#P-getContactsAtByEscalatee_O_N_F_S__ul_whv_4bp_3jb} |
[Tabela 3. Retorna]

{#P-getContactsAtByEscalatee_O_N_F_S__table_nmd_wvj_3gb}  

    var serviceDeskSysId = '<Sys_ID>';
    var ocRotation = new OnCallRotation();
    var escalationPlan = ocRotation.getEscalationPlan(serviceDeskSysId);
    var escalatee = escalationPlan[0];

    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var contacts = onContactPrefUtil.getContactsAtByEscalatee(escalatee, contactAttempt, gdt);
    gs.log(JSON.stringify(contacts));

Saída:

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]

## OnCallContactPreferenceUtil - getUserPreferences(cadeia de caracteres userSysId, número contactAttempt, GlideDateTime gdt, cadeia de caracteres communicationTypes) {#ariaid-title4}

Obtém a lista de preferências de contato no momento em que o usuário optou pela comunicação. Se nenhuma hora for especificada, a hora atual será usada. Este método é aplicável a turnos únicos e sobrepostos.
{#P-getUserPreferences_S_N_GDT_S__table_ixr_4jk_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| userSysId | Cadeia de caracteres | SYS ID do usuário da tabela \[sys_user\]. |
| tentativacontato | Número | Opcional. A tentativa que você está tentando contatar \[ valor padrão = 1 \]. * <kbd class="ph userinput">1</kbd>: Primeira tentativa * <kbd class="ph userinput">2</kbd>: Primeiro lembrete * <kbd class="ph userinput">3 ou mais</kbd>: lembretes subsequentes {#P-getUserPreferences_S_N_GDT_S__ul_gp2_q4w_gjb} |
| gdt | GlideDateTime | Opcional. aaaa-MM-dd Formato HH:mm:ss no fuso horário UTC. O padrão é agora. |
| tipos de comunicação | Cadeia de caracteres | Opcional. Cadeia de caracteres separada por vírgulas que contém um ou mais dos seguintes valores: * e-mail * sms * serviços de voz {#P-getUserPreferences_S_N_GDT_S__ul_pbz_gp5_1jb} O padrão inclui todos os tipos de comunicação disponíveis. |
[Tabela 4. Parâmetros]

{#P-getUserPreferences_S_N_GDT_S__table_ixr_4jk_3gb} {#P-getUserPreferences_S_N_GDT_S__table_ubq_ykk_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto de matriz | Preferência de contato do usuário de plantão. * tipo: cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, sms, e-mail ou número. * \<name of preferred format, e.g., email or number\>: cadeia de caracteres. Conteúdo do tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone. {#P-getUserPreferences_S_N_GDT_S__ul_pzn_52r_gjb} |
[Tabela 5. Retorna]

{#P-getUserPreferences_S_N_GDT_S__table_ubq_ykk_3gb}  

    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var itilUserSysId = '<itilUserSysId>;
    var userPreferences = onContactPrefUtil.getUserPreferences(itilUserSysId, contactAttempt, gdt);
    gs.log(JSON.stringify(userPreferences));

Saída:

    [{
        "type": "sms",
        "number": "5555555555"
    }, {
        "type": "voice",
        "number": "5555555555"
    }]

## OnCallContactPreferenceUtil - getCatchAllContacts(cadeia de caracteres rotaId, GlideDateTime gdt) {#ariaid-title5}

Obtém uma lista de contatos e preferências de contato alternativo.
{#P-getCatchAllContacts_S_GDT_S__table_xgb_ypj_3gb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| rotaId | Cadeia de caracteres | SYS ID do turno da tabela \[cmn_rota\]. |
| gdt | GlideDateTime | Opcional. aaaa-MM-dd Formato HH:mm:ss no fuso horário UTC. O padrão é agora. |
[Tabela 6. Parâmetros]

{#P-getCatchAllContacts_S_GDT_S__table_xgb_ypj_3gb} {#P-getCatchAllContacts_S_GDT_S__table_ygb_ypj_3gb__entry__2}

| Tipo | Descrição |
|-|-|
| Objeto de matriz | Lista de contatos alternativos com preferências. * tipo: cadeia de caracteres. Tipo de contato, por exemplo, usuário. * sys_id: cadeia de caracteres. SYS ID do usuário da tabela \[sys_user\]. * rota_id: cadeia de caracteres. SYS ID do turno da tabela \[cmn_rota\]. * roster_id: cadeia de caracteres. SYS ID da escala da tabela \[cmn_rota_roster\]. * escalation_step_id: cadeia de caracteres. Se um caminho de escalação tiver sido definido, o SYS ID da etapa de escalação da tabela \[cmn_rota_esc_step_def\]. * force_communication_channel: cadeia de caracteres. Se especificado nas preferências, obrigatório canal de comunicação. Os valores compatíveis incluem SMS, serviços de voz ou e-mail. * override_user_contact_preference: booliano. Verdadeiro se houver substituições de contato, caso contrário, falso. * prefere_source: cadeia de caracteres. Origem de preferência, como contato ou grupo. * contact_attempt: número. Tentativas de contato: 1 = primeira tentativa, 2 = primeiro lembrete e assim por diante. * user_preferences: objeto de matriz. * tipo: cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, sms, e-mail ou número. * \<name of preferred format, e.g., email or number\>: cadeia de caracteres. Conteúdo do tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone. {#P-getCatchAllContacts_S_GDT_S__ul_pzn_52r_gjb} * contact_preferences, objeto de matriz. * tipo: cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, e-mail ou número. * \<name of preferred format, e.g., email or number\>: cadeia de caracteres. Conteúdo do tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone. {#P-getCatchAllContacts_S_GDT_S__ul_vnw_y2r_gjb} {#P-getCatchAllContacts_S_GDT_S__ul_ftv_sbp_3jb} |
[Tabela 7. Retorna]

{#P-getCatchAllContacts_S_GDT_S__table_ygb_ypj_3gb}  
Exemplo:


    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var rotaSysId = '<Rotation_Sys_ID>';
    var catchAllContacts = onContactPrefUtil.getCatchAllContacts(rotaSysId, gdt);
    gs.log(JSON.stringify(catchAllContacts));

Saída:

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]


