OnCallContactPreferenceUtil - Global

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 5 min. de leitura
  • . OnCallContactPreferenceUtil a inclusão de script fornece métodos para lidar com preferências de contato.

    Para obter a configuração de preferência de contato, consulte Configurar preferências de contato .

    Esta inclusão de script é compatível com OnCallRotation inclusão de script.

    OnCallContactPreferenceUtil - OnCallContactPreferenceUtil()

    Cria uma instância da classe OnCallContactPreferenceUtil.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum

    OnCallContactPreferenceUtil - getContactsAtByEscalatee(Object escalatee, Number contactAttempt, GlideDateTime gdt, String rotaSysIds)

    Obtém uma lista de contatos com o objeto escalatee. Cada contato retornado contém uma lista de preferências de contato do usuário.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    escalação Objeto Obrigatório. Objeto escalado retornado pelo ObtEscalaçãoPlan() método.
    Contattempt Número Opcional. A tentativa que você está tentando contatar [ valor padrão: 1 ].
    • 1 : Primeira tentativa
    • 2 Primeiro lembrete
    • 3 ou mais Lembretes subsequentes
    gdt GlideDateTime Opcional. 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 3. Retornos
    Tipo Descrição
    Objeto de matriz Matriz de escalados (registros de usuário, grupo ou 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 listagem 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].
    • Forced_communication_channel: Cadeia de caracteres. Se especificado nas preferências, obrigatório canal de comunicação. Os valores compatíveis incluem SMS, voz ou e-mail.
    • Override_user_contact_preference: Booliano. Verdadeiro se houver substituições de contato, caso contrário, falso.
    • Preference_source: Cadeia de caracteres. Origem de preferência, como contato ou grupo.
    • Contact_attempt: Número. Tentativas de contato: 1 é a primeira tentativa, 2 é o 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.
      • Nome do formato preferencial, por exemplo, e-mail ou número: Cadeia de caracteres. Tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone.
    • Contact_preferences, Objeto de matriz.
      • Tipo: Cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, e-mail ou número.
      • Nome do formato preferencial, por exemplo, e-mail ou número: Cadeia de caracteres. Tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone.
    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 - getUserPreferencePreferences(cadeia de caracteres userSysId, Number contactAttempt, GlideDateTime gdt, cadeia de caracteres communicationTypes)

    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.

    Tabela 4. Parâmetros
    Nome Tipo Descrição
    userSysId Cadeia de caracteres Sys ID do usuário da tabela [sys_user].
    Contattempt Número Opcional. A tentativa que você está tentando contatar [ valor padrão: 1 ].
    • 1 : Primeira tentativa
    • 2 Primeiro lembrete
    • 3 ou mais Lembretes subsequentes
    gdt GlideDateTime Opcional. Formato HH:MM:ss no fuso horário UTC. O padrão é now.
    ComunicaçãoTypes 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

    O padrão inclui todos os tipos de comunicação disponíveis.

    Tabela 5. Retornos
    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.
    • Nome do formato preferencial, por exemplo, e-mail ou número: Cadeia de caracteres. Tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone.
    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)

    Obtém uma lista de contatos e preferências de contato geral.

    Tabela 6. Parâmetros
    Nome Tipo Descrição
    rotaId Cadeia de caracteres Sys ID do turno da tabela [cmn_rota].
    gdt GlideDateTime Opcional. Formato HH:MM:ss no fuso horário UTC. O padrão é now.
    Tabela 7. Retornos
    Tipo Descrição
    Objeto de matriz Lista de contatos catch-all 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 listagem 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].
    • Forced_communication_channel: Cadeia de caracteres. Se especificado nas preferências, obrigatório canal de comunicação. Os valores compatíveis incluem SMS, voz ou e-mail.
    • Override_user_contact_preference: Booliano. Verdadeiro se houver substituições de contato, caso contrário, falso.
    • Preference_source: Cadeia de caracteres. Origem de preferência, como contato ou grupo.
    • Contact_attempt: Número. Tentativas de contato: 1 é a primeira tentativa, 2 é o 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.
      • Nome do formato preferencial, por exemplo, e-mail ou número: Cadeia de caracteres. Tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone.
    • Contact_preferences, Objeto de matriz.
      • Tipo: Cadeia de caracteres. Formato de contato preferencial do usuário, por exemplo, e-mail ou número.
      • Nome do formato preferencial, por exemplo, e-mail ou número: Cadeia de caracteres. Tipo de contato preferencial, por exemplo, endereço de e-mail ou número de telefone.

    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"
        }]
    }]