NotifyOnTaskClient : Client
L’API NotifyOnTaskClient fournit des méthodes pour envoyer des messages SMS ou démarrer/gérer une téléconférence pour divers fournisseurs de services de téléphonie, tels que Zoom et Webex.
N’importe quelle interface utilisateur peut consommer l’API NotifyOnTaskClient en incluant explicitement le script d’interface utilisateur NotifyOnTaskClient.
À l’aide de l’API NotifyOnTaskClient , vous pouvez :
- Commencer une téléconférence
- Terminer une téléconférence
- Ajouter des participants
- Effectuez les actions disponibles via le pilote de téléphonie, telles que :
- Activer/désactiver le micro des participants
- Supprimer des participants d’une téléconférence
- Ajouter des participants à une téléconférence
- Commencer une téléconférence
- Mettre fin à une téléconférence
Le module d’extension Notification (com.snc.notify) nécessite un abonnement distinct. Pour plus d’informations sur l’activation du module d’extension Notification, consultez Activer Notification.
NotifyOnTaskClient : addParticipants(données d’objet)
Ajoute les participants spécifiés à une téléconférence spécifiée.
| Nom | Type | Description |
|---|---|---|
| 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 |
| data.confId | Chaîne | Sys_id de la téléconférence. Table : Téléconférence Notification [notify_conference_call] |
| données.éléments | Tableau | Informations que chaque participant doit inclure dans la téléconférence. |
| data.items.email | Chaîne | Adresse e-mail du participant. |
| data.items.id | Chaîne | sys_id d’utilisateur. Table : utilisateur [sys_User] |
| data.items.notifyParticipantId | Chaîne | Le participant sys_id. Table : Notifier le participant [notify_participant] |
| numéro.téléphone.éléments.données | Chaîne | Numéro de téléphone du participant. Si cette valeur est transmise conjointement avec le id paramètre ou notifyParticipantId , cette valeur remplace les numéros de téléphone dans l’enregistrement de l’utilisateur/participant et est utilisée pour passer l’appel. |
| 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 ». |
| data.serviceProvider | Chaîne | Obligatoire. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. |
| 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 . Vous devez configurer cette valeur lorsque la téléconférence est initialement créée via une action « démarrer ». Si nécessaire, vous pouvez également définir cette valeur via cette méthode. |
| 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 . Vous devez configurer cette valeur lorsque la téléconférence est initialement créée via une action « démarrer ». Si nécessaire, vous pouvez également définir cette valeur via cette méthode. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
function addToConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items.push({ id: 'userSysId' });
data.items.push({ phoneNumber: '+917799555331' });
data.items.push({ email: 'yln99518@gmail.com' });
NotifyOnTaskClient.addParticipants(data).then(function (result) {
var joinActionResult = result[0];
if(joinActionResult.status) {
joinActionResult.successMessages.forEach(function(msg) {
console.log(msg);
});
return;
}
joinActionResult.warnMessages.forEach(function(msg) {
console.warn(msg);
});
joinActionResult.errorMessages.forEach(function(msg) {
console.error(msg);
});
}, function (errMsg) {
console.log(errMsg);
});
}
NotifyOnTaskClient : 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 :
|
| 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.éléments | Tableau | Informations que chaque participant doit inclure dans la téléconférence. Valeurs de tableau valides :
|
| 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.
|
L’exemple suivant montre comment créer une fonction pour appeler doConferenceAction() afin de manipuler les participants d’une téléconférence en transmettant l’action et les participants.
/**
*
* @param {string} action - action to perform on the conference object or participant object
* @param {Array} participants;
*/
function doConferenceAction(action, participants) {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items = participants;
NotifyOnTaskClient.doConferenceAction(action, data).then(function (result) {
var kickActionResult = result[0];
if (kickActionResult.status)
console.log(action + ' succeeded');
else {
kickActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
kickActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg)
});
}
// kick participants
doConferenceAction('kick', [{notifyParticipantId: 'notifyParticipantSysId'}]);
// kick multiple participants
doConferenceAction('multiKick',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// Mute participants
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('multiMute',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// self join to any confernece.
doConferenceAction('selfJoin', [{id: 'logged in userId'}]);
NotifyOnTaskClient : endConference(données d’objet)
Met fin à la téléconférence spécifiée.
| Nom | Type | Description |
|---|---|---|
| données | Objet | Objet décrivant la téléconférence. |
| data.confId | Chaîne | Sys_id de la téléconférence. |
| data.serviceProvider | Chaîne | Obligatoire. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
function endConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
NotifyOnTaskClient.endConference(data).then(function (result) {
var endActionResult = result[0];
if (endActionResult.status)
console.log('Conference has been ended');
else {
endActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
endActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg);
});
}
NotifyOnTaskClient : getNotifyActionTemplate()
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 :
|
L’exemple suivant montre comment appeler getNotifyActionTemplate() pour obtenir le modèle de données nécessaire pour définir les actions de doConferenceAction().
/**
*
* @param {string} action - action to perform on the conference object or participant object
* @param {Array} participants;
*/
function doConferenceAction(action, participants) {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items = participants;
NotifyOnTaskClient.doConferenceAction(action, data).then(function (result) {
var kickActionResult = result[0];
if (kickActionResult.status)
console.log(action + ' succeeded');
else {
kickActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
kickActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg)
});
}
// kick participants
doConferenceAction('kick', [{notifyParticipantId: 'notifyParticipantSysId'}]);
// kick multiple participants
doConferenceAction('multiKick',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// Mute participants
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('multiMute',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// self join to any confernece.
doConferenceAction('selfJoin', [{id: 'logged in userId'}]);
NotifyOnTaskClient : start(données d’objet)
Démarre une nouvelle téléconférence.
| Nom | Type | Description |
|---|---|---|
| données | Objet | Objet décrivant la téléconférence. |
| data.addToWorkNotes | Booléen | Facultatif.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 pour les data.table paramètres et data.sysId afin d’identifier l’enregistrement dans lequel ajouter les notes de travail. Valeur par défaut : false |
| données.allowMulticonference | Booléen | Facultatif. 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 |
| data.fromNumber | Chaîne | Requis. 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]. |
| données.éléments | Tableau | Facultatif. Informations que chaque participant doit inclure dans la téléconférence. |
| data.items.email | Chaîne | Adresse e-mail du participant. |
| data.items.id | Chaîne | sys_id d’utilisateur. Table : utilisateur [sys_User] |
| data.items.notifyParticipantId | Chaîne | Le participant sys_id. Table : Notifier le participant [notify_participant] |
| numéro.téléphone.éléments.données | Chaîne | Numéro de téléphone du participant. Si cette valeur est transmise conjointement avec le id paramètre ou notifyParticipantId , cette valeur remplace les numéros de téléphone dans l’enregistrement de l’utilisateur/participant et est utilisée pour passer l’appel. |
| data.message | Chaîne | Facultatif. Message lu à haute voix lorsqu’un utilisateur répond à l’appel, par exemple : « Un incident P1 a été créé, veuillez vous connecter à l’instance ». |
| data.serviceProvider | Chaîne | Obligatoire. Nom du fournisseur de services de conférence, tel que Zoom ou Webex. |
| data.sysId | Chaîne | Facultatif. 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 . |
| table.données | Chaîne | Facultatif. 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 . |
| Type | Description |
|---|---|
| Objet | Résultats de l’action de la conférence.
|
L’exemple de code suivant montre comment appeler cette méthode.
function startConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.table = 'incident';
data.sysId = '1234';
data.serviceProvider = serviceProvider;
data.addToWorkNotes = true;
data.fromNumber = 'Telephony Number';
data.items.push({ id: 'userSysId' });
data.items.push({ phoneNumber: '+917799555332' });
data.items.push({ email: 'yln99517@gmail.com' });
NotifyOnTaskClient.start(data).then(function (result) {
var startActionResult = result[0];
if(startActionResult.status) {
startActionResult.successMessages.forEach(function(msg) {
console.log(msg);
});
return;
}
startActionResult.warnMessages.forEach(function(msg) {
console.warn(msg);
});
startActionResult.errorMessages.forEach(function(msg) {
console.error(msg);
});
}, function (errMsg) {
console.log(errMsg);
});
}