NotifyConferenceUtil : champ d’application, global
L’API NotifyConferenceUtil fournit des méthodes pour gérer les téléconférences et les messages SMS Notify 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 de participants à une téléconférence
- 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 dans les scripts globaux. Pour utiliser cette API, vous devez activer le module d’extension Notification de conférence (com.snc.notify), qui nécessite un abonnement distinct. Pour plus d’informations sur l’activation de ce module d’extension, consultez Activer la notification.
NotifyConferenceUtils - NotifyConferenceUtils()
Instancie un objet NotifyConferenceUtils (constructeur).
| Nom | Type | Description |
|---|---|---|
| Aucun |
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 en utilisant 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é. Ces enregistrements se trouvent dans la table Téléconférence de Notification [notify_conference_call]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
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, GlideRecord confGR)
Ajoute un participant à la téléconférence référencée par le GlideRecord transmis à l’aide de son identificateur d’utilisateur unique.
| Nom | Type | Description |
|---|---|---|
| userId | Chaîne | ID système du participant à ajouter à la téléconférence spécifiée. Ces informations se trouvent dans la table Utilisateur [sys_user]. |
| confGR | GlideRecord | GlideRecord de la téléconférence pour ajouter le participant spécifié. Ces enregistrements se trouvent dans la table Téléconférence de Notification [notify_conference_call]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
(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 spécifiée de téléconférence, telle que démarrer/mettre fin à une téléconférence ou rejoindre, supprimer, désactiver ou rétablir le son de participants à 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.
- Enregistrez 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 qui décrit la téléconférence. |
| data.addToWorkNotes | Booléen | Marqueur indiquant s’il faut ajouter des informations sur les participants qui ont été inclus dans 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 and 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.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 and 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 :
|
| données.confId | Chaîne | ID système de la téléconférence. L’ID système de la conférence se trouve dans la table Téléconférence de Notification [notify_conference_call]. Actions pour lesquelles ce paramètre est obligatoire :
Remarque : Les actions des participants telles que désactiver le micro, réactiver le micro et expulser ne nécessitent pas la définition de ce paramètre, car la méthode obtient ces informations à partir de la table Participant à la téléconférence de Notification [notify_participant]. |
| data.fromNumber | Chaîne | Numéro du fournisseur de service à appeler pour la téléconférence. Localisez 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 obligatoire :
|
| 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 :
|
| données.serviceProvider | Chaîne | Requis. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est obligatoire :
|
| données.sysId | Chaîne | ID système 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, définissez l’ID système de l’enregistrement d’incident ou de problème dans cette valeur. Cet ID système est stocké dans la colonne Source de la table Notification Téléconférence [notify_conference_call] et peut être suivi ultérieurement. Ce paramètre est utilisé en conjonction avec les data.Tableparamètres , data.addToWorkNotes, et allowMulticonference Actions pour lesquelles ce paramètre est valide :
|
| données.table | 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é en conjonction avec les data.sysIdparamètres , data.addToWorkNotes, et 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 qui décrit la téléconférence. |
| data.addToWorkNotes | Marqueur indiquant s’il faut ajouter des informations sur les participants qui ont été inclus dans 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 and 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 and 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 :
|
| données.confId | ID système de la téléconférence. L’ID système de la conférence se trouve dans la table Téléconférence de Notification [notify_conference_call]. Actions pour lesquelles ce paramètre est obligatoire :
Remarque : Les actions des participants telles que désactiver le micro, réactiver le micro et expulser ne nécessitent pas la définition de ce paramètre, car la méthode obtient ces informations à partir de la table Participant à la téléconférence de Notification [notify_participant]. |
| data.fromNumber | Numéro du fournisseur de service à appeler pour la téléconférence. Localisez 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 obligatoire :
|
| 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 :
|
| données.serviceProvider | Requis. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est obligatoire :
|
| données.sysId | ID système 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, définissez l’ID système de l’enregistrement d’incident ou de problème dans cette valeur. Cet ID système est stocké dans la colonne Source de la table Notification Téléconférence [notify_conference_call] et peut être suivi ultérieurement. Ce paramètre est utilisé en conjonction avec les data.Tableparamètres , data.addToWorkNotes, et allowMulticonference Actions pour lesquelles ce paramètre est valide :
|
| données.table | 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é en conjonction avec les data.sysIdparamètres , data.addToWorkNotes, et 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.
- Archives : Archive la conférence une fois qu’elle s’est terminée
- 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 : met fin à la téléconférence identifiée
- Partage de fichiers : 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 initialement une téléconférence
- multiUnmute : active le micro de plusieurs participants pour une téléconférence
- Enregistrement : enregistrements des 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 la personne 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 aptitude du conducteur. Valeurs valides :
|
Répertoriez les options de pilote pour tous les pilotes de fournisseur de service de téléphonie de 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 à ce qui suit pour chaque fournisseur de service de téléphonie actif au sein de 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 un booléen, 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 actuelle.
| Nom | Type | Description |
|---|---|---|
| notifyParticipantGR | GlideRecord | Objet GlideRecord du participant à supprimer de la téléconférence. Ces enregistrements se trouvent dans la table Notification du participant [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'); // 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 micro du participant associé au GlideRecord transmis lors de la téléconférence en cours.
| Nom | Type | Description |
|---|---|---|
| notifyParticipantGR | Objet | Objet GlideRecord du participant à mettre en sourdine. Ces enregistrements se trouvent dans la table Notification du participant [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.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 Notification du participant [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);
})
}
})();