NotifyUtil – Global
Die NotifyUtil -Skripteinbindung bietet Dienstprogrammmethoden für die Interaktion mit Notify-Anrufen und SMS-Nachrichten, die serverseitige Skripts verwenden.
Zur Verwendung dieser Skripteinbindung müssen Sie das Notify-Plugin (com.snc.notify) aktivieren.
Mit der NotifyUtil-Skripteinbindung haben Sie folgende Möglichkeiten:
- Rufen Sie alle Notify-Telefonnummern und zugehörigen Notify-Informationen aus einem angegebenen Quelldatensatz ab.
- Ruft eine Liste eindeutiger Notify-Telefonnummern ab.
- Ermittelt, ob für den angegebenen Quelldatensatz aktive Telefonkonferenzen vorhanden sind.
- Ruft die SMS-fähige Nummer ab, die dem angegebenen Notify-Anwender zugeordnet ist.
- Validiert eine angegebene Notify-Telefonnummer.
NotifyUtil: NotifyUtil()
Instanziiert ein NotifyUtil-Klassenobjekt.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
In diesem Beispiel wird ein NotifyUtil-Objekt instanziiert.
var notifyUtil = new NotifyUtil();
notifyUtil.getTelephonyProviers();
NotifyUtil - getListOfNotifyNumbersAndProviders(String sourceTable, Zeichenfolge sourceSysId, Zeichenfolge notifyGroupSelectorSysId, Boolescher FilterSMSCapableNums)
Gibt alle Notify-Telefonnummern und zugehörige Notify-Informationen aus einem angegebenen Quelldatensatz zurück, z. B. einem Incident.
Sie können diese Informationen verwenden, um einen Anruf zu initiieren oder eine SMS-Nachricht zu einem bestimmten Quelldatensatz zu senden. Die zurückgegebenen Informationen basieren auf der Konfiguration des Notify-Anbieterauswahl-Frameworks. Weitere Informationen finden Sie unter Notify
| Name | Typ | Beschreibung |
|---|---|---|
| filterSMSCapableNums | Boolean | Optional. Kennzeichnung, die angibt, ob nur SMS-fähige Nummern zurückgegeben werden sollen. Gültige Werte:
Standardwert: false |
| notifyGroupSelectorSysId | Zeichenfolge | Optional. Sys_id einer Notify-Gruppe, für die die Notify-Nummern und -Informationen zurückgegeben werden sollen. Standard: Alle Gruppen |
| sourceSysId | Zeichenfolge | Sys_id des Quelldatensatzes, für den die Notify-Nummern und -Informationen zurückgegeben werden sollen. Dies könnte beispielsweise die sys_id eines Datensatzes in der Incident-Tabelle [incident] sein. |
| sourceTable | Zeichenfolge | Name der Tabelle mit dem Quelldatensatz, der die gewünschten Notify-Nummern und -Informationen enthält. |
| Typ | Beschreibung |
|---|---|
| confProviders | Liste der verfügbaren Konferenzanbieter. Datentyp: Array |
| Nummern | Liste von Objekten, die jeweils eine einzelne Notify-Nummer beschreiben. Datentyp: Array |
| number.defaultFlag | Kennzeichnung, die angibt, ob die zugeordnete Notify-Nummer die Standardnummer ist. Mögliche Werte:
Datentyp: Boolesch |
| numbers.name | Name oder Bezeichnung der Nummer. Datentyp: Zeichenfolge |
| Nummern.Nummer | Notify-Nummer. Datentyp: Zeichenfolge |
| zahlen.shortCode | Kennzeichnung, die angibt, ob die zugeordnete Notify-Nummer eine Kurzwahlnummer ist. Mögliche Werte:
Datentyp: Boolesch |
| zahlen.sysId | Sys_id der Notify-Nummer. Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie Sie die Notify-Telefonnummern und zugehörige Notify-Informationen aus einem angegebenen Quelldatensatz abrufen.
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(String userGrOrId)
Gibt die SMS-fähige Nummer zurück, die dem angegebenen Notify-Anwender zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| userGROrId | Zeichenfolge oder GlideRecord : Global | Sys_id des Benutzerdatensatzes in der Benutzertabelle [sys_user] oder GlideRecord sys_user des Benutzers, für den die SMS-fähige Telefonnummer zurückgegeben werden soll. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SMS-fähige Telefonnummer des Benutzers. Gibt null zurück, wenn der angegebene Anwender nicht gefunden wird. |
In diesem Beispiel wird gezeigt, wie Sie mit dem zugehörigen GlideRecord eine SMS-fähige Telefonnummer abrufen.
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(Array-Nummern, Array-Benutzer, Array-Gruppen, Zeichenfolgentyp, boolesches getData)
Gibt eine Liste eindeutiger Notify-Telefonnummern zurück.
Wenn Sie im Anruf keine Parameter übergeben, werden alle Notify-Nummern in der Notify-Telefonnummerntabelle [notify_number] auf Duplikate überprüft, wobei jede verfügbare Telefonnummer nur einmal in der zurückgegebenen Liste angezeigt wird. Sie können die zurückgegebenen Ergebnisse verfeinern, indem Sie eine Liste der zu überprüfenden Benutzer oder Gruppen oder eine Reihe von Nummern oder Nummerntypen (SMS oder Sprache) angeben. Sie können auch anfordern, dass die Metadaten, die jeder Nummer zugeordnet sind, zusammen mit dem eindeutigen zurückgegeben werden Zahlen. Wenn Sie keinen Parameter verwenden möchten, übergeben Sie einfach null als Platzhalter. Beispiel: zurückgegeben nUtil.getUniquePhoneNumbersForUsersAndGroups(null, userIds, null, 'sms', false);.
| Name | Typ | Beschreibung |
|---|---|---|
| getData | Boolean | Optional. Kennzeichnung, die angibt, ob Metadaten zusammen mit der Liste der eindeutigen Telefonnummern zurückgegeben werden sollen. Gültige Werte:
Standardwert: false |
| groups | Array | Optional. Liste der zu überprüfenden sys_id-Gruppen. Befindet sich in der Tabelle „Gruppe“ [sys_user_group]. Standard: Alle Gruppen aktivieren. |
| Nummern | Array | Optional. Liste der spezifischen Notify-Telefonnummern, die überprüft werden sollen. Standard: Alle Telefonnummern überprüfen. |
| type | Zeichenfolge | Optional. Typ der zu überprüfenden Telefonnummern. Gültige Werte (Groß-/Kleinschreibung beachten):
Standard: Alle Telefonnummerntypen aktivieren |
| users | Array | Optional. Liste der sys_ids bestimmter Anwender, die überprüft werden sollen. Befindet sich in der Tabelle „Benutzer“ [sys_user]. Standard: Alle Anwender aktivieren |
| Name | Beschreibung |
|---|---|
| Nummern | Eindeutige Notify-Telefonnummern. Datentyp: Array |
| Ergebnis | Wird nur zurückgegeben, wenn getData auf „wahr“ festgelegt ist. Metadaten, die jeder eindeutigen Nummer zugeordnet sind. Datentyp: Objekt |
| Ergebnis.Nummer | Eindeutige Notify-Telefonnummer. Datentyp: Zeichenfolge |
| result.sysId | Sys_id des Datensatzes, der die Notify-Telefonnummer enthält. Befindet sich in der Tabelle „Notify-Telefonnummer“ [notify_number]. Datentyp: Zeichenfolge |
| result.type | Enthält immer „u“ für Anwender. Datentyp: Zeichenfolge |
| Ergebnis.gültig | Kennzeichnung, die angibt, ob die Notify-Telefonnummer ein gültiges E.164-Format aufweist. Mögliche Werte:
Datentyp: Boolesch |
In diesem Beispiel wird gezeigt, wie Sie einen bestimmten Satz eindeutiger Notify-Telefonnummern mit SMS-Funktionen anfordern.
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(String sourceRecSysId)
Bestimmt, ob für den angegebenen Quelldatensatz aktive Telefonkonferenzen vorhanden sind.
| Name | Typ | Beschreibung |
|---|---|---|
| sourceRecSysId | Zeichenfolge | Sys_id des Datensatzes zur Überprüfung auf aktive Telefonkonferenzen. Zum Beispiel die sys_id eines Datensatzes in der Incident-Tabelle. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob dem angegebenen Datensatz aktive Telefonkonferenzen zugeordnet sind. Mögliche Werte:
|
In diesem Beispiel wird eine Informationsnachricht angezeigt, wenn einem Incident-Datensatz aktive Telefonkonferenzen zugeordnet sind.
(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 – validOutboundNotifyPhoneNumber(Zeichenfolgennummer)
Validiert eine angegebene Notify-Telefonnummer.
- Gibt an, ob die Notify-Nummer in der Notify-Telefonnummertabelle [notify_number] vorhanden ist.
- Gibt an, ob der Notify-Nummer eine Notify-Gruppe zugeordnet ist.
- Gibt an, ob die Notify-Nummer aktiv ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Zeichenfolge | Zu validierende Notify-Nummer. |
| Typ | Beschreibung |
|---|---|
| Keine |
In diesem Beispiel wird veranschaulicht, wie eine Notify-Nummer validiert wird.
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 – validPhoneNumber (Zeichenfolgennummer)
Überprüft, ob die angegebene Nummer eine gültige E.164-Telefonnummer ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Nummer | Zeichenfolge | Zu validierende Telefonnummer. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob die angegebene Nummer eine gültige Telefonnummer ist. Mögliche Werte:
|
In diesem Beispiel wird veranschaulicht, wie eine Telefonnummer validiert wird.
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 '';
}