NotifySMS - Global
A API NotifySMS fornece métodos que permitem enviar mensagens SMS (Short Message Service) 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 do número de telefone.
Para usar esta API, 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 |
Este exemplo mostra como criar uma instância de 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) 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. |
| paraNúmero | Matriz | Lista de números de telefone para receber a mensagem SMS. |
| message | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord | Opcional. Incidente GlideRecord a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Notify Message [notify_message]. Isso 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 a seguir mostra como você pode usar este 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, cadeia de caracteres mensagem, objeto sourceRecord)
Envia uma mensagem SMS (Short Message Service) de um número de telefone do Notify especificado para um número de telefone especificado.
Além disso, você pode opcionalmente 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. |
| message | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. Incidente GlideRecord a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Notify Message [notify_message]. Isso 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. |
| paraNúmero | Cadeia de caracteres | Número de telefone do dispositivo para receber a mensagem SMS. |
| Tipo | Descrição |
|---|---|
| Nenhum |
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, objeto sourceRecord)
Envia uma mensagem SMS (Short Message Service) de um número de telefone do Notify especificado para uma lista de números de telefone.
Além disso, você pode opcionalmente associar o registro de incidente que fez com que a mensagem SMS fosse gerada com a mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| deNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| message | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. Incidente GlideRecord a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Notify Message [notify_message]. Isso 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. |
| paraNúmero | Matriz | Lista de números de telefone para receber a mensagem SMS. |
| Tipo | Descrição |
|---|---|
| Nenhum |
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, Object toGr, String message, Object 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. Além disso, você pode opcionalmente associar o registro de incidente que fez com que a mensagem SMS fosse gerada com a mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| deNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| message | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. Incidente GlideRecord a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Notify Message [notify_message]. Isso 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. |
| toGr | GlideRecord - Global | GlideRecord de um tipo de registro que contém um campo que é resolvido para o número de telefone de um usuário. O tipo de registro deve estar correlacionado ao tipo de registro usado pelo resolvedor de número de telefone 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 o método NotifySMS - setRecordToNumberResolver(objeto scriptIncludeInstance, cadeia de caracteres "methodName"). |
| Tipo | Descrição |
|---|---|
| Nenhum |
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, Object toGr, String message, Object sourceRecord)
Envia uma mensagem SMS (Short Message Service) 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 passado. Além disso, você pode opcionalmente associar o registro de incidente que fez com que a mensagem SMS fosse gerada com a mensagem SMS.
| Nome | Tipo | Descrição |
|---|---|---|
| deNúmero | Cadeia de caracteres | Número de telefone do Notify que envia a mensagem SMS. |
| message | Cadeia de caracteres | Mensagem a ser enviada. |
| sourceRecord | GlideRecord - Global | Opcional. Incidente GlideRecord a ser armazenado no campo Origem do registro de mensagem SMS associado na tabela Notify Message [notify_message]. Isso 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. |
| toGr | GlideRecord - Global | GlideRecord de um tipo de registro que contém um campo que é resolvido para o número de telefone de um usuário. O tipo de registro deve estar correlacionado ao tipo de registro usado pelo resolvedor de número de telefone 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 o método NotifySMS - setRecordToNumberResolver(objeto scriptIncludeInstance, cadeia de caracteres "methodName"). |
| Tipo | Descrição |
|---|---|
| Nenhum |
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(objeto 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 nos métodos NotifySMS.sendToUser() e NotifySMS.sendToUsers().
Por padrão, o método NotifyUtil.getSMSNumberForUser() é usado para obter o número de telefone de um GlideRecord baseado em usuário [sys_user]. Use o método setRecordToNumberResolver() se 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 |
|---|---|---|
| nomeDomé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 |
Este exemplo mostra como definir o resolvedor de número de telefone para o método getMSNumberForConsumer() 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 getMSNumberForConsumer().
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');
}
}