OnCallContactPreferenceUtil : global

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 5 minutes de lecture
  • Utilitaire pour la gestion des préférences de contact.

    Pour configurer les préférences de contact, reportez-vous à la section Configurer les préférences de contact.

    Cette API utilitaire prend en charge l’API OnCallRotation.

    OnCallContactPreferenceUtil - OnCallContactPreferenceUtil()

    Crée une instance de la classe OnCallContactPreferenceUtil.

    Tableau 1. Paramètres
    Nom Type Description
    Néant

    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 des 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. 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 séparés par des virgules des équipes de la table [cmn_rota]. 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 utilisateur, groupe ou appareil selon les règles de notification) à un moment et à une position spécifiques.
    • type : chaîne. Type de contact, p. ex. utilisateur.
    • sys_id : chaîne de caractères. ID système de l’utilisateur à partir de la table [sys_user].
    • rota_id : chaîne de caractères. ID système de l’équipe issu de la table [cmn_rota].
    • roster_id : chaîne de caractères. ID système de la liste issue 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 incluent les SMS, les messages 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 de caractères. 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, 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 aux équipes qui se chevauchent.

    Tableau 4. Paramètres
    Nom Type Description
    userSysId Chaîne ID système de l’utilisateur à partir de 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. 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
    • voice

    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.
    • &lt;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 issu de la table [cmn_rota].
    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 avec préférences.
    • type : chaîne. Type de contact, p. ex. utilisateur.
    • sys_id : chaîne de caractères. ID système de l’utilisateur à partir de la table [sys_user].
    • rota_id : chaîne de caractères. ID système de l’équipe issu de la table [cmn_rota].
    • roster_id : chaîne de caractères. ID système de la liste issue 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 incluent les SMS, les messages 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 de caractères. 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, 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.
      • &lt;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.
      • &lt;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"
        }]
    }]