OnCallContactPreferenceUtil : global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 5 minutes de lecture
  • L’include de script OnCallContactPreferenceUtil fournit des méthodes pour gérer les préférences de contact.

    Pour la configuration des préférences de contact, voir Configurer les préférences de contact.

    Cet include de script prend en charge l’include de script OnCallRotation .

    OnCallContactPreferenceUtil : OnCallContactPreferenceUtil()

    Crée une instance de la classe OnCallContactPreferenceUtil.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun

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

    Obtient une liste de contacts avec l’objet escaladé. Chaque contact renvoyé contient une liste des préférences de contact de l’utilisateur.

    Tableau 2. Paramètres
    Nom Type Description
    escaladé Objet Obligatoire. Objet d’escaladé renvoyé par la méthode getEscalationPlan().
    Tentative de contact Numéro Facultatif. La tentative que vous essayez de contacter [ valeur par défaut = 1 ].
    • 1 : Première tentative
    • 2 : Premier rappel
    • 3 ou plus : rappels ultérieurs
    Le GDT GlideDateTime Optionnel. aaaa-MM-jj HH :mm :ss dans le fuseau horaire UTC. La valeur par défaut est now.admin
    rotaSysIds Chaîne Facultatif. Chaîne d’ID système d’équipes de la table [cmn_rota] séparés par des virgules. La valeur par défaut renvoie les ID système des équipes à l’heure actuelle.
    Tableau 3. Renvoie
    Type Description
    Tableau d’objets Tableau des escaladés (enregistrements d’un utilisateur, d’un groupe ou d’un appareil en fonction des règles de notification) à une date et à une position spécifiques.
    • type : chaîne de caractères. Type de contact, p. ex. utilisateur.
    • sys_id : chaîne de caractères. ID système de l’utilisateur dans la table [sys_user].
    • rota_id : chaîne de caractères. ID système de l’équipe à partir de la table [cmn_rota].
    • roster_id : chaîne de caractères. ID système de la liste de la table [cmn_rota_roster].
    • escalation_step_id : chaîne de caractères. Si un chemin d’escalade a été défini, ID système de l’étape d’escalade à partir de la table [cmn_rota_esc_step_def].
    • forced_communication_channel : chaîne de caractères. S’il est spécifié dans les préférences, canal de communication obligatoire . Les valeurs prises en charge comprennent les SMS, les appels vocaux ou les e-mails.
    • override_user_contact_preference : booléen. Vrai s’il y a des remplacements de contact, faux dans les autres cas.
    • preference_source : chaîne. Source de préférence, telle que le contact ou le groupe.
    • contact_attempt : Nombre. Tentatives de contact : 1 = première tentative, 2 = premier rappel, etc.
    • user_preferences : Tableau d’objets.
      • type : chaîne de caractères. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
      • <nom du format préféré, par exemple, e-mail ou numéro> : chaîne. Contenu du type de contact préféré, par exemple, adresse e-mail ou numéro de téléphone.
    • contact_preferences, tableau d’objets.
      • type : chaîne de caractères. Format de contact préféré de l’utilisateur, par exemple, e-mail ou numéro.
      • <nom du format préféré, par exemple, e-mail ou numéro> : chaîne. Contenu du type de contact préféré, par exemple, adresse e-mail ou numéro de téléphone.
    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));

    Sortie :

    [{
        "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(String userSysId, Number contactAttempt, GlideDateTime gdt, String communicationTypes)

    Obtient la liste des préférences de contact au moment où l’utilisateur a opté pour la communication. Si aucune heure n’est spécifiée, l’heure actuelle est utilisée. Cette méthode s’applique aux équipes uniques et aux équipes qui se chevauchent.

    Tableau 4. Paramètres
    Nom Type Description
    userSysId Chaîne ID système de l’utilisateur dans la table [sys_user].
    Tentative de contact Numéro Facultatif. La tentative que vous essayez de contacter [ valeur par défaut = 1 ].
    • 1 : Première tentative
    • 2 : Premier rappel
    • 3 ou plus : rappels ultérieurs
    Le GDT GlideDateTime Optionnel. aaaa-MM-jj HH :mm :ss dans le fuseau horaire UTC. Par défaut, c’est maintenant.
    types de communication Chaîne Facultatif. Chaîne séparée par des virgules contenant une ou plusieurs des valeurs suivantes :
    • E-mail
    • sms
    • fonctions vocales

    La valeur par défaut inclut tous les types de communication disponibles.

    Tableau 5. Renvoie
    Type Description
    Tableau d'objets Préférence de contact utilisateur d’astreinte.
    • type : chaîne de caractères. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
    • <nom du format préféré, par exemple, e-mail ou numéro> : chaîne. Contenu du type de contact préféré, par exemple, adresse e-mail ou numéro de téléphone.
    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));

    Sortie :

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

    OnCallContactPreferenceUtil : getCatchAllContacts(String rotaId, GlideDateTime gdt)

    Obtient une liste de contacts et de préférences de contact de secours.

    Tableau 6. Paramètres
    Nom Type Description
    rotaId Chaîne ID système de l’équipe à partir de la table [cmn_rota].
    Le GDT GlideDateTime Optionnel. aaaa-MM-jj HH :mm :ss dans le fuseau horaire UTC. Par défaut, c’est maintenant.
    Tableau 7. Renvoie
    Type Description
    Tableau d’objets Liste des contacts contacts contacts de secours avec préférences.
    • type : chaîne de caractères. Type de contact, p. ex. utilisateur.
    • sys_id : chaîne de caractères. ID système de l’utilisateur dans la table [sys_user].
    • rota_id : chaîne de caractères. ID système de l’équipe à partir de la table [cmn_rota].
    • roster_id : chaîne de caractères. ID système de la liste de la table [cmn_rota_roster].
    • escalation_step_id : chaîne de caractères. Si un chemin d’escalade a été défini, ID système de l’étape d’escalade à partir de la table [cmn_rota_esc_step_def].
    • forced_communication_channel : chaîne de caractères. S’il est spécifié dans les préférences, canal de communication obligatoire . Les valeurs prises en charge comprennent les SMS, les appels vocaux ou les e-mails.
    • override_user_contact_preference : booléen. Vrai s’il y a des remplacements de contact, faux dans les autres cas.
    • preference_source : chaîne. Source de préférence, telle que le contact ou le groupe.
    • contact_attempt : Nombre. Tentatives de contact : 1 = première tentative, 2 = premier rappel, etc.
    • user_preferences : Tableau d’objets.
      • type : chaîne de caractères. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
      • <nom du format préféré, par exemple, e-mail ou numéro> : chaîne. Contenu du type de contact préféré, par exemple, adresse e-mail ou numéro de téléphone.
    • contact_preferences, tableau d’objets.
      • type : chaîne de caractères. Format de contact préféré de l’utilisateur, par exemple, e-mail ou numéro.
      • <nom du format préféré, par exemple, e-mail ou numéro> : chaîne. Contenu du type de contact préféré, par exemple, adresse e-mail ou numéro de téléphone.

    Exemple :

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

    Sortie :

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