NotifyScoped : dans le champ d’application
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é.
| 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. |
| 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.
| 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. |
| 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( ).
| Nom | Type | Description |
|---|---|---|
| callRecord | GlideRecord | Objet GlideRecord sur la table Appel de notification [notify_call] avec l’appel en attente que vous souhaitez reprendre. |
| 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.
| 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. |
| 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.
| Nom | Type | Description |
|---|---|---|
| numéro de notification | Chaîne | Numéro de téléphone Notification valide. |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| 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.
| Nom | Type | Description |
|---|---|---|
| record | GlideRecord | GlideRecord à utiliser pour identifier le client Notify, tel qu’un enregistrement de groupe ou un enregistrement utilisateur. |
| 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.
| 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 :
|
| 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.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le téléphone spécifié possède l’option spécifiée.
|
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.
| 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. |
| 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.
| 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. |
| Type | Description |
|---|---|
| nul |
NotifyScoped : muet (GlideRecord participantRecord)
Désactive le micro du participant à la téléconférence spécifié.
| Nom | Type | Description |
|---|---|---|
| Enregistrement du participant | GlideRecord | GlideRecord de la table notify_participant pour que le participant puisse désactiver son micro. |
| 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( ).
| Nom | Type | Description |
|---|---|---|
| callRecord | GlideRecord | Objet GlideRecord de l’enregistrement d’appel de Notification (table notify_call) à mettre en attente. |
| 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).
| 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. |
| 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.
| 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. |
| 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é.
| Nom | Type | Description |
|---|---|---|
| Enregistrement du participant | GlideRecord | GlideRecord de la table notify_participant pour que le participant active le micro. |
| 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);
}