Notification - Global
L’API Notification vous permet d’interagir avec les appels Notification et les messages SMS à l’aide de scripts.
Accédez à la classe Notification globale et à ses méthodes associées dans l’espace de noms SNC .
Notify : 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é.
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.
| Nom | Type | Description |
|---|---|---|
| notifyPhoneNumber | Chaîne 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. |
| 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 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 dans 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 champ d’application, utilisez la méthode correspondante : NotifyScoped - call().
Notification : 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 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 incluse dans le périmètre correspondante : NotifyScoped - conferenceCall().
Notifier : 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 | Un 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) {
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 incluse dans le périmètre correspondante : NotifyScoped - dequeueCall().
Notification : forwardCall(appel GlideRecord, chaîne de destination, chaîne dtmf)
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) {
SNC.Notify.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
}
Équivalent dans le champ d’application
Pour utiliser la méthode forwardCall() dans une application à portée, utilisez la méthode incluse dans le périmètre correspondante : NotifyScoped - forwardCall().
Notification : 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 |
|---|---|
| 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 incluse dans le périmètre correspondante : NotifyScoped : getAvailableClients().
Notification : getParentCallID(GlideRecord callRecord)
Renvoie le sys_id de l’appel parent d’un appel spécifié.
Tout appel démarré par le transfert d’un autre appel, par exemple avec l’activité de workflow de transfert, est considéré comme un enfant de l’appel d’origine. L’appel d’origine est l’appel parent.
| Nom | Type | Description |
|---|---|---|
| callRecord | GlideRecord | Enregistrement sur la table Appel de notification [notify_call] pour lequel renvoyer l’état de l’appel. |
| Type | Description |
|---|---|
| Chaîne | sys_id unique de l’enregistrement d’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 Notification.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Liste | Liste d’objets NotifyPhoneNumber, chaque objet représentant un numéro de téléphone disponible pour 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 incluse dans le périmètre correspondante : NotifyScoped : getPhoneNumbers().
Notification : getTokens(GlideRecord, record)
Renvoie les jetons clients pour tous les pilotes de téléphonie actifs à utiliser dans WebRTC ou les clients mobiles.
| Nom | Type | Description |
|---|---|---|
| enregistrement | 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 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 clients 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 incluse dans le périmètre correspondante : NotifyScoped : getTokens().
Notification : 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);
É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 incluse dans le périmètre correspondante : NotifyScoped : getAvailableClients().
Notification : hasCapability(Chaîne, notifyPhoneNumber, Aptitude de chaîne)
Détermine si le numéro de téléphone spécifié a l’aptitude spécifiée.
| 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(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 incluse dans le périmètre correspondante : NotifyScoped - hasCapability().
Notification : 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 |
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 champ d’application, utilisez la méthode correspondante : NotifyScoped - kick().
Notification : modifyCall(GlideRecord, callRecord, NotifyAction, notifyAction)
Effectue une ou plusieurs actions lors d’un appel téléphonique Notification actif.
Les actions disponibles que vous pouvez effectuer lors des appels incluent la mise en file d’attente ou le retrait de la file d’attente de l’appel, la lecture de texte, la lecture audio ou le transfert de l’appel. Vous pouvez également créer des actions personnalisées Appelez la méthode modifyCall() après avoir 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.
| 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 actions à effectuer sur l’appel. Créez cet objet en appelant une ou plusieurs méthodes NotifyAction( ). |
| 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 champ d’application, utilisez la méthode incluse dans le périmètre correspondante : NotifyScoped - modifyCall().
Notifier : désactiver le son (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) {
SNC.Notify.mute(notifyParticipantGr);
}
Équivalent dans le champ d’application
Pour utiliser la méthode mute() dans une application incluse dans le champ d’application, utilisez la méthode correspondante : NotifyScoped - mute().
Notification : 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 |
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 incluse dans le périmètre correspondante : 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).
| Nom | Type | Description |
|---|---|---|
| notifyPhoneNumber | Chaîne | Numéro de téléphone de Notification à partir duquel le message SMS est envoyé. |
| toPhoneNumbers | Tableau de chaînes | Liste séparée par des virgules de numéros de téléphone 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. |
| Type | Description |
|---|---|
| Chaîne | Zéro |
L’exemple suivant montre comment envoyer un message 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().
Notify : 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.
| 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 vers lequel envoyer le message SMS. |
| Corps du message | Chaîne | Corps du message 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()) {
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().
Notifier : 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 |
L’exemple suivant montre comment 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 incluse dans le périmètre correspondante : NotifyScoped - unmute().