OnCallContactPreferenceUtil - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 5 min. de leitura
  • Utilitário para lidar com preferências de contato.

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

    Esta API de utilitário oferece suporte à API OnCallRotation.

    OnCallContactPreferenceUtil — OnCallContactPreferenceUtil()

    Cria uma instância da classe OnCallContactPreferenceUtil.

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

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

    Obtém uma lista de contatos com o objeto escalando. 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 escalando retornado pelo método getEscalationPlan().
    tentativa de contato 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 IDs do sistema 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 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].
    • force_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 = 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].
    tentativa de contato 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
    • 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 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].
    • force_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 = 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"
        }]
    }]