NotifyUtil – Global
Die NotifyUtil- API stellt Dienstprogrammmethoden bereit, die bei der Interaktion mit Notify-Anrufen und SMS-Nachrichten mithilfe von serverseitigen Skripts verwendet werden können.
Um diese API zu verwenden, müssen Sie das Notify-Plugin (com.snc.notify) aktivieren.
Mit der NotifyUtil- API können Sie:
- Ruft alle Notify-Telefonnummern und zugehörigen Notify-Informationen aus einem angegebenen Quelldatensatz ab.
- Ruft eine Liste eindeutiger Notify-Telefonnummern ab.
- Bestimmen Sie, ob für den angegebenen Quelldatensatz aktive Telefonkonferenzen vorhanden sind.
- Rufen Sie die SMS-fähige Nummer ab, die dem angegebenen Notify-Benutzer zugeordnet ist.
- Validiert eine angegebene Notify-Telefonnummer.
NotifyUtil – NotifyUtil()
Instantiiert 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, String sourceSysId, String notifyGroupSelectorSysId, Boolean filterSMSCapableNums)
Gibt alle Notify-Telefonnummern und zugehörigen 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-Provider-Auswahl-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 kann beispielsweise die sys_id eines Datensatzes in der Incident-Tabelle [incident] sein. |
| sourceTable | Zeichenfolge | Name der Tabelle, die den Quelldatensatz enthält, der die gewünschten Notify-Nummern und -Informationen enthält. |
| Typ | Beschreibung |
|---|---|
| confProvider | Liste der verfügbaren Konferenzanbieter. Datentyp: Array |
| Nummern | Liste von Objekten, die jeweils eine einzelne Notify-Nummer beschreiben. Datentyp: Array |
| zahlen.defaultKennzeichnung | Kennzeichnung, die angibt, ob die zugeordnete Notify-Nummer die Standardnummer ist. Mögliche Werte:
Datentyp: Boolesch |
| Nummern.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 |
| Nummern.sysId | Sys_id der Notify-Nummer. Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie die Notify-Telefonnummern und zugehörigen Notify-Informationen aus einem angegebenen Quelldatensatz abgerufen werden.
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-Benutzer zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| userGROrId | Zeichenfolge oder GlideRecord – Global | Sys_id des Benutzerdatensatzes in der Benutzertabelle [sys_user] oder sys_user GlideRecord 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 Benutzer nicht gefunden wurde. |
Dieses Beispiel zeigt, wie Sie mithilfe des zugeordneten GlideRecord eine SMS-fähige Telefonnummer erhalten.
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, String-Typ, Boolean getData)
Gibt eine Liste eindeutiger Notify-Telefonnummern zurück.
Wenn Sie im Anruf keine Parameter übergeben, werden alle Notify-Nummern in der Tabelle „Notify-Telefonnummer“ [notify_number] auf Duplikate überprüft, wobei jede verfügbare Telefonnummer nur einmal in der zurückgegebenen Liste angezeigt wird. Sie können die Rückgabeergebnisse 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 jeder Nummer zugeordneten Metadaten zusammen mit dem eindeutigen zurückgegeben werden Zahlen. Wenn Sie keinen Parameter verwenden möchten, übergeben Sie einfach NULL als Platzhalter. Beispiel: return nUtil.getUniquePhoneNumbersForUsersAndGroups(null, userIds, null, 'sms', false);.
| Name | Typ | Beschreibung |
|---|---|---|
| getDaten | 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 Gruppentabelle [sys_user_group]. Standard: Alle Gruppen überprüfen. |
| 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 überprüfen |
| users | Array | Optional. Liste der sys_ids bestimmter Benutzer, die überprüft werden sollen. Befindet sich in der Benutzertabelle [sys_user]. Standard: Alle Benutzer aktivieren |
| Name | Beschreibung |
|---|---|
| Nummern | Eindeutige Notify-Telefonnummern. Datentyp: Array |
| Ergebnis | Wird nur zurückgegeben, wenn getData auf „true“ festgelegt ist. Metadaten, die jeder eindeutigen Nummer zugeordnet sind. Datentyp: Objekt |
| result.number | 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 Benutzer. Datentyp: Zeichenfolge |
| result.valid | Kennzeichnung, die angibt, ob die Notify-Telefonnummer ein gültiges E.164-Format aufweist. Mögliche Werte:
Datentyp: Boolesch |
Dieses Beispiel zeigt, wie Sie einen bestimmten Satz eindeutiger Notify-Telefonnummern anfordern, die über SMS-Funktionen verfügen.
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, um nach aktiven Telefonkonferenzen zu suchen. 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 Informationsmeldung angezeigt, wenn aktive Telefonkonferenzen mit einem Incident-Datensatz verknüpft 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 – validateOutboundNotifyPhoneNumber(String number)
Validiert eine angegebene Notify-Telefonnummer.
- Gibt an, ob die Notify-Nummer in der Tabelle „Notify-Telefonnummer“ [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 | Notify-Nummer zur Validierung. |
| Typ | Beschreibung |
|---|---|
| Keine |
Dieses Beispiel zeigt, 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 – validatePhoneNumber(String number)
Ü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:
|
Dieses Beispiel zeigt, 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 '';
}