Notify - Global
A API do Notify permite que você interaja com chamadas do Notify e mensagens SMS usando scripts.
Acesse a classe Notify global e seus métodos associados no namespace SNC.
Notify - call(cadeia de caracteres notifyPhoneNumber, cadeia de caracteres toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, cadeia de caracteres userSysId, cadeia de caracteres groupSysId, GlideRecord sourceRecord)
Chama o número de telefone compatível com E.164 especificado.
Além disso, este método pode adicionar automaticamente o número de telefone especificado a uma chamada em conferência especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyPhoneNumber | Cadeia de caracteres ou NotifyPhoneNumber | Número de telefone do Notify a partir do qual a chamada será feita. Quando você inicia uma chamada, o fluxo de trabalho de chamada de saída para o grupo de números associado a este número é executado. Certifique-se de que este fluxo de trabalho inclua uma atividade de ingresso na chamada em conferência para conectar o usuário à chamada em conferência. |
| toPhoneNumber | Cadeia de caracteres | Número de telefone para ligar. Os números chamados são adicionados à chamada em conferência. |
| ConferenceCall | GlideRecord | Opcional. Se este parâmetro for passado, os chamadores identificados no parâmetro toPhoneNumber ingressarão automaticamente na chamada em conferência identificada por este registro. GlideRecord para a tabela Notify Call [notify_call] que identifica o registro da chamada em conferência. Este registro é adicionado automaticamente ao bloco de anotações do fluxo de trabalho de chamada de saída como a variável workflow.scratchpad.conference_call. |
| userSysId | Cadeia de caracteres | Opcional. Identificador exclusivo (sys_id) do usuário associado à chamada. |
| groupSysId | Cadeia de caracteres | Opcional. Identificador exclusivo (sys_id) do grupo associado à chamada. |
| sourceRecord | GlideRecord | Opcional. Registro de origem que gerou esta chamada. |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo ilustra como iniciar uma chamada para outro número de telefone.
var from = '+14048007337';
var to = '+31646810495';
// set up call
new SNC.Notify().call(from, to);
Este exemplo ilustra como iniciar uma chamada para uma lista de números de telefone e ingressar automaticamente esses números em uma nova chamada em conferência.
var notify = new SNC.Notify();
var from = '+14041234567';
var participants = ['+31612345678', '+31623456789', '+31687654321'];
// set up a conference call
var conferenceCall = notify.conferenceCall();
// set up the outbound calls for all conference call participants
for (var i in participants) {
var to = participants[i];
notify.call(from, to, conferenceCall);
}
Este exemplo ilustra como iniciar uma nova chamada em conferência.
SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), null, null, null);
Este exemplo ilustra como iniciar uma nova chamada em conferência usando um registro de usuário.
var sysUserGr = new GlideRecord('sys_user');
sysUserGr.get('active conference sys id');
if (conferenceGr.isValid) {
SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), sysUserGr.getUniqueValue(), null, null);
}
Este exemplo ilustra como iniciar uma nova chamada em conferência com um usuário, grupo e registro de origem.
var sysUserGr = new GlideRecord('sys_user');
sysUserGr.get('active sys user sys id');
var sysUserGroupGr = new GlideRecord('sys_user_group');
sysUserGroupGr.get('active sys user group sys id');
var incidentGr = new GlideRecord('incident');
incidentGr.get('incident sys_id');
if (conferenceGr.isValid) {
SNC.Notify.call('+15413970605', '+91406XXXXXXX',
SNC.Notify.conferenceCall(),
sysUserGr.getUniqueValue(),
sysUserGroupGr.getUniqueValue(),
incidentGr.getUniqueValue());
}
Equivalente com escopo
Para usar o método call() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - call().
Notify - conferenceCall(GlideRecord sourceRecord)
Cria uma nova chamada em conferência GlideRecord.
| Nome | Tipo | Descrição |
|---|---|---|
| sourceRecord | GlideRecord | Opcional. Registro que iniciou a solicitação para criar a chamada em conferência. Usado para preencher os campos de origem e de tabela no registro notify_conference_call. |
| Tipo | Descrição |
|---|---|
| GlideRecord | Novo registro de chamada em conferência do Notify [notify_conference_call]. |
var notify = new SNC.Notify();
var from = '+14041234567';
var participants = ['+31612345678', '+31623456789', '+31687654321'];
// set up a conference call
var conferenceCall = notify.conferenceCall();
// set up the outbound calls for all conference call participants
for (var i in participants) {
var to = participants[i];
notify.call(from, to, conferenceCall);
}
Equivalente com escopo
Para usar o método conferenceCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - conferenceCall().
Notify - dequeueCall(GlideRecord callRecord)
Retoma uma chamada depois que ela foi colocada em uma fila (em espera).
Use este método para retomar chamadas que foram colocadas em uma fila com o método queueCall().
| Nome | Tipo | Descrição |
|---|---|---|
| registro de chamada | GlideRecord | Um objeto GlideRecord na tabela Notify Call [notify_call] com a chamada em espera que você deseja retomar. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como reativar uma chamada que foi colocada em espera.
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.dequeueCall(notifyCallGr);
}
Equivalente com escopo
Para usar o método dequeueCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - dequeueCall().
Notify -forwardCall(GlideRecord call, String destino, String dtmf)
Encaminha a chamada especificada para um destinatário de chamada diferente.
| Nome | Tipo | Descrição |
|---|---|---|
| chamada | GlideRecord ou String | Notifique o registro de chamada ou o ID de chamada do provedor de telefonia da chamada a ser encaminhada. |
| destination | GlideRecord ou String | Notifique o registro do número de telefone ou um número de telefone compatível com E.164 do solicitante para o qual a chamada será encaminhada. |
| dtmf | Cadeia de caracteres | Código de tom duplo — Multifrequência (DTMF) a ser enviado na conexão da chamada. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como encaminhar uma chamada para outro número de telefone.
var callID = 'CA92374b5aa561dab476a7001db6026edc'; // Twilio Call ID
var phoneNumber = '+91406xxxxxxx';
var dtmfTones = null;
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
}
Equivalente com escopo
Para usar o métodoforwardCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped -forwardCall().
Notify - getAvailableClients(cadeia de caracteres notifyNumber)
Retorna uma lista de sessões de cliente que estão disponíveis para receber chamadas.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyNumber | Cadeia de caracteres | Número de telefone do Notify válido. |
| Tipo | Descrição |
|---|---|
| GlideRecord | GlideRecord da tabela notify_client_session para o número de telefone especificado. Retorna "0" se não houver sessões de cliente disponíveis. |
O exemplo a seguir mostra como usar o método getAvailableClients() para indexar na tabela notify_client_session e iterar em todos os clientes Notify disponíveis.
var clientSessionGr = SNC.Notify.getAvailableClients('+185xxxxxxxx');
// Here clientSessionGr is of type GlideRecord on 'notify_client_session' table.
var isLoggedInUserAvailable = false;
while (clientSessionGr.next()) {
if (clientSessionGr.user == gs.getUserID())
isLoggedInUserAvailable = clientSessionGr.available;
}
gs.info('isLoggedInUserAvailable - ' + isLoggedInUserAvailable);
Equivalente com escopo
Para usar o método getAvailableClients() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getAvailableClients().
Notify - getParentCallID(GlideRecord callRecord)
Retorna o sys_id da chamada primária de uma chamada especificada.
Qualquer chamada iniciada pelo encaminhamento de outra chamada, como com a atividade de fluxo de trabalho Encaminhar, é considerada secundária da chamada original. A chamada original é a chamada primária.
| Nome | Tipo | Descrição |
|---|---|---|
| registro de chamada | GlideRecord | Registro na tabela Chamada do Notify [notify_call] para o qual o status da chamada será retornado. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | sys_id exclusivo do registro de chamada primário. |
Este exemplo mostra como obter a chamada primária da chamada especificada.
var callRecord = new GlideRecord('notify_call');
callRecord.get("0f4f5863ff13310014ecffffffffff28");
var notify = new SNC.Notify();
var parentCallID = notify.getParentCallID(callRecord);
Notify - getPhoneNumbers ()
Retorna todos os números de telefone e códigos curtos disponíveis para o Notify.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Lista | Lista de objetos NotifyPhoneNumber, cada objeto representando um número de telefone disponível para o Notify. |
var list = SNC.Notify.getPhoneNumbers();
for (var i = 0; i < list.size(); i++) {
var num = list.get(i);
gs.info(num.getNumber())
}
Equivalente com escopo
Para usar o método getPhoneNumbers() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getPhoneNumbers().
Notify - getTokens(GlideRecord, record)
Retorna tokens de cliente para todos os drivers de telefonia ativos para uso em WebRTC ou clientes móveis.
| Nome | Tipo | Descrição |
|---|---|---|
| registro | GlideRecord | GlideRecord a ser usado para identificar o cliente Notify, como um registro de grupo ou um registro de usuário. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Tokens RTC da Web para os drivers compatíveis, como uma cadeia de caracteres JSON com o seguinte formato: {driverName1: "token1", driverName2: "token2"}, como "TwilioDirect":"keyJhxxxx.keyJleHAiOiIxxxx.7fejxxx_mbLxxx" |
Este exemplo mostra como obter os tokens de cliente para o usuário conectado no momento.
// get Notify client Tokens per active Notify driver for the currently logged in user
var json = new SNC.Notify().getTokens();
// Parse the JSON that was return into a tokens object
var tokens = JSON.parse(json);
// Log line
gs.log('Notify client tokens for the currently logged in user');
// iterate over the driver tokens
for (var driver in tokens) {
gs.log(driver + ' Driver token: ' + tokens[driver]);
}
Este exemplo mostra como obter os tokens de cliente para cada grupo do Notify.
// instantiate Notify
var notify = new SNC.Notify();
// get all Notify Groups
var notifyGroup = new GlideRecord("notify_group");
notifyGroup.query();
// iterate over all notify groups
while (notifyGroup.next()) {
// generate Notify Client tokens per active Notify Driver for this group
var json = notify.getTokens(notifyGroup);
var tokens = JSON.parse(json);
for (var driver in tokens) {
gs.log(gs.getMessage("Notify Client token for {0} driver and Notify Group '{1}': {2}", [driver, notifyGroup.getValue('name'), tokens[driver]]));
}
}
Equivalente com escopo
Para usar o método getTokens() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getTokens().
Notify - getTokenTTL(cadeia de caracteres "proprietário")
Retorna a quantidade máxima de tempo que uma sessão do cliente permanece ativa para um driver de telefonia especificado antes de expirar automaticamente.
| Nome | Tipo | Descrição |
|---|---|---|
| responsável | Cadeia de caracteres | Nome do driver de telefonia para o qual a duração da sessão será recuperada. Valores válidos:
|
| Tipo | Descrição |
|---|---|
| Inteiro | Duração máxima da sessão (em segundos). Padrão: 1.800 segundos |
O exemplo a seguir mostra como chamar corretamente este método e a resposta associada. Ele também mostra o que é retornado se um driver inválido for aprovado.
var owner = "TwilioDirect"; // Valid driver
var ttl = SNC.Notify.getTokenTTL(owner);
gs.info("Token TTL for " + owner + " --> " + ttl);
owner = "Abcxyz"; // Invalid driver
ttl = SNC.Notify.getTokenTTL(owner);
// For an invalid driver, we throw NoSuchNotifyDriverException saying that Abcxyzdriver is not available
// and return the default value of TTL
gs.info("Token TTL for " + owner + " --> " + ttl);
Equivalente com escopo
Para usar o método getTokenTTL() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - getAvailableClients().
Notify - hasCapability(cadeia de caracteres notifyPhoneNumber, capacidade de cadeia de caracteres)
Determina se o número de telefone especificado tem a funcionalidade especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyPhoneNumber | Cadeia de caracteres | Número de telefone para o qual verificar a capacidade especificada. |
| capacidade | Cadeia de caracteres | Capacidade de detecção. O texto da cadeia de caracteres deve ser uma correspondência exata do que está no telefone. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o telefone especificado tem o recurso especificado.
|
Este exemplo mostra como verificar se um telefone tem um recurso específico.
// Each driver has a defined set of capabilities.
var capability = 'show_speakers';
gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // true
capability = 'send_sms';
gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // false
Equivalente com escopo
Para usar o método hasCapability() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - hasCapability().
Notify - kick(participante GlideRecord)
Remove o chamador especificado da chamada em conferência do Notify atual.
| Nome | Tipo | Descrição |
|---|---|---|
| participante | GlideRecord | Objeto GlideRecord que contém o registro do Participante do Notify [notify_participant] do solicitante a ser removido da chamada em conferência. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como remover um participante de uma chamada em conferência.
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.kick(notifyParticipantGr);
}
Equivalente com escopo
Para usar o método kick() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - kick().
Notify - notifyCall(GlideRecord callRecord, NotifyAction notifyAction)
Executa uma ou mais ações em uma chamada telefônica do Notify ativa.
As ações disponíveis que você pode executar em chamadas incluem enfileirar ou retirar a chamada da fila, ler texto, reproduzir áudio ou encaminhar a chamada. Você também pode criar ações personalizadas Chame o método modificaCall() depois de especificar todas as ações que deseja aplicar à chamada especificada. Consulte a documentação da API NotifyAction para obter mais informações sobre as ações disponíveis.
| Nome | Tipo | Descrição |
|---|---|---|
| registro de chamada | GlideRecord | Chamada do Notify [notify_call] registro da chamada para a qual as ações serão aplicadas. |
| NotifyAction | NotifyAction | Objeto NotifyAction que descreve uma ou mais ações a serem executadas na chamada. Crie este objeto chamando um ou mais métodos NotifyAction(). |
| Tipo | Descrição |
|---|---|
| vazio |
Este exemplo mostra como modificar uma chamada.
// get the most recent call record
var callRecord = new GlideRecord('notify_call');
callRecord.orderByDesc('sys_created_on');
callRecord.query();
if (callRecord.next()) {
// instantiate notify action container class
var notifyAction = new SNC.NotifyAction();
// The call is already in progress. Now, we want to modify the call behavior by putting this call in a queue.
// So, we add a queue action to queue the call
notifyAction.addQueue('my fancy queue');
// modify the call by passing in the above action, putting the call in a queue
new SNC.Notify().modifyCall(callRecord, notifyAction);
} else {
gs.log('no such call record');
}
Equivalente com escopo
Para usar o método notifyCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - notifyCall().
Notify - mute(participantRecord de GlideRecord)
Silencia o participante da chamada em conferência especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| ParticipantRecord | GlideRecord | GlideRecord da tabela notify_participant para o participante silenciar. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como silenciar um chamador.
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.mute(notifyParticipantGr);
}
Equivalente com escopo
Para usar o método mute() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - mute().
Notify - queueCall(GlideRecord callRecord)
Coloca a chamada especificada em uma fila (em espera).
Retomar uma chamada na fila usando o método dequeueCall().
| Nome | Tipo | Descrição |
|---|---|---|
| registro de chamada | GlideRecord | Objeto GlideRecord do registro de chamada do Notify (tabela notify_call) para colocar em espera. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como colocar uma chamada em espera (na fila).
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.queueCall(notifyCallGr);
}
Equivalente com escopo
Para usar o método queueCall() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - queueCall().
Notify - sendBulkSMS(cadeia de caracteres notifyPhoneNumber, matriz toPhoneNumbers, cadeia de caracteres messageBody, fonte GlideRecord)
Envia uma mensagem SMS especificada para a lista especificada de clientes do Notify (números de telefone).
| Nome | Tipo | Descrição |
|---|---|---|
| notifyPhoneNumber | Cadeia de caracteres | Número de telefone do Notify do qual a mensagem SMS está sendo enviada. |
| toPhoneNumbers | Matriz de cadeia de caracteres | Lista separada por vírgulas de números de telefone para os quais a mensagem SMS será enviada. Formato: E.164 |
| messageBody | Cadeia de caracteres | Texto SMS a ser enviado. |
| origem | GlideRecord | Registro de origem que gerou esta mensagem SMS, como um incidente. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Nulo |
O exemplo a seguir mostra como enviar uma mensagem SMS em massa.
var incidentGr = new GlideRecord('incident');
incidentGr.get(active incident sys_id');
if (incidentGr.isValid()) {
SNC.Notify.sendBulkSMS('+15413970605', ['+919885XXXXXX', '+919775XXXXXX'], 'Test automation message', incidentGr);
}
Equivalente com escopo
Para usar o método sendBulkSMS() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - sendBulkSMS().
Notify - sendSMS(cadeia de caracteres notifyPhoneNumber, cadeia de caracteres toPhoneNumber, cadeia de caracteres messageBody, fonte de GlideRecord)
Envia uma mensagem de texto SMS para um número de telefone compatível com E.164.
Este método cria um novo registro na tabela Notify Message [notify_message] e o associa ao registro de origem.
| Nome | Tipo | Descrição |
|---|---|---|
| notifyPhoneNumber | Cadeia de caracteres | Número de telefone do Notify do qual a mensagem SMS está sendo enviada. |
| toPhoneNumber | Cadeia de caracteres | Número de telefone compatível com E.164 para o qual a mensagem SMS será enviada. |
| messageBody | Cadeia de caracteres | Corpo da mensagem de texto SMS. |
| origem | GlideRecord | Registro de origem que gerou esta mensagem SMS, como um incidente. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | SID de mensagem exclusiva; armazenado no registro Notify Message [notify_message] como message_id. |
O exemplo a seguir mostra como enviar uma mensagem SMS.
var incidentGr = new GlideRecord('incident');
incidentGr.get('active incident sys_id');
if (incidentGr.isValid()) {
SNC.Notify.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
}
Equivalente com escopo
Para usar o método sendSMS() em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - sendSMS().
Notify - unmute (participantRecord de GlideRecord)
Desativa o mudo do participante da chamada em conferência especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| ParticipantRecord | GlideRecord | GlideRecord da tabela notify_participant para o participante ativar o mudo. |
| Tipo | Descrição |
|---|---|
| vazio |
O exemplo a seguir mostra como reativar o mudo de um chamador.
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.unmute(notifyParticipantGr);
}
Equivalente com escopo
Para usar o método unmute () em uma aplicação com escopo, use o método com escopo correspondente: NotifyScoped - unmute().