NotifyConferenceUtil : dans le champ d’application, global
L’API NotifyConferenceUtil fournit des méthodes pour gérer les téléconférences et les messages SMS Notification pour divers fournisseurs de services de téléphonie, tels que Zoom et Webex.
À l’aide de l’API NotifyConferenceUtil, vous pouvez :
- Créer de nouvelles téléconférences
- Ajouter des participants par numéro de téléphone ou ID d’utilisateur
- Supprimer des participants d’une téléconférence
- Désactiver le micro des participants à une téléconférence active
- Activer le micro des participants à une téléconférence active
- Obtenir les options d’un fournisseur de service spécifié
- Terminer une téléconférence
Vous pouvez utiliser cette API dans les scripts inclus dans le champ d’application et les scripts globaux. Pour utiliser cette API, vous devez activer le module d’extension Conference Notify (com.snc.notify), qui nécessite un abonnement distinct. Pour en savoir plus sur l’activation de ce module d’extension, reportez-vous à la rubrique Activer Notification.
NotifyConferenceUtils : NotifyConferenceUtils()
Instancie un objet NotifyConferenceUtils (constructeur).
| Nom | Type | Description |
|---|---|---|
| Néant |
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils : addToConferenceByPhoneNumber(String toNumber, GlideRecord confGR)
Ajoute un participant à une téléconférence spécifiée à l’aide de son numéro de téléphone pour identifier le participant.
| Nom | Type | Description |
|---|---|---|
| toNumber | Chaîne | Numéro de téléphone du participant à ajouter à la téléconférence. |
| confGR | GlideRecord | GlideRecord de la téléconférence à laquelle ajouter le participant spécifié. Table : Téléconférence Notification [notify_conference_call] |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils : addToConferenceByUserId(String userId, confGR GlideRecord)
Ajoute un participant à la téléconférence référencée par le GlideRecord transmis à l’aide de son identificateur utilisateur unique.
| Nom | Type | Description |
|---|---|---|
| userId | Chaîne | ID système du participant à ajouter à la téléconférence spécifiée. Table : Utilisateur [sys_user] |
| confGR | GlideRecord | GlideRecord de la téléconférence pour ajouter le participant spécifié. Table : Téléconférence Notification [notify_conference_call] |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
(function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByUserId(gs.getUserID(), confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils : doConferenceAction(Action de chaîne, données d’objet)
Effectue l’action de téléconférence spécifiée, comme démarrer/terminer une téléconférence ou rejoindre, supprimer, désactiver ou réactiver le micro des participants d’une téléconférence.
- Enregistrez les pointeurs de l’enregistrement de la téléconférence vers l’enregistrement spécifique (enregistrement source), tel qu’un incident ou un problème, qui est le sujet de discussion de la téléconférence.
- Autoriser/interdire plusieurs téléconférences pour un enregistrement source.
- Consignez automatiquement les participants qui ont participé à la téléconférence dans le champ « Notes de travail » de l’enregistrement source.
- Faites lire un message à haute voix lorsqu’un participant répond à un appel sortant de la conférence.
| Nom | Type | Description |
|---|---|---|
| action | Chaîne | Définit l’action de téléconférence à effectuer. Les actions de téléconférence disponibles sont les suivantes :
|
| données | Objet | Objet décrivant la téléconférence. |
| data.addToWorkNotes | Booléen | Marqueur indiquant s’il faut ajouter des informations sur les participants qui ont participé à la téléconférence dans le champ Notes de travail de l’enregistrement associé. Pour que cette fonctionnalité fonctionne, vous devez également spécifier des valeurs dans les data.table paramètres et data.sysId . Ces paramètres identifient l’enregistrement dans lequel ajouter les notes de travail. Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| données.allowMulticonference | Booléen | Marqueur indiquant s’il faut autoriser plusieurs téléconférences pour un enregistrement spécifique à la fois. Pour que cette fonctionnalité fonctionne, vous devez également spécifier des valeurs dans les data.table paramètres et data.sysId . Ces paramètres identifient l’enregistrement qui est autorisé à avoir plusieurs téléconférences. Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| data.confId | Chaîne | Sys_id de la téléconférence. Table : Téléconférence Notification [notify_conference_call] Actions pour lesquelles ce paramètre est requis :
Remarque :
Les actions des participants telles que le désactivation, la réactivation du son et l’exclusion ne nécessitent pas que ce paramètre soit défini, car la méthode obtient ces informations à partir de la table Notifier les participants à la téléconférence [notify_participant]. |
| data.fromNumber | Chaîne | Numéro du fournisseur de service à appeler pour la téléconférence. Recherchez cette valeur dans la colonne Numéro ou Numéro de téléphone de la table Numéro de téléphone de Notification [notify_number]. Actions pour lesquelles ce paramètre est requis :
|
| data.isNewConference | Booléen | Marqueur indiquant s’il s’agit d’une nouvelle téléconférence ou d’une téléconférence existante. Valeurs valides :
Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| données.éléments | Tableau | Informations que chaque participant doit inclure dans la téléconférence. Valeurs de tableau valides :
|
| data.message | Chaîne | Message lu à haute voix lorsqu’un utilisateur répond à l’appel, par exemple : « Un incident P1 a été créé, veuillez vous connecter à l’instance ». Actions pour lesquelles ce paramètre est valide :
|
| data.serviceProvider | Chaîne | Obligatoire. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est requis :
|
| data.sysId | Chaîne | Sys_id de l’enregistrement source à associer à la téléconférence. Par exemple, si une téléconférence est organisée pour discuter d’un incident ou d’un problème spécifique, indiquez la sys_id de l’enregistrement d’incident ou de problème dans cette valeur. Cette sys_id est stockée dans la colonne Source de la table Téléconférence de notification [notify_conference_call] et peut être suivie ultérieurement. Ce paramètre est utilisé conjointement avec les data.Tableparamètres , data.addToWorkNoteset allowMulticonference . Actions pour lesquelles ce paramètre est valide :
|
| table.données | Chaîne | Table contenant l’enregistrement source à associer à la téléconférence. Un enregistrement source peut être n’importe quel enregistrement, tel qu’un « incident » ou un « problème », qui est le sujet de discussion de la téléconférence. Ce nom de table est stocké dans la colonne Table de la table Téléconférence de notification [notify_conference_call] et peut faire l’objet d’un suivi. Ce paramètre est utilisé conjointement avec les data.sysIdparamètres , data.addToWorkNoteset allowMulticonference . Actions pour lesquelles ce paramètre est valide :
|
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.table = 'incident';
data.sysId = '1234';
data.addToWorkNotes = false;
data.confId = confId;
data.message = 'p1 incident has been created';
data.fromNumber = 'twilio/Telephony driver number';
data.items.push({ id: 'user3SysId', phoneNumber: '+917799555332' });
data.items.push({ id: 'user4SysId', email: 'yln99518@gmail.com' });
var result = confUtils.doConferenceAction('start', data);
if (result.status) {
gs.info('Start conference action succeeded');
} else
gs.info('Start conference action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils : getConferenceInputDataTemplate()
Renvoie un modèle de données JSON à utiliser avec la méthode doConferenceAction( ). L’utilisation de ce modèle structure automatiquement l’objet de données afin que vous n’ayez pas à le créer manuellement.
Appelez cette méthode avant d’appeler la méthode doConferenceAction( ). Pour l’action de téléconférence souhaitée, définissez les paramètres souhaités dans le modèle, puis transmettez le modèle dans l’appel doConferenceAction( ). Pour plus d’informations sur les paramètres valides pour chaque action, consultez doConferenceAction().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| données | Objet décrivant la téléconférence. |
| data.addToWorkNotes | Marqueur indiquant s’il faut ajouter des informations sur les participants qui ont participé à la téléconférence dans le champ Notes de travail de l’enregistrement associé. Pour que cette fonctionnalité fonctionne, vous devez également spécifier des valeurs dans les data.table paramètres et data.sysId . Ces paramètres identifient l’enregistrement dans lequel ajouter les notes de travail. Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| data.allowMultconference | Marqueur indiquant s’il faut autoriser plusieurs téléconférences pour un enregistrement spécifique à la fois. Pour que cette fonctionnalité fonctionne, vous devez également spécifier des valeurs dans les data.table paramètres et data.sysId . Ces paramètres identifient l’enregistrement qui est autorisé à avoir plusieurs téléconférences. Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| data.confId | Sys_id de la téléconférence. Table : Téléconférence Notification [notify_conference_call] Actions pour lesquelles ce paramètre est requis :
Remarque :
Les actions des participants telles que le désactivation, la réactivation du son et l’exclusion ne nécessitent pas que ce paramètre soit défini, car la méthode obtient ces informations à partir de la table Notifier les participants à la téléconférence [notify_participant]. |
| data.fromNumber | Numéro du fournisseur de service à appeler pour la téléconférence. Recherchez cette valeur dans la colonne Numéro ou Numéro de téléphone de la table Numéro de téléphone de Notification [notify_number]. Actions pour lesquelles ce paramètre est requis :
|
| data.isNewConference | Marqueur indiquant s’il s’agit d’une nouvelle téléconférence ou d’une téléconférence existante. Valeurs valides :
Valeur par défaut : false Actions pour lesquelles ce paramètre est valide :
|
| données.éléments | Informations que chaque participant doit inclure dans la téléconférence. Valeurs de tableau valides :
|
| data.message | Message lu à haute voix lorsqu’un utilisateur répond à l’appel, par exemple : « Un incident P1 a été créé, veuillez vous connecter à l’instance ». Actions pour lesquelles ce paramètre est valide :
|
| data.serviceProvider | Obligatoire. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est requis :
|
| data.sysId | Sys_id de l’enregistrement source à associer à la téléconférence. Par exemple, si une téléconférence est organisée pour discuter d’un incident ou d’un problème spécifique, indiquez la sys_id de l’enregistrement d’incident ou de problème dans cette valeur. Cette sys_id est stockée dans la colonne Source de la table Téléconférence de notification [notify_conference_call] et peut être suivie ultérieurement. Ce paramètre est utilisé conjointement avec les data.Tableparamètres , data.addToWorkNoteset allowMulticonference . Actions pour lesquelles ce paramètre est valide :
|
| table.données | Table contenant l’enregistrement source à associer à la téléconférence. Un enregistrement source peut être n’importe quel enregistrement, tel qu’un « incident » ou un « problème », qui est le sujet de discussion de la téléconférence. Ce nom de table est stocké dans la colonne Table de la table Téléconférence de notification [notify_conference_call] et peut faire l’objet d’un suivi. Ce paramètre est utilisé conjointement avec les data.sysIdparamètres , data.addToWorkNoteset allowMulticonference . Actions pour lesquelles ce paramètre est valide :
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.confId = confId;
var result = confUtils.doConferenceAction('end', data);
if (result.status) {
gs.info('Conference call has been ended');
} else
gs.info('End conference call action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils : getServiceProvidersCapabilities()
Renvoie les options de tous les pilotes de fournisseur de service de téléphonie dans l’instance.
- archive : archive la conférence après sa fin
- beepOnLeave : émet un « bip » lorsqu’un participant quitte la téléconférence
- beepOnJoin : émet un bip lorsqu’un participant rejoint la téléconférence
- Fin : termine la téléconférence identifiée
- FileSharing : permet le partage de fichiers entre les participants
- Rejoindre : ajoute un participant à une téléconférence
- KICK : supprime un participant d’une téléconférence
- multiJoin : ajoute plusieurs participants à une téléconférence
- multiKick : supprime plusieurs participants d’une téléconférence
- muteOnJoin : désactive le son d’un participant lorsqu’il rejoint une téléconférence
- multiUnmute : active le micro de plusieurs participants pour une téléconférence téléphonique
- Enregistrement : Enregistre les téléconférences
- Enregistrement : fournit un indicateur à l’écran lorsque la téléconférence est en cours d’enregistrement
- screenSharing : permet de partager les écrans des participants avec le groupe
- selfJoin : ajoute l’utilisateur connecté actuel à une téléconférence
- Expression orale : fournit un message à l’écran indiquant qui parle actuellement
- Démarrer : démarre la téléconférence identifiée
- Activer le micro : active le micro d’un participant à une téléconférence
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Paires clé-valeur de l’état de chaque option de pilote. Valeurs valides :
|
Répertoriez les options de pilote pour tous les pilotes de fournisseur de service de téléphonie dans l’instance.
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if(confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
Sortie : La méthode renvoie un nœud similaire au suivant pour chaque fournisseur de service de téléphonie actif dans l’instance.
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}
NotifyConferenceUtils : isActionSupported(action de numéro)
Détermine si une action de conférence Notification est prise en charge par un fournisseur de service de téléphonie.
Pour utiliser cette méthode, vous devez d’abord appeler la méthode getServiceProviderCapabilities(). Cette méthode renvoie un objet qui contient des informations sur la disponibilité de chaque action de conférence Notification possible pour chaque fournisseur de service configuré dans votre instance.
Par exemple :
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}| Nom | Type | Description |
|---|---|---|
| action | Numéro | Valeur du paramètre renvoyé par la méthode getServiceProvidersCapabilities() pour une action et un fournisseur de isSupported service spécifiques. Remarque : Bien que la isSupported valeur puisse sembler être une valeur booléenne, il s’agit en fait d’un nombre. N’essayez pas d’évaluer les options en tant que valeurs booléennes. Utilisez cette méthode, car les valeurs associées peuvent être développées dans les versions futures. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant si le fournisseur de service de téléphonie prend en charge l’action spécifiée. Valeurs valides :
|
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if (confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
NotifyConferenceUtils : kickByParticipantGR(GlideRecord notifyParticipantGR)
Supprime le participant associé au GlideRecord transmis de la téléconférence en cours.
| Nom | Type | Description |
|---|---|---|
| notifyParticipantGR | GlideRecord | Objet GlideRecord du participant à supprimer de la téléconférence. Table : Notifier le participant [notify_participant] |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant'); // Participant record contains conf call ID
participantGR.get('validParticipantSysId');
var actionResult = confUtils.kickByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been kicked out of conference');
else {
gs.info('kick operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils : muteByParticipantGR(GlideRecord notifyParticipantGR)
Désactive le son du participant associé au GlideRecord transmis lors de la téléconférence en cours.
| Nom | Type | Description |
|---|---|---|
| notifyParticipantGR | Objet | Objet GlideRecord du participant dont le micro doit être désactivé. Table : Notifier le participant [notify_participant] |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.muteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been muted');
else {
gs.info('mute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils : unmuteByParticipantGR(GlideRecord notifyParticipantGR)
Active le micro du participant associé au GlideRecord transmis lors de la téléconférence en cours.
| Nom | Type | Description |
|---|---|---|
| notifyParticipantGR | GlideRecord | Objet GlideRecord du participant dont le micro doit être activé. Ces enregistrements se trouvent dans la table Notifier les participants [notify_participant]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.unmuteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been Unmuted');
else {
gs.info('Unmute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();