NotifyScoped : dans le champ d’application

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 10 minutes de lecture
  • L’API NotifyScoped vous permet d’interagir avec les appels et les SMS de Notification à l’aide de scripts.

    Exécutez la classe NotifyScoped et ses méthodes associées à partir de l’espace de noms sn_notify .

    NotifyScoped : call(String notifyPhoneNumber, String toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, String userSysId, String groupSysId, GlideRecord sourceRecord)

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

    Tableau 1. Paramètres
    Nom Type Description
    notifyPhoneNumber Chaîne 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.
    Téléconférence GlideRecord Facultatif. Si ce paramètre est transmis, les appelants identifiés dans le toPhoneNumber paramètre sont automatiquement joints à 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. L’identificateur unique (sys_id) de l’utilisateur associé à l’appel.
    groupSysId Chaîne Facultatif. L’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 sn_notify.NotifyScoped().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 dans une nouvelle téléconférence.

    var notify = new sn_notify.NotifyScoped();
    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);
    }

    NotifyScoped : conferenceCall (GlideRecord sourceRecord)

    Crée un nouveau GlideRecord de la 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ée pour renseigner les champs source et table sur notify_conference_call enregistrement.
    Tableau 4. Renvoie
    Type Description
    GlideRecord Nouvel enregistrement de téléconférence Notification [notify_conference_call].
    var notify = new sn_notify.NotifyScoped();
    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);
    }

    NotifyScoped : dequeueCall(GlideRecord, callRecord)

    Reprend un appel après qu’il a é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 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) {
        sn_notify.NotifyScoped.dequeueCall(notifyCallGr);
    }

    NotifyScoped : forwardCall(appel GlideRecord, destination de la chaîne, dtmf de chaîne)

    Transfère l’appel spécifié à un autre destinataire d’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 Notifier un enregistrement de numéro de téléphone ou un numéro de téléphone conforme E.164 de l’appelant auquel transférer l’appel.
    Dtmf Chaîne Code DTMF (Dual Tone - Multi Frequency) pour envoyer lors de la connexion d’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) {
        sn_notify.NotifyScoped.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
    }

    NotifyScoped : getAvailableClients(String notifyNumber)

    Renvoie une liste des sessions du client qui sont disponibles pour recevoir des appels.

    Tableau 9. Paramètres
    Nom Type Description
    numéro de notification Chaîne Numéro de téléphone Notification valide.
    Tableau 10. Renvoie
    Type Description
    Tableau 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 = sn_notify.NotifyScoped.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);

    NotifyScoped : getPhoneNumbers()

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

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Tableau Liste d’objets NotifyPhoneNumber, chaque objet représentant un numéro de téléphone disponible pour Notification.

    Cet exemple illustre comment obtenir les numéros de téléphone de Notification, puis itérer sur la liste.

    // Instantiate notify
    var notify = new sn_notify.NotifyScoped();
    
    // Retrieve all available phone numbers
    var phoneNumbers = notify.getPhoneNumbers();
    
    // Iterate over phone numbers
    for (var i = 0; i < phoneNumbers.length; i++) {
      var number = phoneNumbers[i];
    
      // Perform any actions using each phone number
    
    }

    NotifyScoped : getShortCodes()

    Renvoie tous les codes courts disponibles pour notification.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    nul

    Cet exemple illustre comment obtenir les codes courts Notification, puis itérer sur la liste.

    // Instantiate notify
    var notify = new sn_notify.NotifyScoped();
    
    // Retrieve all available shortcodes
    var shortCodes = notify.getShortCodes();
    
    // Iterate over phone numbers
    for (var i = 0; i < shortCodes.length; i++) {
      var shortCode = shortCodes[i];
      gs.log(shortCode.getNumber());
    
    //perform any actions using each shortcode
    
    }

    NotifyScoped : getTokens(GlideRecord, enregistrement)

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

    Cette méthode utilise l’enregistrement utilisateur actuellement connecté en tant que client.

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

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

    // get Notify client Tokens per active Notify driver for the currently logged in user
    var json = new sn_notify.NotifyScoped().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 clients pour chaque groupe Notification.

    // instantiate Notify
    var notify = new sn_notify.NotifyScoped.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]]));
      }
    }

    Cet exemple illustre comment obtenir les jetons clients pour les pilotes de téléphonie actifs.

    var notify = new sn_notify.NotifyScoped();
    var now_GR = new GlideRecord('sys_user');
    if (now_GR.get(gs.getUserID())) {
      gs.info(notify.getTokens(now_GR));
    }

    Sortie :

    {"TwilioDirect":"eyJhxxxx.eyJleHAiOiIxxxx.7fejxxx_mbLxxx"}

    NotifyScoped : getTokenTTL (propriétaire de la chaîne)

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

    Tableau 17. Paramètres
    Nom Type Description
    propriétaire Chaîne Nom du pilote de téléphonie pour lequel récupérer la longueur de session.

    Valeurs valides :

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

    Par défaut : 1800 secondes

    L’exemple suivant montre comment appeler correctement cette méthode et la réponse associée. Il indique également ce qui est renvoyé si un conducteur invalide est dépassé.

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

    NotifyScoped : hasCapability(String notifyPhoneNumber, String capability)

    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 options du téléphone.

    Remarque :
    Dans le système de base, le pilote JS Notification n’a que « show_speakers » comme option ; Cela 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 chaîne doit correspondre exactement à ce qui se trouve dans le téléphone.
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si le téléphone spécifié possède l’option spécifiée.
    • vrai : le téléphone a la capacité
    • faux : le téléphone n’a pas la capacité

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

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

    NotifyScoped : 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 Participant à la notification [notify_participant] de l’appelant à supprimer de la téléconférence.
    Tableau 22. Renvoie
    Type Description
    nul

    Cet exemple montre comment supprimer un participant d’un appel.

    var participant = new GlideRecord('notify_participant');
    participant.get('<sys_id>');
    if (participant.isValid()) {
        new sn_notify.NotifyScoped().kick(participant);
    }

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

    Effectue une ou plusieurs activités lors d’un appel téléphonique Notification actif.

    Utilisez cette méthode pour modifier le comportement d’un appel. Par exemple, transférer un appel, lire de l’audio ou forcer un raccrochage.
    Remarque :
    L’implémentation incluse dans le champ d’application de cette méthode prend uniquement en charge les activités de notification personnalisées. Contrairement à l’implémentation globale, elle ne fournit pas d’API NotifyAction . Pour plus d’informations sur la création d’une activité de notification personnalisée, consultez Activités du workflow de notification.
    Tableau 23. Paramètres
    Nom Type Description
    callRecord GlideRecord Appel de notification [notify_call] enregistrement de l’appel auquel appliquer les actions.
    notifyAction Action de notification Objet NotifyAction décrivant une ou plusieurs activités à effectuer sur l’appel.
    Tableau 24. Renvoie
    Type Description
    nul

    NotifyScoped : muet (GlideRecord participantRecord)

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

    Tableau 25. Paramètres
    Nom Type Description
    Enregistrement du participant GlideRecord GlideRecord de la table notify_participant pour que le participant puisse désactiver son micro.
    Tableau 26. Renvoie
    Type Description
    nul

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

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

    NotifyScoped : queueCall(GlideRecord, callRecord)

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

    Reprenez 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 de Notification (table notify_call) à mettre en attente.
    Tableau 28. Renvoie
    Type Description
    nul
    var call = new GlideRecord('notify_call');
    call.get('<call record sys_id>');
    if (call.isValid()) {
        new sn_notify.NotifyScoped().queueCall(call);
    }

    NotifyScoped : sendBulkSMS(NotifyPhoneNumber notifyPhoneNumber, String 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 Numéro de téléphone de notification Numéro de téléphone à partir duquel le message SMS est envoyé.
    toPhoneNumbers Chaîne Liste séparée par des virgules des numéros de téléphone auxquels envoyer le message SMS.

    Format : conforme à la norme 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

    Cet exemple montre comment envoyer un message SMS à plusieurs numéros de téléphone (SMS en masse).

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

    NotifyScoped : sendSMS(NotifyPhoneNumber 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 Numéro de téléphone de notification Numéro de téléphone ou code court de notification auquel envoyer ce message SMS.
    toPhoneNumber Chaîne Numéro de téléphone compatible E.164 vers lequel envoyer le message SMS.
    Corps du message Chaîne 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 du message de notification [notify_message] en tant que message_id.

    L’exemple suivant montre comment envoyer un message SMS.

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

    NotifyScoped : activer le micro (GlideRecord participantRecord)

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

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

    Cet exemple montre comment réactiver le micro d’un participant à un appel spécifié.

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