NotifyScoped - Dans le champ d’application
L’API NotifyScoped vous permet d’interagir avec les appels Notify et les SMS à l’aide de scripts.
Exécutez la classe NotifyScoped et ses méthodes associées à partir de l’espace de noms sn_notify .
NotifyScoped : appel (String notifyPhoneNumber, String toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, String userSysId, String groupSysId, GlideRecord sourceRecord)
Appelle le numéro de téléphone spécifié conforme à la norme E.164.
| 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. |
| 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. |
| 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 lancer 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 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 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é pour renseigner les champs source et table de notify_conference_call enregistrement. |
| Type | Description |
|---|---|
| GlideRecord | Nouvel enregistrement de la 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 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().
| 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(GlideRecord call, String destination, String dtmf)
Transfère l’appel spécifié à un autre destinataire de l’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 | 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. |
| 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 client disponibles pour recevoir des appels.
| Nom | Type | Description |
|---|---|---|
| notifyNumber | Chaîne | Numéro de téléphone de 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 Notify 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 la notification.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Liste des objets NotifyPhoneNumber, chaque objet représentant un numéro de téléphone disponible pour la 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 la notification.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| nul |
Cet exemple illustre comment obtenir les codes courts de 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 client pour tous les pilotes de téléphonie actifs à utiliser dans WebRTC ou les clients mobiles.
Cette méthode utilise l’enregistrement de l’utilisateur actuellement connecté comme client.
| Nom | Type | Description |
|---|---|---|
| enregistrement | GlideRecord | GlideRecord à utiliser pour identifier le client Notify, tel qu’un enregistrement de groupe ou un enregistrement d’utilisateur. |
| 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 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 client 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 client 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 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.
| 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 :
|
| 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);
NotifyScoped : 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.
| 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. |
| Type | Description |
|---|---|
| Booléen | Marqueur qui indique si le téléphone spécifié dispose de l’aptitude spécifiée.
|
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(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 Notification du participant [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 de Notification.
| 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 activités à effectuer lors de 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 |
|---|---|---|
| participantRecord | GlideRecord | GlideRecord de la table notify_participant pour que le participant mette en sourdine. |
| 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) {
sn_notify.NotifyScoped.mute(notifyParticipantGr);
}
NotifyScoped : 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().
| Nom | Type | Description |
|---|---|---|
| callRecord | GlideRecord | Objet GlideRecord de l’enregistrement d’appel Notify (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, GlideRecord source)
Envoie un message SMS spécifié à la liste spécifiée de clients Notification (numéros de téléphone).
| Nom | Type | Description |
|---|---|---|
| notifyPhoneNumber | NotifyPhoneNumber | Numéro de téléphone à partir duquel le message SMS est envoyé. |
| Numéros de téléphone de destination | Chaîne | Répertorie les numéros de téléphone séparés par des virgules 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 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, GlideRecord source)
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 | NotifyPhoneNumber | Numéro de téléphone ou code court de Notification auquel envoyer ce SMS. |
| toPhoneNumber | Chaîne | Numéro de téléphone compatible E.164 sur 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 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()) {
sn_notify.NotifyScoped.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
}
NotifyScoped : réactiver le son (GlideRecord participantRecord)
Active le micro du participant à la téléconférence spécifié.
| Nom | Type | Description |
|---|---|---|
| participantRecord | GlideRecord | GlideRecord de la table notify_participant pour activer le micro du participant. |
| Type | Description |
|---|---|
| nul |
Cet exemple montre comment réactiver le micro d’un participant d’appel spécifié.
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
sn_notify.NotifyScoped.unmute(notifyParticipantGr);
}