NotifySMS - Global
. NotifySMS A inclusão de script fornece métodos que permitem enviar mensagens SMS (Short Message Service, serviço de mensagens curtas) de números de telefone do Notify para dispositivos usando seus números de telefone ou um GlideRecord que tem um campo que contém informações de número de telefone.
Para usar esta inclusão de script, você deve ativar o plug-in Notify (com.snc.notify).
NotifySMS - NotifySMS()
Cria uma instância de um objeto NotifySMS.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum(a) |
Este exemplo mostra como instanciar um objeto NotifySMS.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var groupId = sourceRecord.assignment_group + '';
var toGr = getRecipientGRs(groupId);
var message = 'An Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to your group';
if (fromNumber && toGr) {
var notifySMS = new NotifySMS();
notifySMS.sendToUsers(fromNumber, toGr, message, sourceRecord);
}
}
NotifySMS - sendBulkSMS(cadeia de caracteres fromNumber, matriz ToNumber, mensagem de cadeia de caracteres, GlideRecord sourceRecord)
Aciona uma ação de fluxo assíncrona que envia uma mensagem SMS (Short Message Service, serviço de mensagens curtas) de um número de telefone do Notify especificado para uma lista de números de telefone.
| Nome | Tipo | Descrição |
|---|---|---|
| DeNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| ToNumber | Matriz | Lista de números de telefone para receber a mensagem SMS. |
| mensagem | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord | Opcional. GlideRecord do incidente a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Mensagem do Notify [notify_message]. Vincula o registro de incidente que causou a geração da mensagem SMS a essa mensagem SMS. Padrão: Nenhum. Se este parâmetro não for passado, essas informações não serão rastreadas. |
| Tipo | Descrição |
|---|---|
| ScriptableFlowRunnerResult | ScriptableFlowRunnerResult - Com escopo objeto. |
O exemplo de código Seguir mostra como você pode usar esse método para enviar uma mensagem SMS em massa.
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.sendBulkSMS(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 '';
}
NotifySMS - sendToNumber(cadeia de caracteres fromNumber, cadeia de caracteres ToNumber, mensagem de cadeia de caracteres, Object sourceRecord)
Envia uma mensagem SMS (Short Message Service, serviço de mensagens curtas) de um número de telefone do Notify especificado para um número de telefone especificado.
Opcionalmente, você pode associar o registro de incidente que causou a geração da mensagem SMS à mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| DeNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| mensagem | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. GlideRecord do incidente a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Mensagem do Notify [notify_message]. Vincula o registro de incidente que causou a geração da mensagem SMS a essa mensagem SMS. Padrão: Nenhum. Se este parâmetro não for passado, essas informações não serão rastreadas. |
| ToNumber | Cadeia de caracteres | Número de telefone do dispositivo para receber a mensagem SMS. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir ilustra como enviar uma mensagem SMS para um número de telefone especificado e carimbar o registro de incidente associado com as informações da mensagem.
var fromNumber = getFromNumber();
var toNumber = '+123456789';
var message = 'This is an example SMS';
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
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 '';
}
NotifySMS - sendToNumbers(cadeia de caracteres fromNumber, matriz ToNumber, mensagem de cadeia de caracteres, Object sourceRecord)
Envia uma mensagem SMS (Short Message Service, serviço de mensagens curtas) de um número de telefone do Notify especificado para uma lista de números de telefone.
Opcionalmente, você pode associar o registro de incidente que causou a geração da mensagem SMS à mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| DeNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| mensagem | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. GlideRecord do incidente a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Mensagem do Notify [notify_message]. Vincula o registro de incidente que causou a geração da mensagem SMS a essa mensagem SMS. Padrão: Nenhum. Se este parâmetro não for passado, essas informações não serão rastreadas. |
| ToNumber | Matriz | Lista de números de telefone para receber a mensagem SMS. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir ilustra como enviar uma mensagem SMS para vários números de telefone e armazenar as informações no registro de incidente associado.
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.sendToNumbers(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 '';
}
NotifySMS - sendToUser(cadeia de caracteres fromNumber, objeto para Gr, mensagem de cadeia de caracteres, objeto sourceRecord)
Envia uma mensagem SMS (Short Message Service) de um número de telefone especificado para o usuário identificado em um GlideRecord especificado.
Este método extrai o número de telefone do GlideRecord especificado. Opcionalmente, você pode associar o registro de incidente que causou a geração da mensagem SMS à mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| DeNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| mensagem | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. GlideRecord do incidente a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Mensagem do Notify [notify_message]. Vincula o registro de incidente que causou a geração da mensagem SMS a essa mensagem SMS. Padrão: Nenhum. Se este parâmetro não for passado, essas informações não serão rastreadas. |
| Para Gr | GlideRecord - Global | GlideRecord de um tipo de registro que contém um campo que resolve para o número de telefone de um usuário. O tipo de registro deve estar correlacionado com o tipo de registro usado pelo resolvedor de número de telefone que está implementado no momento. Um resolvedor de número de telefone é simplesmente um método que obtém o número de telefone do usuário de um tipo específico de GlideRecord, como um registro de usuário ou um registro de caso. Ao usar o resolvedor padrão, os registros correspondem à tabela Usuário [sys_user]. Para mudar o tipo de registro que o resolvedor usa para obter o número de telefone, use NotifySMS - setRecordToNumberResolver(Object scriptIncludeInstance, cadeia de caracteres methodName) método. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir ilustra como enviar uma mensagem SMS para um usuário identificado no registro de incidente associado e carimbar o registro de incidente associado com as informações da mensagem.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var toGr = sourceRecord.assigned_to.getRefRecord();
var message = 'An Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to you';
if (fromNumber && toGr.isValidRecord()) {
var notifySMS = new NotifySMS();
notifySMS.sendToUser(fromNumber, toGr, 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 '';
}
NotifySMS - sendToUsers(cadeia de caracteres fromNumber, objeto para Gr, mensagem de cadeia de caracteres, objeto sourceRecord)
Envia uma mensagem SMS (Short Message Service, serviço de mensagens curtas) de um número de telefone do Notify especificado para usuários encontrados em um GlideRecord especificado.
Este método extrai os números de telefone de destino do GlideRecord aprovado. Opcionalmente, você pode associar o registro de incidente que causou a geração da mensagem SMS à mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| DeNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| mensagem | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. GlideRecord do incidente a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Mensagem do Notify [notify_message]. Vincula o registro de incidente que causou a geração da mensagem SMS a essa mensagem SMS. Padrão: Nenhum. Se este parâmetro não for passado, essas informações não serão rastreadas. |
| Para Gr | GlideRecord - Global | GlideRecord de um tipo de registro que contém um campo que resolve para o número de telefone de um usuário. O tipo de registro deve estar correlacionado com o tipo de registro usado pelo resolvedor de número de telefone que está implementado no momento. Um resolvedor de número de telefone é simplesmente um método que obtém o número de telefone do usuário de um tipo específico de GlideRecord, como um registro de usuário ou um registro de caso. Ao usar o resolvedor padrão, os registros correspondem à tabela Usuário [sys_user]. Para mudar o tipo de registro que o resolvedor usa para obter o número de telefone, use NotifySMS - setRecordToNumberResolver(Object scriptIncludeInstance, cadeia de caracteres methodName) método. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Este exemplo mostra como enviar uma mensagem SMS para usuários em um registro de incidente especificado.
var sourceRecord = new GlideRecord('incident');
sourceRecord.query();
if (sourceRecord.next()) {
var fromNumber = getFromNumber();
var groupId = sourceRecord.assignment_group + '';
var toGr = getRecipientGRs(groupId);
var message = 'An Incident ' + sourceRecord.getDisplayValue() + ' has been assigned to your group';
if (fromNumber && toGr) {
var notifySMS = new NotifySMS();
notifySMS.sendToUsers(fromNumber, toGr, 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 '';
}
function getRecipientGRs(groupId) {
if (!groupId)
return;
var userMemberGr = new GlideRecord('sys_user_grmember');
userMemberGr.addQuery('group', groupId);
userMemberGr.query();
var userIds = [];
while (userMemberGr.next()) {
userIds.push(userMemberGr.user + '');
}
var userGr = new GlideRecord('sys_user');
userGr.addActiveQuery();
userGr.addQuery('sys_id', 'IN', userIds.join(','));
userGr.query();
return userGr;
}
NotifySMS - setRecordToNumberResolver(Object scriptIncludeInstance, cadeia de caracteres methodName)
Define o método em uma inclusão de script a ser usado para obter o número de telefone de destino no GlideRecord que é passado no NotifySMS.sendToUser() e. NotifySMS.sendToUsers() métodos.
Por padrão, o NotifyUtil.getSMSNumberForUser() O método é usado para obter o número de telefone de um GlideRecord baseado no usuário [sys_user]. Use SetRecordToNumberResolver() Se você precisar criar um método personalizado para obter essas informações de um tipo de registro diferente, como um registro de caso.
| Nome | Tipo | Descrição |
|---|---|---|
| NomeMétodo | Cadeia de caracteres | Nome do método a ser usado para obter o número de telefone de destino em um GlideRecord. |
| ScriptIncludeInstance | Objeto | Instância da inclusão de script que contém o método de resolução de número especificado. |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
Este exemplo mostra como definir o resolvedor de número de telefone como ObterSMSNumberForConsumer() Método na inclusão de script csmUtils.
// Script include that contains the logic to retrieve a phone number for a consumer.
var csmUtils = new global.CSMExampleUtils();
// Example Case record used as source for sending SMS
var caseGr = new GlideRecord('sn_customerservice_case');
caseGr.get('3af265b3d1cb5010f877cb055160faxx'); // Case sys_id
var notifySms = new global.NotifySMS();
// Use the getSMSNumberForConsumer method of the csmUtils script include (CSMExampleUtils) to obtain the phone number of the consumer.
notifySms.setRecordToNumberResolver(csmUtils, 'getSMSNumberForConsumer');
// Send an SMS message to a user whose telephone number is in the specified Case GlideRecord.
var smsText = 'This is a test message for ' + caseGr.getValue('number');
notifySms.sendToUser('+1xxxxxxxxxx', caseGr.getValue('consumer'), smsText, caseGr); // First param is the Notify phone number
Este exemplo mostra o código necessário para o método de resolução de telefone ObterSMSNumberForConsumer() .
getSMSNumberForConsumer: function(consumerGrOrId) {
if (!consumerGrOrId)
return;
var consumerId, consumerGr;
if (typeof consumerGrOrId === "string")
consumerId = consumerGrOrId;
if (typeof consumerGrOrId === "object" && consumerGrOrId["isValidRecord"]) {
consumerGr = consumerGrOrId;
consumerId = consumerGr.getUniqueValue();
}
if (!consumerId)
return;
if (!consumerGr) {
consumerGr = new GlideRecord('csm_consumer');
consumerGr.get(consumerId);
}
if (consumerGr.isValidRecord()) {
return consumerGr.getValue('mobile_phone');
}
}