OnCallContactPreferenceUtil - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 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.

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

    OnCallContactPreferenceUtil - OnCallContactPreferenceUtil()

    Cria uma instância da classe OnCallContactPreferenceUtil.

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

    OnCallContactPreferenceUtil - getContactsAtByEscalatee(objeto escalado, número contactAttempt, GlideDateTime gdt, cadeia de caracteres rotaSysIds)

    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.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    escalação Objeto Obrigatório. Objeto escalonando retornado pelo método getEscalationPlan().
    tentativacontato 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. 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 3. Retorna
    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.
    • 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.
    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)

    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].
    tentativacontato 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. 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

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

    Tabela 5. Retorna
    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.
    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 alternativo.

    Tabela 6. Parâmetros
    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 7. Retorna
    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.
    • 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.

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