NotifyOnTaskClient - Cliente
A API NotifyOnTaskClient fornece métodos para enviar mensagens SMS ou iniciar/gerenciar uma chamada em conferência para vários provedores de serviços de telefonia, como Zoom e Webex.
Qualquer IU pode consumir a API NotifyOnTaskClient incluindo explicitamente o script de IU NotifyOnTaskClient.
Usando a API NotifyOnTaskClient, você pode:
- Como iniciar uma chamada em conferência
- Encerrar uma chamada de conferência
- Adicionar participantes
- Execute ações que estão disponíveis por meio do driver de telefonia, como:
- ativar/desativar mudo de participantes
- remover participantes de uma chamada em conferência
- adicionar participantes a uma chamada em conferência
- iniciar uma chamada em conferência
- encerrar uma chamada em conferência
O plug-in Notify (com.snc.notify) requer uma assinatura separada. Para obter informações adicionais sobre como ativar o plug-in Notify, consulte Ativação do Notify.
NotifyOnTaskClient - addParticipants(Dados do objeto)
Adiciona os participantes especificados a uma chamada em conferência especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Objeto | Objeto que descreve a chamada em conferência. |
| data.addToWorkNotes | Booliano | Sinalizador que indica se informações sobre os participantes que foram incluídos na chamada em conferência devem ser adicionadas no campo de anotações de trabalho do registro associado. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro ao qual as anotações de trabalho serão adicionadas. Padrão: falso |
| data.confId | Cadeia de caracteres | Obrigatório. SYS ID da chamada em conferência. O SYS ID da conferência está localizado na tabela Chamada em conferência do Notify [notify_conference_call]. |
| dados.itens | Matriz | Obrigatório. Informações para cada participante incluir na chamada em conferência. Valores de matriz válidos:
|
| mensagem.dados | Cadeia de caracteres | Mensagem que é lida em voz alta quando um usuário atende à chamada, como "O incidente P1 foi criado. Faça login na instância". |
| dados.serviceProvider | Cadeia de caracteres | Obrigatório. Nome do provedor de serviços de conferência, como Zoom ou Webex. |
| dados.sysId | Cadeia de caracteres | SYS ID do registro de origem a ser associado à chamada em conferência. Por exemplo, se uma chamada em conferência for realizada para discutir um incidente ou problema específico, coloque o SYS ID do registro de incidente ou problema neste valor. Este SYS ID é armazenado na coluna Origem da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado posteriormente. Este parâmetro é usado em conjunto com os parâmetros data.Table, data.addToWorkNotese allowMulticonference. Você deve configurar este valor quando a chamada em conferência for criada inicialmente por meio de uma ação "iniciar". Se necessário, você também pode definir este valor por meio deste método. |
| dados.tabela | Cadeia de caracteres | Tabela que contém o registro de origem a ser associado à chamada em conferência. Um registro de origem pode ser qualquer registro, como um "incidente" ou "problema", que seja o tópico de discussão na chamada em conferência. Este nome de tabela é armazenado na coluna Tabela da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado. Este parâmetro é usado em conjunto com os parâmetros data.sysId, data.addToWorkNotese allowMulticonference. Você deve configurar este valor quando a chamada em conferência for criada inicialmente por meio de uma ação "iniciar". Se necessário, você também pode definir este valor por meio deste método. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
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(ação de cadeia de caracteres, dados de objeto)
Executa a ação de chamada em conferência especificada, como iniciar/encerrar uma chamada em conferência ou ingressar, remover, ativar ou desativar mudo de participantes de uma chamada em conferência.
- Salve ponteiros no registro de chamada em conferência para o registro específico (registro de origem), como um incidente ou problema, que é o tópico de discussão da chamada em conferência.
- Permitir/proibir várias chamadas em conferência para um registro de origem.
- Registre automaticamente os participantes que estavam na chamada em conferência no campo Anotações de trabalho do registro de origem.
- Faça com que uma mensagem seja lida em voz alta quando um participante atender a uma chamada de saída da conferência.
| Nome | Tipo | Descrição |
|---|---|---|
| ação | Cadeia de caracteres | Define a ação de chamada em conferência a ser executada. A seguir estão as ações de chamada em conferência disponíveis:
|
| dados | Objeto | Objeto que descreve a chamada em conferência. |
| data.addToWorkNotes | Booliano | Sinalizador que indica se informações sobre os participantes que foram incluídos na chamada em conferência devem ser adicionadas no campo de anotações de trabalho do registro associado. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro ao qual as anotações de trabalho serão adicionadas. Padrão: falso Ações para as quais este parâmetro é válido:
|
| data.allowMulticonference | Booliano | Sinalizador que indica se várias chamadas em conferência devem ser permitidas para um registro específico de uma só vez. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro que tem permissão para ter várias chamadas em conferência. Padrão: falso Ações para as quais este parâmetro é válido:
|
| data.confId | Cadeia de caracteres | SYS ID da chamada em conferência. O SYS ID da conferência está localizado na tabela Chamada em conferência do Notify [notify_conference_call]. Ações para as quais este parâmetro é necessário:
Nota: As ações do participante, como ativar mudo, ativar mudo e retirar, não exigem que este parâmetro seja definido, pois o método obtém essas informações da tabela Participante de chamada em conferência do Notify [notify_participant]. |
| dados.deNúmero | Cadeia de caracteres | Número do provedor de serviço para o qual ligar para a chamada em conferência. Localize este valor na coluna Número ou Número de telefone da tabela Número de telefone do Notify [notify_number]. Ações para as quais este parâmetro é necessário:
|
| data.isNewConference | Booliano | Sinalizador que indica se esta é uma chamada em conferência nova ou existente. Valores válidos:
Padrão: falso Ações para as quais este parâmetro é válido:
|
| mensagem.dados | Cadeia de caracteres | Mensagem que é lida em voz alta quando um usuário atende à chamada, como "O incidente P1 foi criado. Faça login na instância". Ações para as quais este parâmetro é válido:
|
| dados.itens | Matriz | Informações para cada participante incluir na chamada em conferência. Valores de matriz válidos:
|
| dados.serviceProvider | Cadeia de caracteres | Obrigatório. Nome do provedor de serviços de conferência, como Zoom ou Webex. Ações para as quais este parâmetro é necessário:
|
| dados.sysId | Cadeia de caracteres | SYS ID do registro de origem a ser associado à chamada em conferência. Por exemplo, se uma chamada em conferência for realizada para discutir um incidente ou problema específico, coloque o SYS ID do registro de incidente ou problema neste valor. Este SYS ID é armazenado na coluna Origem da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado posteriormente. Este parâmetro é usado em conjunto com os parâmetros data.Table, data.addToWorkNotese allowMulticonference. Ações para as quais este parâmetro é válido:
|
| dados.tabela | Cadeia de caracteres | Tabela que contém o registro de origem a ser associado à chamada em conferência. Um registro de origem pode ser qualquer registro, como um "incidente" ou "problema", que seja o tópico de discussão na chamada em conferência. Este nome de tabela é armazenado na coluna Tabela da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado. Este parâmetro é usado em conjunto com os parâmetros data.sysId, data.addToWorkNotese allowMulticonference. Ações para as quais este parâmetro é válido:
|
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
O exemplo a seguir mostra como criar uma função para chamar doConferenceAction() para manipular os participantes de uma chamada em conferência, passando a ação e os participantes.
/**
*
* @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(Dados do objeto)
Encerra a chamada em conferência especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Objeto | Objeto que descreve a chamada em conferência. |
| data.confId | Cadeia de caracteres | SYS ID da chamada em conferência. |
| dados.serviceProvider | Cadeia de caracteres | Obrigatório. Nome do provedor de serviços de conferência, como Zoom ou Webex. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
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()
Retorna um modelo de dados JSON a ser usado com o método doConferenceAction(). O uso deste modelo estrutura automaticamente o objeto de dados para que você não precise criá-lo manualmente.
Chame este método antes de chamar o método doConferenceAction(). Para a ação de chamada em conferência desejada, defina os parâmetros desejados no modelo e passe o modelo na chamada doConferenceAction(). Para obter informações adicionais sobre os parâmetros válidos para cada ação, consulte doConferenceAction().
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| dados | Objeto que descreve a chamada em conferência. |
| data.addToWorkNotes | Sinalizador que indica se informações sobre os participantes que foram incluídos na chamada em conferência devem ser adicionadas no campo de anotações de trabalho do registro associado. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro ao qual as anotações de trabalho serão adicionadas. Padrão: falso Ações para as quais este parâmetro é válido:
|
| dados.allowMultconference | Sinalizador que indica se várias chamadas em conferência devem ser permitidas para um registro específico de uma só vez. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro que tem permissão para ter várias chamadas em conferência. Padrão: falso Ações para as quais este parâmetro é válido:
|
| data.confId | SYS ID da chamada em conferência. O SYS ID da conferência está localizado na tabela Chamada em conferência do Notify [notify_conference_call]. Ações para as quais este parâmetro é necessário:
Nota: As ações do participante, como ativar mudo, ativar mudo e retirar, não exigem que este parâmetro seja definido, pois o método obtém essas informações da tabela Participante de chamada em conferência do Notify [notify_participant]. |
| dados.deNúmero | Número do provedor de serviço para o qual ligar para a chamada em conferência. Localize este valor na coluna Número ou Número de telefone da tabela Número de telefone do Notify [notify_number]. Ações para as quais este parâmetro é necessário:
|
| data.isNewConference | Sinalizador que indica se esta é uma chamada em conferência nova ou existente. Valores válidos:
Padrão: falso Ações para as quais este parâmetro é válido:
|
| dados.itens | Informações para cada participante incluir na chamada em conferência. Valores de matriz válidos:
|
| mensagem.dados | Mensagem que é lida em voz alta quando um usuário atende à chamada, como "O incidente P1 foi criado. Faça login na instância". Ações para as quais este parâmetro é válido:
|
| dados.serviceProvider | Obrigatório. Nome do provedor de serviços de conferência, como Zoom ou Webex. Ações para as quais este parâmetro é necessário:
|
| dados.sysId | SYS ID do registro de origem a ser associado à chamada em conferência. Por exemplo, se uma chamada em conferência for realizada para discutir um incidente ou problema específico, coloque o SYS ID do registro de incidente ou problema neste valor. Este SYS ID é armazenado na coluna Origem da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado posteriormente. Este parâmetro é usado em conjunto com os parâmetros data.Table, data.addToWorkNotese allowMulticonference. Ações para as quais este parâmetro é válido:
|
| dados.tabela | Tabela que contém o registro de origem a ser associado à chamada em conferência. Um registro de origem pode ser qualquer registro, como um "incidente" ou "problema", que seja o tópico de discussão na chamada em conferência. Este nome de tabela é armazenado na coluna Tabela da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado. Este parâmetro é usado em conjunto com os parâmetros data.sysId, data.addToWorkNotese allowMulticonference. Ações para as quais este parâmetro é válido:
|
O exemplo a seguir mostra como chamar getNotifyActionTemplate() para obter o modelo de dados necessário para definir as ações para 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 (Dados do objeto)
Inicia uma nova chamada em conferência.
| Nome | Tipo | Descrição |
|---|---|---|
| dados | Objeto | Objeto que descreve a chamada em conferência. |
| data.addToWorkNotes | Booliano | Opcional.Sinalizador que indica se informações sobre os participantes que foram incluídos na chamada em conferência devem ser adicionadas no campo de anotações de trabalho do registro associado. Para que esta funcionalidade funcione, você também deve especificar valores para os parâmetros data.table e data.sysId para identificar o registro ao qual as anotações de trabalho serão adicionadas. Padrão: falso |
| data.allowMulticonference | Booliano | Opcional. Sinalizador que indica se várias chamadas em conferência devem ser permitidas para um registro específico de uma só vez. Para que esta funcionalidade funcione, você também deve especificar valores nos parâmetros data.table e data.sysId. Esses parâmetros identificam o registro que tem permissão para ter várias chamadas em conferência. Padrão: falso |
| dados.deNúmero | Cadeia de caracteres | Obrigatório. Número do provedor de serviço para o qual ligar para a chamada em conferência. Localize este valor na coluna Número ou Número de telefone da tabela Número de telefone do Notify [notify_number]. |
| dados.itens | Matriz | Opcional. Informações para cada participante incluir na chamada em conferência. Valores de matriz válidos:
|
| mensagem.dados | Cadeia de caracteres | Opcional. Mensagem que é lida em voz alta quando um usuário atende à chamada, como "O incidente P1 foi criado. Faça login na instância". |
| dados.serviceProvider | Cadeia de caracteres | Obrigatório. Nome do provedor de serviços de conferência, como Zoom ou Webex. |
| dados.sysId | Cadeia de caracteres | Opcional. SYS ID do registro de origem a ser associado à chamada em conferência. Por exemplo, se uma chamada em conferência for realizada para discutir um incidente ou problema específico, coloque o SYS ID do registro de incidente ou problema neste valor. Este SYS ID é armazenado na coluna Origem da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado posteriormente. Este parâmetro é usado em conjunto com os parâmetros data.Table, data.addToWorkNotese allowMulticonference. |
| dados.tabela | Cadeia de caracteres | Opcional. Tabela que contém o registro de origem a ser associado à chamada em conferência. Um registro de origem pode ser qualquer registro, como um "incidente" ou "problema", que seja o tópico de discussão na chamada em conferência. Este nome de tabela é armazenado na coluna Tabela da tabela NotifyConference Call [notify_conference_call] e pode ser rastreado. Este parâmetro é usado em conjunto com os parâmetros data.sysId, data.addToWorkNotese allowMulticonference. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
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);
});
}