NotifyConferenceUtil : champ d’application, global
L’API NotifyConferenceUtil fournit des méthodes de gestion des téléconférences et des 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 des participants à une téléconférence
- Activer le micro des participants à une téléconférence
- 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 globaux. Pour utiliser cette API, vous devez activer le module d’extension Conference Notify (com.snc.notify), qui nécessite un abonnement distinct. Pour obtenir des détails sur l’activation de ce module d’extension, consultez Activer Notify.
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é. Ces enregistrements sont situés dans la table Téléconférence Notify [notify_conference_call]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de conférence.
|
Exemple
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 sont situés dans la table Téléconférence Notify [notify_conference_call]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de conférence.
|
Exemple
(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/mettre fin à 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 dans l’enregistrement de 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.
- Autorisez/interdisez plusieurs téléconférences pour un enregistrement source.
- Enregistrez automatiquement les participants qui participaient à 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. |
| données.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 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 ou non 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 | 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 Notification [notify_conference_call]. Actions pour lesquelles ce paramètre est requis :
Remarque : Les actions des participants telles que désactiver, réactiver le micro et exclure 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]. |
| données.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 :
|
| éléments 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, tel que « 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 service de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est requis :
|
| data.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, placez 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 NotifyConference Call [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 [notify_conference_call] et peut être 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 conférence.
|
Exemple
(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. |
| données.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 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 ou non 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 | 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 Notification [notify_conference_call]. Actions pour lesquelles ce paramètre est requis :
Remarque : Les actions des participants telles que désactiver, réactiver le micro et exclure 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]. |
| données.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 :
|
| éléments 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, tel que « 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 service de conférence, tel que Zoom ou Webex. Actions pour lesquelles ce paramètre est requis :
|
| data.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, placez 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 NotifyConference Call [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 [notify_conference_call] et peut être 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 :
|
Exemple
(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 services de téléphonie dans l’instance.
- Archives : Archive la conférence après sa fin
- beepOnLeave : émet un « bip » lorsqu’un participant quitte la téléconférence
- beepOnJoin : émet une tonalité « 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
- Parler : fournit un message à l’écran indiquant qui est en train de parler
- 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épertorie les options de pilote pour tous les pilotes de fournisseur de services 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 à 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 Notify 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 Notify 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 services de téléphonie prend en charge l’action spécifiée. Valeurs valides :
|
Exemple
(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. Ces enregistrements sont situés dans la table Participant de Notification [notify_participant]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de conférence.
|
Exemple
(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 à mettre en sourdine. Ces enregistrements sont situés dans la table Participant de Notification [notify_participant]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de conférence.
|
Exemple
(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 - NotifyConferenceUtils()
Instancie un objet NotifyConferenceUtils (constructeur).
| Nom | Type | Description |
|---|---|---|
| Néant |
Exemple
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 : 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 | GlideRecord du participant dont le micro doit être activé. Ces enregistrements sont situés dans la table Participant de Notification [notify_participant]. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de 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);
})
}
})();