OnCallContactPreferenceUtil : global

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 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 d’escaladé. Chaque contact renvoyé contient une liste de préférences de contact 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
    gdt GlideDateTime Optionnel. au format 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 des équipes de la table [cmn_rota] séparées 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’utilisateur, de groupe ou d’appareil en fonction des règles de notification) à une heure et à une position spécifiques.
    • type : chaîne. Type de contact, par exemple, utilisateur.
    • sys_id : Chaîne. ID système de l’utilisateur dans la table [sys_user].
    • rota_id : Chaîne. ID système de l’équipe de la table [cmn_rota].
    • roster_id : Chaîne. ID système de la liste de la table [cmn_rota_roster].
    • escalation_step_id : Chaîne. 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. Si spécifié dans les préférences, canal de communication obligatoire . Les valeurs prises en charge comprennent SMS, appels vocaux ou e-mails.
    • override_user_contact_preference : Booléen. Vrai s’il existe des remplacements de contact, faux dans les autres cas.
    • preference_source : Chaîne. Source de préférence, telle que contact ou groupe.
    • contact_attempt : nombre. Tentatives de contact : 1 = première tentative, 2 = premier rappel, et ainsi de suite.
    • user_preferences : tableau d’objets.
      • type : chaîne. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
      • <nom au 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. Format de contact préféré de l’utilisateur, par exemple, e-mail ou numéro.
      • <nom au 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 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
    gdt GlideDateTime Optionnel. au format aaaa-MM-jj HH :mm :ss dans le fuseau horaire UTC. La valeur par défaut 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. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
    • <nom au 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 des contacts et des préférences polyvalents.

    Tableau 6. Paramètres
    Nom Type Description
    rotaId Chaîne ID système de l’équipe de la table [cmn_rota].
    gdt GlideDateTime Optionnel. au format aaaa-MM-jj HH :mm :ss dans le fuseau horaire UTC. La valeur par défaut est maintenant.
    Tableau 7. Renvoie
    Type Description
    Tableau d’objets Liste des contacts polyvalents avec des préférences.
    • type : chaîne. Type de contact, par exemple, utilisateur.
    • sys_id : Chaîne. ID système de l’utilisateur dans la table [sys_user].
    • rota_id : Chaîne. ID système de l’équipe de la table [cmn_rota].
    • roster_id : Chaîne. ID système de la liste de la table [cmn_rota_roster].
    • escalation_step_id : Chaîne. 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. Si spécifié dans les préférences, canal de communication obligatoire . Les valeurs prises en charge comprennent SMS, appels vocaux ou e-mails.
    • override_user_contact_preference : Booléen. Vrai s’il existe des remplacements de contact, faux dans les autres cas.
    • preference_source : Chaîne. Source de préférence, telle que contact ou groupe.
    • contact_attempt : nombre. Tentatives de contact : 1 = première tentative, 2 = premier rappel, et ainsi de suite.
    • user_preferences : tableau d’objets.
      • type : chaîne. Format de contact préféré de l’utilisateur, par exemple SMS, e-mail ou numéro.
      • <nom au 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. Format de contact préféré de l’utilisateur, par exemple, e-mail ou numéro.
      • <nom au 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"
        }]
    }]