NotifyUtil - Global
. NotifyUtil A inclusão de script fornece métodos de utilitário a serem usados ao interagir com chamadas do Notify e mensagens SMS usando scripts do lado do servidor.
Para usar esta inclusão de script, você deve ativar o plug-in Notify (com.snc.notify).
Usando o. NotifyUtil inclusão de script você pode:
- Obtenha todos os números de telefone do Notify e as informações do Notify relacionadas de um registro de origem especificado.
- Obtenha uma lista de números de telefone exclusivos do Notify.
- Determine se há chamadas em conferência ativas para o registro de origem especificado.
- Obtenha o número compatível com SMS associado ao usuário do Notify especificado.
- Valide um número de telefone do Notify especificado.
NotifyUtil - NotifyUtil()
Instancia um objeto de classe NotifyUtil.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum(a) |
Este exemplo instancia um objeto NotifyUtil.
var notifyUtil = new NotifyUtil();
notifyUtil.getTelephonyProviers();
NotifyUtil - getListOfNotifyNumbersAndProviders(cadeia de caracteres sourceTable, cadeia de caracteres sourceSysId, cadeia de caracteres notificyGroupSelectorSysId, filtro booliano SMSCapaphNums)
Retorna todos os números de telefone do Notify e as informações do Notify relacionadas de um registro de origem especificado, como um incidente.
Você pode usar essas informações para iniciar uma chamada ou enviar uma mensagem SMS em um registro de origem específico. As informações retornadas são baseadas na configuração da estrutura do Seletor de provedor do Notify. Para obter informações adicionais, consulte Notificar
| Nome | Tipo | Descrição |
|---|---|---|
| FilterSMSCapableNums | Booliano | Opcional. Sinalizador que indica se somente números compatíveis com SMS devem ser retornados. Valores válidos:
Padrão: falso |
| NotifyGroupSelectorSysId | Cadeia de caracteres | Opcional. Sys_id de um grupo do Notify para o qual retornar os números e as informações do Notify. Padrão: Todos os grupos |
| sourceSysId | Cadeia de caracteres | Sys_id do registro de origem para o qual os números e as informações do Notify serão retornados. Por exemplo, pode ser o sys_id de um registro na tabela Incidente [incidente]. |
| sourceTable | Cadeia de caracteres | Nome da tabela que contém o registro de origem que contém os números e as informações do Notify desejados. |
| Tipo | Descrição |
|---|---|
| ConfProviders | Lista de provedores de conferência disponíveis. Tipo de dados: Matriz |
| números | Lista de objetos, cada um descrevendo um único número do Notify. Tipo de dados: Matriz |
| numbers.defaultFlag | Sinalizador que indica se o número do Notify associado é o número padrão. Valores possíveis:
Tipo de dados: Booliano |
| numbers.name | Nome ou rótulo do número. Tipo de dados: Cadeia de caracteres |
| numbers.number | Número do Notify. Tipo de dados: Cadeia de caracteres |
| Numbers.shortcode | Sinalizador que indica se o número do Notify associado é um código curto. Valores possíveis:
Tipo de dados: Booliano |
| Numbers.SYSID | Sys_id do número do Notify. Tipo de dados: Cadeia de caracteres |
Este exemplo mostra como obter os números de telefone do Notify e as informações do Notify relacionadas de um registro de origem especificado.
function updateConferenceBridges(sourceTable, sourceId) {
var notifyUtil = new global.NotifyUtil();
var numbersAndProviders = notifyUtil.getListOfNotifyNumbersAndProviders(sourceTable, sourceId);
var confBridges = [];
if (numbersAndProviders.confProviders) {
numbersAndProviders.confProviders.forEach(function(provider){
confBridges.push(provider);
});
}
if (numbersAndProviders.numbers) {
numbersAndProviders.numbers.forEach(function(number){
confBridges.push(number.name);
});
}
}
NotifyUtil - getSMSNumberForUser(cadeia de caracteres userGrOrId)
Retorna o número compatível com SMS associado ao usuário do Notify especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| UserGROrId | Cadeia de caracteres ou GlideRecord - Global | Sys_id do registro do usuário, Tabela: Tabela do usuário [sys_user] ou o sys_user GlideRecord do usuário para quem retornar o número de telefone compatível com SMS. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Número de telefone compatível com SMS do usuário. Retorna nulo se o usuário especificado não for encontrado. |
Este exemplo mostra como obter um número de telefone compatível com SMS usando o GlideRecord associado.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var nUtil = new NotifyUtil();
var toNumber = nUtil.getSMSNumberForUser(sourceRecord.assigned_to.getRefRecord());
var message = 'Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to you.';
if (fromNumber && nUtil.validateOutboundNotifyPhoneNumber(fromNumber) && toNumber && nUtil.validatePhoneNumber(toNumber)) {
var notifySMS = new NotifySMS();
notifySMS.sendToNumber(fromNumber, toNumber, message, sourceRecord);
}
}
function getFromNumber() {
var prop = gs.getProperty('custom_property_name', '');
if (!prop){
return getFallbackFromNumber();
}
return prop;
}
function getFallbackFromNumber() {
var notifyNumGr = new GlideRecord("notify_number");
notifyNumGr.addActiveQuery();
notifyNumGr.addQuery('has_sms_out', 'yes');
notifyNumGr.query();
if (notifyNumGr.next()) {
return notifyNumGr.number + '';
}
return '';
}
NotifyUtil - getUniquePhoneNumbersForUsersAndGroups(Números de matriz, usuários de matriz, grupos de matriz, tipo de cadeia de caracteres, getData booliano)
Retorna uma lista de números de telefone exclusivos do Notify.
Se você não passar nenhum parâmetro na chamada, todos os números do Notify na tabela Número de telefone do Notify [notify_number] serão verificados quanto a duplicatas, com cada número de telefone disponível aparecendo apenas uma vez na lista retornada. Você pode refinar os resultados retornados especificando uma lista de usuários ou grupos a serem verificados ou especificando um conjunto de números ou tipos de números (SMS ou voz). Você também pode solicitar que os metadados associados a cada número sejam retornados junto com os números exclusivos. Se você não quiser usar um parâmetro, basta passar nulo como um espaço reservado. Por exemplo: Retorna nUtil.getUniquePhoneNumbersForUsersAndGroups(null, userids, null, 'sms', false); .
| Nome | Tipo | Descrição |
|---|---|---|
| ObtData | Booliano | Opcional. Sinalizador que indica se os metadados devem ser retornados junto com a lista de números de telefone exclusivos. Valores válidos:
Padrão: falso |
| grupos | Matriz | Opcional. Lista de grupos sys_id a serem verificados. Padrão: Marque todos os grupos. Tabela: Grupo [sys_user_group] |
| números | Matriz | Opcional. Lista de números de telefone específicos do Notify a serem verificados. Padrão: Verifique todos os números de telefone. |
| tipo | Cadeia de caracteres | Opcional. Tipos de números de telefone a serem verificados. Valores válidos (diferencia maiúsculas de minúsculas):
Padrão: Marque todos os tipos de número de telefone |
| usuários | Matriz | Opcional. Lista de sys_ids de usuários específicos a serem verificados. Padrão: Marque todos os usuários Tabela: Usuário [sys_user] |
| Nome | Descrição |
|---|---|
| números | Números de telefone exclusivos do Notify. Tipo de dados: Matriz |
| resultado | Retornado somente se getDatadefinido como verdadeiro. Metadados associados a cada número exclusivo. Tipo de dados: Objeto |
| resultado.número | Número de telefone exclusivo do Notify. Tipo de dados: Cadeia de caracteres |
| SYSID.resultado | Sys_id do registro que contém o número de telefone do Notify. Tipo de dados: Cadeia de caracteres Tabela: Número de telefone do Notify [notify_number] |
| result.type | Sempre contém "u" para o usuário. Tipo de dados: Cadeia de caracteres |
| resultado.válido | Sinalizador que indica se o número de telefone do Notify está no formato E.164 válido. Valores possíveis:
Tipo de dados: Booliano |
Este exemplo mostra como solicitar um conjunto específico de números de telefone do Notify exclusivos que tenham recursos de SMS.
var fromNumber = getFromNumber();
var toNumbers = getRecipientNumbers();
var message = 'This is an example SMS';
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var notifySMS = new NotifySMS();
notifySMS.sendToNumber(fromNumber, toNumbers, message, sourceRecord);
}
function getRecipientNumbers() {
var userGr = new GlideRecord('sys_user');
userGr.addActiveQuery();
userGr.addQuery('first_name', 'STARTSWITH', 'A');
userGr.setLimit(5);
userGr.query();
var userIds = [];
while (userGr.next()) {
userIds.push(userGr.getUniqueValue());
}
if (userIds.length > 0) {
var nUtil = new NotifyUtil();
return nUtil.getUniquePhoneNumbersForUsersAndGroups(null, userIds, null, 'sms', false);
}
}
function getFromNumber() {
var prop = gs.getProperty('custom_property_name', '');
if (!prop){
return getFallbackFromNumber();
}
return prop;
}
function getFallbackFromNumber() {
var notifyNumGr = new GlideRecord("notify_number");
notifyNumGr.addActiveQuery();
notifyNumGr.addQuery('has_sms_out', 'yes');
notifyNumGr.query();
if (notifyNumGr.next()) {
return notifyNumGr.number + '';
}
return '';
}
NotifyUtil - hasActiveConferenceCalls(cadeia de caracteres sourceRecSysId)
Determina se há chamadas em conferência ativas para o registro de origem especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| SourceRecSysId | Cadeia de caracteres | Sys_id do registro para verificar se há chamadas em conferência ativas. Por exemplo, o sys_id de um registro na tabela Incidente. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o registro especificado tem chamadas em conferência ativas associadas. Valores possíveis:
|
Este exemplo exibe uma mensagem informativa se houver chamadas em conferência ativas associadas a um registro de incidente.
(function executeRule(current, previous /*null when async*/) {
var nUtil = new NotifyUtil();
if (nUtil.hasActiveConferenceCalls(current.getUniqueValue())) {
gs.addInfoMessage("There are active conference calls related to this Incident.");
}
})(current, previous);
NotifyUtil - validateOutboundNotifyPhoneNumber (número de cadeia de caracteres)
Valida um número de telefone do Notify especificado.
- Se o número do Notify existe na tabela Número de telefone do Notify [notify_number].
- Se o número do Notify tem um grupo do Notify associado a ele.
- Se o número do Notify está ativo.
| Nome | Tipo | Descrição |
|---|---|---|
| número | Cadeia de caracteres | Número do Notify a ser validado. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Este exemplo ilustra como validar um número do Notify.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var nUtil = new NotifyUtil();
var toNumber = nUtil.getSMSNumberForUser(sourceRecord.assigned_to.getRefRecord());
var message = 'Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to you.';
if (fromNumber && nUtil.validateOutboundNotifyPhoneNumber(fromNumber) && toNumber && nUtil.validatePhoneNumber(toNumber)) {
var notifySMS = new NotifySMS();
notifySMS.sendToNumber(fromNumber, toNumber, message, sourceRecord);
}
}
function getFromNumber() {
var prop = gs.getProperty('custom_property_name', '');
if (!prop){
return getFallbackFromNumber();
}
return prop;
}
function getFallbackFromNumber() {
var notifyNumGr = new GlideRecord("notify_number");
notifyNumGr.addActiveQuery();
notifyNumGr.addQuery('has_sms_out', 'yes');
notifyNumGr.query();
if (notifyNumGr.next()) {
return notifyNumGr.number + '';
}
return '';
}
NotifyUtil - validatePhoneNumber (número de cadeia de caracteres)
Verifica se o número especificado é um número de telefone E.164 válido.
| Nome | Tipo | Descrição |
|---|---|---|
| número | Cadeia de caracteres | Número de telefone a ser validado. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica se o número especificado é um número de telefone válido. Valores possíveis:
|
Este exemplo ilustra como validar um número de telefone.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var nUtil = new NotifyUtil();
var toNumber = nUtil.getSMSNumberForUser(sourceRecord.assigned_to.getRefRecord());
var message = 'Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to you.';
if (fromNumber && nUtil.validateOutboundNotifyPhoneNumber(fromNumber) && toNumber && nUtil.validatePhoneNumber(toNumber)) {
var notifySMS = new NotifySMS();
notifySMS.sendToNumber(fromNumber, toNumber, message, sourceRecord);
}
}
function getFromNumber() {
var prop = gs.getProperty('custom_property_name', '');
if (!prop){
return getFallbackFromNumber();
}
return prop;
}
function getFallbackFromNumber() {
var notifyNumGr = new GlideRecord("notify_number");
notifyNumGr.addActiveQuery();
notifyNumGr.addQuery('has_sms_out', 'yes');
notifyNumGr.query();
if (notifyNumGr.next()) {
return notifyNumGr.number + '';
}
return '';
}