Notification - Global

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 13 minutes de lecture
  • L’API Notify vous permet d’interagir avec les appels Notify et les SMS à l’aide de scripts.

    Accédez à la classe Notification globale et à ses méthodes associées dans l’espace de noms SNC .

    Notification : appel (String, notifyPhoneNumber, String toPhoneNumber, GlideRecord conferenceCallCall, GlideRecord conferenceCallRecord, String userSysId, String groupSysId, GlideRecord sourceRecord)

    Appelle le numéro de téléphone spécifié conforme à la norme E.164.

    En outre, cette méthode peut ajouter automatiquement le numéro de téléphone spécifié à une téléconférence spécifiée.

    Tableau 1. Paramètres
    Nom Type Description
    notifyPhoneNumber String ou NotifyPhoneNumber Numéro de téléphone de Notification à partir duquel passer l’appel. Lorsque vous lancez un appel, le workflow d’appel sortant pour le groupe de numéros associé à ce numéro s’exécute. Assurez-vous que ce workflow inclut une activité Rejoindre la téléconférence pour connecter l’utilisateur à la téléconférence.
    toPhoneNumber Chaîne Numéro de téléphone à appeler. Les numéros appelés sont ajoutés à la téléconférence.
    conférence téléphonique GlideRecord Facultatif. Si ce paramètre est transmis, les appelants identifiés dans le toPhoneNumber paramètre rejoignent automatiquement la téléconférence identifiée par cet enregistrement.

    GlideRecord pour la table Appel de notification [notify_call] qui identifie l’enregistrement de la téléconférence. Cet enregistrement est automatiquement ajouté au bloc-notes du workflow des appels sortants en tant que variable workflow.scratchpad.conference_call.

    userSysId Chaîne Facultatif. Identificateur unique (sys_id) de l’utilisateur associé à l’appel.
    groupSysId Chaîne Facultatif. Identificateur unique (sys_id) du groupe associé à l’appel.
    sourceRecord GlideRecord Facultatif. Enregistrement source à l’origine de cet appel.
    Tableau 2. Renvoie
    Type Description
    nul

    Cet exemple illustre comment initier un appel vers un autre numéro de téléphone.

    var from = '+14048007337';
    var to = '+31646810495';
    
    // set up call
    new SNC.Notify().call(from, to);

    Cet exemple illustre comment initier un appel vers une liste de numéros de téléphone et joindre automatiquement ces numéros à une nouvelle téléconférence.

    var notify = new SNC.Notify();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    Cet exemple illustre comment lancer une nouvelle téléconférence.

    SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), null, null, null);

    Cet exemple illustre comment lancer une nouvelle téléconférence à l’aide d’un enregistrement utilisateur.

    var sysUserGr = new GlideRecord('sys_user');
    sysUserGr.get('active conference sys id');
     
    if (conferenceGr.isValid) {
        SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), sysUserGr.getUniqueValue(), null, null);
    }

    Cet exemple illustre comment lancer une nouvelle téléconférence avec un utilisateur, un groupe et un enregistrement source.

    var sysUserGr = new GlideRecord('sys_user');
    sysUserGr.get('active sys user sys id');
     
    var sysUserGroupGr = new GlideRecord('sys_user_group');
    sysUserGroupGr.get('active sys user group sys id');
     
    var incidentGr = new GlideRecord('incident');
    incidentGr.get('incident sys_id');
     
    if (conferenceGr.isValid) {
        SNC.Notify.call('+15413970605', '+91406XXXXXXX',
            SNC.Notify.conferenceCall(),
            sysUserGr.getUniqueValue(),
            sysUserGroupGr.getUniqueValue(),
            incidentGr.getUniqueValue());
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode call() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : NotifyScoped - call().

    Notification : conferenceCall(GlideRecord sourceRecord)

    Crée un nouveau GlideRecord de téléconférence.

    Tableau 3. Paramètres
    Nom Type Description
    sourceRecord GlideRecord Facultatif. Enregistrement à l’origine de la demande de création de la téléconférence. Utilisé pour renseigner les champs source et table de notify_conference_call enregistrement.
    Tableau 4. Renvoie
    Type Description
    GlideRecord Nouvel enregistrement de la téléconférence Notification [notify_conference_call].
    var notify = new SNC.Notify();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode conferenceCall() dans une application incluse dans le périmètre, utilisez la méthode correspondante délimitée : NotifyScoped - conferenceCall().

    Notification : dequeueCall(GlideRecord, callRecord)

    Reprend un appel après qu’il ait été placé dans une file d’attente (en attente).

    Utilisez cette méthode pour reprendre les appels qui ont été placés dans une file d’attente avec la méthode queueCall().

    Tableau 5. Paramètres
    Nom Type Description
    callRecord GlideRecord Un objet GlideRecord sur la table Appel de notification [notify_call] avec l’appel en attente que vous souhaitez reprendre.
    Tableau 6. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment réactiver un appel qui a été mis en attente.

    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.dequeueCall(notifyCallGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode dequeueCall() dans une application incluse dans le périmètre, utilisez la méthode correspondante délimitée : NotifyScoped - dequeueCall().

    Notification : forwardCall(appel GlideRecord, chaîne, destination, chaîne, dtmf)

    Transfère l’appel spécifié à un autre destinataire de l’appel.

    Tableau 7. Paramètres
    Nom Type Description
    appeler GlideRecord ou chaîne Notifier l’enregistrement d’appel ou l’ID d’appel du fournisseur de téléphonie de l’appel à transférer.
    destination GlideRecord ou chaîne Notifiez l’enregistrement du numéro de téléphone ou un numéro de téléphone compatible E.164 de l’appelant vers lequel transférer l’appel.
    Dtmf Chaîne Code Dual Tone - Multi Frequency (DTMF) à envoyer lors de la connexion à l’appel.
    Tableau 8. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment transférer un appel vers un autre numéro de téléphone.

    var callID = 'CA92374b5aa561dab476a7001db6026edc'; // Twilio Call ID
    var phoneNumber = '+91406xxxxxxx';
    var dtmfTones = null;
     
    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode forwardCall() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : NotifyScoped - forwardCall().

    Notification : getAvailableClients(String notifyNumber)

    Renvoie une liste des sessions client disponibles pour recevoir des appels.

    Tableau 9. Paramètres
    Nom Type Description
    notifyNumber Chaîne Numéro de téléphone de Notification valide.
    Tableau 10. Renvoie
    Type Description
    GlideRecord GlideRecord de la table notify_client_session pour le numéro de téléphone spécifié.

    Renvoie « 0 » si aucune session client n’est disponible.

    L’exemple suivant montre comment utiliser la méthode getAvailableClients() pour indexer dans la table notify_client_session, puis itérer sur tous les clients Notification disponibles.

    var clientSessionGr = SNC.Notify.getAvailableClients('+185xxxxxxxx'); 
    // Here clientSessionGr is of type GlideRecord on 'notify_client_session' table.
     
    var isLoggedInUserAvailable = false;
    while (clientSessionGr.next()) {
      if (clientSessionGr.user == gs.getUserID())
        isLoggedInUserAvailable = clientSessionGr.available;
    }
    gs.info('isLoggedInUserAvailable - ' + isLoggedInUserAvailable);

    Équivalent dans le champ d’application

    Pour utiliser la méthode getAvailableClients() dans une application incluse dans le périmètre, utilisez la méthode délimitée correspondante : NotifyScoped - getAvailableClients().

    Notification : getParentCallID(GlideRecord callRecord)

    Renvoie la sys_id de l’appel parent d’un appel spécifié.

    Tout appel démarré par le renvoi d’un autre appel, comme avec l’activité de workflow Renvoi, est considéré comme un enfant de l’appel d’origine. L’appel d’origine est l’appel parent.

    Tableau 11. Paramètres
    Nom Type Description
    callRecord GlideRecord Enregistrement sur la table Appel de notification [notify_call] pour lequel renvoyer l’état de l’appel.
    Tableau 12. Renvoie
    Type Description
    Chaîne sys_id unique de l’enregistrement de l’appel parent.

    Cet exemple montre comment obtenir l’appel parent de l’appel spécifié.

    var callRecord = new GlideRecord('notify_call');
    callRecord.get("0f4f5863ff13310014ecffffffffff28");
    
    var notify = new SNC.Notify();
    var parentCallID = notify.getParentCallID(callRecord);

    Notification : getPhoneNumbers()

    Renvoie tous les numéros de téléphone et les codes courts disponibles pour la notification.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Liste Liste des objets NotifyPhoneNumber, chaque objet représentant un numéro de téléphone disponible pour la notification.
    var list = SNC.Notify.getPhoneNumbers();
    for (var i = 0; i < list.size(); i++) {
        var num = list.get(i);
        gs.info(num.getNumber())
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode getPhoneNumbers() dans une application incluse dans le périmètre, utilisez la méthode délimitée correspondante : NotifyScoped - getPhoneNumbers().

    Notification : getTokens(GlideRecord, enregistrement)

    Renvoie les jetons client pour tous les pilotes de téléphonie actifs à utiliser dans WebRTC ou les clients mobiles.

    Tableau 15. Paramètres
    Nom Type Description
    enregistrement GlideRecord GlideRecord à utiliser pour identifier le client Notify, tel qu’un enregistrement de groupe ou un enregistrement d’utilisateur.
    Tableau 16. Renvoie
    Type Description
    Chaîne Jetons RTC Web pour les pilotes pris en charge, sous la forme d’une chaîne JSON au format suivant : {driverName1 : « token1 », driverName2 : « token2"}, telle que « TwilioDirect » :"eyJhxxxx.eyJleHAiOiIxxxx.7fejxxx_mbLxxx »

    Cet exemple montre comment obtenir les jetons client pour l’utilisateur actuellement connecté.

    // get Notify client Tokens per active Notify driver for the currently logged in user
    var json = new SNC.Notify().getTokens();
     
    // Parse the JSON that was return into a tokens object
    var tokens = JSON.parse(json);
    
    // Log line
    gs.log('Notify client tokens for the currently logged in user');
    
     // iterate over the driver tokens
    for (var driver in tokens) {
     	gs.log(driver + ' Driver token: ' + tokens[driver]);
    }

    Cet exemple montre comment obtenir les jetons client pour chaque groupe Notification.

    // instantiate Notify
    var notify = new SNC.Notify();
     
    // get all Notify Groups
    var notifyGroup = new GlideRecord("notify_group");
    notifyGroup.query();
     
    // iterate over all notify groups
    while (notifyGroup.next()) {
      // generate Notify Client tokens per active Notify Driver for this group
      var json = notify.getTokens(notifyGroup);
      var tokens = JSON.parse(json);
     
      for (var driver in tokens) {
        gs.log(gs.getMessage("Notify Client token for {0} driver and Notify Group '{1}': {2}", [driver, notifyGroup.getValue('name'), tokens[driver]]));
      }
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode getTokens() dans une application incluse dans le périmètre, utilisez la méthode délimitée correspondante : NotifyScoped - getTokens().

    Notification : getTokenTTL (propriétaire de chaîne)

    Renvoie la durée maximale pendant laquelle une session client reste active pour un pilote de téléphonie spécifié avant l’expiration automatique.

    Tableau 17. Paramètres
    Nom Type Description
    propriétaire Chaîne Nom du pilote de téléphonie dont la longueur de session doit être récupérée.

    Valeurs valides :

    • Twilio : pour l’ancien conducteur
    • TwilioDirect : pour le nouveau pilote
    Tableau 18. Renvoie
    Type Description
    Entier Durée maximale de la session (en secondes). Par défaut : 1 800 secondes

    L’exemple suivant montre comment appeler correctement cette méthode et la réponse associée. Il affiche également ce qui est renvoyé si un pilote non valide est transmis.

    var owner = "TwilioDirect";  // Valid driver
    var ttl = SNC.Notify.getTokenTTL(owner);
    gs.info("Token TTL for " + owner + " --> " + ttl);
     
    owner = "Abcxyz";  // Invalid driver
    ttl = SNC.Notify.getTokenTTL(owner);
    // For an invalid driver, we throw NoSuchNotifyDriverException saying that Abcxyzdriver is not available
    // and return the default value of TTL
    gs.info("Token TTL for " + owner + " --> " + ttl); 

    Équivalent dans le champ d’application

    Pour utiliser la méthode getTokenTTL() dans une application incluse dans le périmètre, utilisez la méthode délimitée correspondante : NotifyScoped - getAvailableClients().

    Notification : hasCapability(String, notifyPhoneNumber, capacité de chaîne)

    Détermine si le numéro de téléphone spécifié a l’aptitude spécifiée.

    Le pilote de téléphonie associé au numéro de téléphone contient une liste de toutes les fonctionnalités du téléphone.
    Remarque :
    Dans le système de base, l’aptitude du pilote Notification JS est uniquement « show_speakers » ; Ceci peut être modifié.
    Tableau 19. Paramètres
    Nom Type Description
    notifyPhoneNumber Chaîne Numéro de téléphone pour lequel vérifier l’aptitude spécifiée.
    aptitude Chaîne Aptitude à détecter. Le texte de la chaîne doit correspondre exactement à ce qui se trouve dans le téléphone.
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur qui indique si le téléphone spécifié dispose de l’aptitude spécifiée.
    • Vrai : le téléphone a la capacité
    • false : le téléphone n’en a pas la capacité

    Cet exemple montre comment vérifier si un téléphone dispose d’une fonction spécifique.

    // Each driver has a defined set of capabilities.
    
    var capability = 'show_speakers';
    gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // true
     
    capability = 'send_sms';
    gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // false

    Équivalent dans le champ d’application

    Pour utiliser la méthode hasCapability() dans une application incluse dans le périmètre, utilisez la méthode correspondante délimitée : NotifyScoped - hasCapability().

    Notification : kick (participant GlideRecord)

    Supprime l’appelant spécifié de la téléconférence Notification actuelle.

    Tableau 21. Paramètres
    Nom Type Description
    participant GlideRecord Objet GlideRecord contenant l’enregistrement Notification du participant [notify_participant] de l’appelant à supprimer de la téléconférence.
    Tableau 22. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment supprimer un participant d’une téléconférence.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.kick(notifyParticipantGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode kick() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : NotifyScoped - kick().

    Notification : modifyCall(GlideRecord, callRecord, NotifyAction, notifyAction)

    Effectue une ou plusieurs actions lors d’un appel téléphonique de Notification.

    Les actions disponibles que vous pouvez effectuer lors des appels incluent la mise en file d’attente ou la suppression de la file d’attente de l’appel, la lecture de texte, la lecture audio ou le transfert d’appel. Vous pouvez également créer des actions personnalisées Appelez la méthode modifyCall() une fois que vous avez spécifié toutes les actions que vous souhaitez appliquer à l’appel spécifié. Consultez la documentation de l’API NotifyAction pour plus d’informations sur les actions disponibles.

    Tableau 23. Paramètres
    Nom Type Description
    callRecord GlideRecord Enregistrement de l’appel de notification [notify_call] de l’appel auquel appliquer les actions.
    notifyAction (en anglais seulement) NotifyAction (en anglais seulement) Objet NotifyAction décrivant une ou plusieurs actions à effectuer lors de l’appel. Créez cet objet en appelant une ou plusieurs des méthodes NotifyAction().
    Tableau 24. Renvoie
    Type Description
    nul

    Cet exemple montre comment modifier un appel.

    // get the most recent call record
    var callRecord = new GlideRecord('notify_call');
    callRecord.orderByDesc('sys_created_on');
    callRecord.query();
     
    if (callRecord.next()) {
        // instantiate notify action container class
        var notifyAction = new SNC.NotifyAction();
        // The call is already in progress. Now, we want to modify the call behavior by putting this call in a queue.
        // So, we add a queue action to queue the call
        notifyAction.addQueue('my fancy queue');
       
        // modify the call by passing in the above action, putting the call in a queue
        new SNC.Notify().modifyCall(callRecord, notifyAction);
    } else {
        gs.log('no such call record');
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode modifyCall() dans une application incluse dans le périmètre, utilisez la méthode correspondante dans le périmètre : NotifyScoped - modifyCall().

    Notification : muet (GlideRecord participantRecord)

    Désactive le micro du participant à la téléconférence spécifié.

    Tableau 25. Paramètres
    Nom Type Description
    participantRecord GlideRecord GlideRecord de la table notify_participant pour que le participant mette en sourdine.
    Tableau 26. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment couper le son d’un appelant.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.mute(notifyParticipantGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode mute() dans une application incluse dans le périmètre, utilisez la méthode correspondante délimitée : NotifyScoped - mute().

    Notification : queueCall(GlideRecord, callRecord)

    Met l’appel spécifié dans une file d’attente (en attente).

    Reprendre un appel en file d’attente à l’aide de la méthode dequeueCall().

    Tableau 27. Paramètres
    Nom Type Description
    callRecord GlideRecord Objet GlideRecord de l’enregistrement d’appel Notify (table notify_call) à mettre en attente.
    Tableau 28. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment mettre un appel en attente (dans la file d’attente).

    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        SNC.Notify.queueCall(notifyCallGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode queueCall() dans une application incluse dans le périmètre, utilisez la méthode correspondante délimitée : NotifyScoped - queueCall().

    Notification : sendBulkSMS(String notifyPhoneNumber, Array toPhoneNumbers, String messageBody, source GlideRecord)

    Envoie un message SMS spécifié à la liste spécifiée de clients Notification (numéros de téléphone).

    Tableau 29. Paramètres
    Nom Type Description
    notifyPhoneNumber Chaîne Numéro de téléphone de Notification à partir duquel le message SMS est envoyé.
    Numéros de téléphone de destination Tableau de chaînes Liste de numéros de téléphone séparés par des virgules auxquels envoyer le message SMS.

    Format : E.164

    corps du message Chaîne SMS à envoyer.
    source GlideRecord Enregistrement source à l’origine de ce message SMS, tel qu’un incident.
    Tableau 30. Renvoie
    Type Description
    Chaîne Zéro

    L’exemple suivant montre comment envoyer un SMS en masse.

    var incidentGr = new GlideRecord('incident');
    incidentGr.get(active incident sys_id');
    if (incidentGr.isValid()) {
        SNC.Notify.sendBulkSMS('+15413970605', ['+919885XXXXXX', '+919775XXXXXX'], 'Test automation message', incidentGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode sendBulkSMS() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : NotifyScoped - sendBulkSMS().

    Notification : sendSMS(String notifyPhoneNumber, String toPhoneNumber, String messageBody, source GlideRecord)

    Envoie un SMS à un numéro de téléphone compatible E.164.

    Cette méthode crée un nouvel enregistrement dans la table Message de notification [notify_message] et l’associe à l’enregistrement source.

    Tableau 31. Paramètres
    Nom Type Description
    notifyPhoneNumber Chaîne Numéro de téléphone de Notification à partir duquel le message SMS est envoyé.
    toPhoneNumber Chaîne Numéro de téléphone compatible E.164 sur lequel envoyer le message SMS.
    corps du message Chaîne Corps du message texte SMS.
    source GlideRecord Enregistrement source à l’origine de ce message SMS, tel qu’un incident.
    Tableau 32. Renvoie
    Type Description
    Chaîne SID de message unique ; stocké dans l’enregistrement Message de notification [notify_message] en tant que message_id.

    L’exemple suivant montre comment envoyer un SMS.

    var incidentGr = new GlideRecord('incident');
    incidentGr.get('active incident sys_id');
    if (incidentGr.isValid()) {
        SNC.Notify.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode sendSMS() dans une application incluse dans le périmètre, utilisez la méthode incluse dans le périmètre correspondante : NotifyScoped - sendSMS().

    Notification : réactiver le micro (GlideRecord participantRecord)

    Active le micro du participant à la téléconférence spécifié.

    Tableau 33. Paramètres
    Nom Type Description
    participantRecord GlideRecord GlideRecord de la table notify_participant pour activer le micro du participant.
    Tableau 34. Renvoie
    Type Description
    nul

    L’exemple suivant montre comment réactiver le micro d’un appelant.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        SNC.Notify.unmute(notifyParticipantGr);
    }

    Équivalent dans le champ d’application

    Pour utiliser la méthode unmute() dans une application incluse dans le périmètre, utilisez la méthode délimitée correspondante : NotifyScoped - unmute().