NotifyConferenceUtil - com escopo, global
A API NotifyConferenceUtil fornece métodos para gerenciar chamadas em conferência do Notify e mensagens SMS para vários provedores de serviços de telefonia, como Zoom e Webex.
Usando a API NotifyConferenceUtil, você pode:
- Criar novas chamadas em conferência
- Adicionar participantes por número de telefone ou ID de usuário
- Remover participantes de uma chamada em conferência
- Silenciar participantes em uma chamada em conferência
- Ativar mudo de participantes em uma chamada em conferência
- Obter as capacidades de um provedor de serviço especificado
- Encerrar uma chamada de conferência
Você pode usar esta API em scripts com escopo e globais. Para usar esta API, você deve ativar o plug-in Conference Notify (com.snc.notify), que requer uma assinatura separada. Para obter detalhes sobre como ativar este plug-in, consulte Ativação do Notify.
NotifyConferenceUtils - NotifyConferenceUtils()
Instancia um objeto NotifyConferenceUtils (construtor).
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
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)
Adiciona um participante a uma chamada em conferência especificada usando o número de telefone para identificar o participante.
| Nome | Tipo | Descrição |
|---|---|---|
| paraNúmero | Cadeia de caracteres | Número de telefone do participante a ser adicionado à chamada em conferência. |
| confGR | GlideRecord | GlideRecord da chamada em conferência à qual o participante especificado será adicionado. Esses registros estão localizados na tabela Chamada em conferência do Notify [notify_conference_call]. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
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(cadeia de caracteres userId, GlideRecord confGR)
Adiciona um participante à chamada em conferência referenciada pelo passado no GlideRecord usando seu identificador de usuário exclusivo.
| Nome | Tipo | Descrição |
|---|---|---|
| userId | Cadeia de caracteres | SYS ID do participante a ser adicionado à chamada em conferência especificada. Essas informações estão localizadas na tabela Usuário [sys_user]. |
| confGR | GlideRecord | GlideRecord da chamada em conferência para adicionar o participante especificado. Esses registros estão localizados na tabela Chamada em conferência do Notify [notify_conference_call]. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
(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(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:
|
| dados.itens | Matriz | 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". Ações para as quais este parâmetro é válido:
|
| 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
|
(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()
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:
|
(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()
Retorna os recursos de todos os drivers do provedor de serviços de telefonia na instância.
- arquivar: arquiva a conferência após o término
- beepOnLeave: reproduz um som de "bipe" quando um participante sai da chamada em conferência
- beepOnJoin: reproduz um som de "bipe" quando um participante ingressa na chamada em conferência
- end: encerra a chamada em conferência identificada
- compartilhamento de arquivos: permite o compartilhamento de arquivos entre os participantes
- ingressar: adiciona um participante a uma chamada em conferência
- kick: remove um participante de uma chamada em conferência
- multiJoin: adiciona vários participantes a uma chamada em conferência
- multiKck: remove vários participantes de uma chamada em conferência
- muteOnJoin: silencia um participante quando ele ingressa inicialmente em uma chamada em conferência
- multiUnmute: ativa o mudo de vários participantes de uma chamada em conferência
- registro: registra chamadas em conferência
- gravação: fornece um indicador na tela quando a chamada em conferência está sendo gravada
- Compartilhamento de tela: permite que as telas dos participantes sejam compartilhadas com o grupo
- selfJoin: adiciona o usuário conectado no momento a uma chamada em conferência
- Falando: fornece uma mensagem na tela sobre quem está falando no momento
- iniciar: inicia a chamada em conferência identificada
- reativar mudo: reativa o mudo de um participante em uma chamada em conferência
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | Pares de chave-valor do status de cada capacidade do driver. Valores válidos:
|
Listar capacidades de driver para todos os drivers de provedor de serviços de telefonia na instância.
(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);
}
})();
Saída: o método retorna um nó semelhante ao seguinte para cada provedor de serviços de telefonia ativo na instância.
{
"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 (ação numérica)
Determina se uma ação de conferência do Notify é compatível com um provedor de serviços de telefonia.
Para usar este método, você deve primeiro chamar o método getServiceProviderCapabilities(). Este método retorna um objeto que contém informações sobre a disponibilidade de cada ação de conferência Notify possível para cada provedor de serviço configurado em sua instância.
Por exemplo:
{
"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": {}
}
}
}| Nome | Tipo | Descrição |
|---|---|---|
| ação | Número | Valor do parâmetro isSupported retornado pelo método getServiceProvidersCapabilities() para uma ação e provedor de serviço específicos. Nota: Embora o valor isSupported possa parecer um booliano, na verdade é um número. Não tente avaliar as capacidades como valores boolianos. Use este método, pois os valores associados podem ser expandidos em versões futuras. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o provedor de serviços de telefonia oferece suporte à ação especificada. Valores válidos:
|
(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)
Remove o participante associado ao GlideRecord aprovado da chamada em conferência atual.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyParticipantGR | GlideRecord | Objeto GlideRecord do participante a ser removido da chamada em conferência. Esses registros estão localizados na tabela Participante do Notify [notify_participant]. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
(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)
Silencia o participante associado ao aprovado no GlideRecord na chamada em conferência atual.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyParticipantGR | Objeto | Objeto GlideRecord do participante a ser silenciado. Esses registros estão localizados na tabela Participante do Notify [notify_participant]. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
(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)
Cancela o mudo do participante associado ao aprovado no GlideRecord na chamada em conferência atual.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyParticipantGR | GlideRecord | Objeto GlideRecord do participante a ser reativado. Esses registros estão localizados na tabela Participante do Notify [notify_participant]. |
| Tipo | Descrição |
|---|---|
| Objeto | Resultados da ação de conferência. <action
<action
<action
<action
|
(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);
})
}
})();