Benachrichtigung – Global
Die Benachrichtigung Die Skripteinbindung bietet Dienstprogrammmethoden, die bei der Interaktion mit Notify-Aufrufen und SMS-Nachrichten mithilfe serverseitiger Skripts verwendet werden können.
Zur Verwendung dieser Skripteinbindung müssen Sie das Plugin Notify (com.snc.notify) aktivieren.
Mit Benachrichtigung Skripteinbindung Sie können:
- Rufen Sie alle Notify-Telefonnummern und zugehörigen Notify-Informationen aus einem angegebenen Quelldatensatz ab.
- Rufen Sie 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-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(Zeichenfolge sourceTable, Zeichenfolge sourceSysId, Zeichenfolge notifyGroupSelectorSysId, boolescher 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 für einen bestimmten Quelldatensatz zu senden. Die zurückgegebenen Informationen basieren auf der Konfiguration des Notify Provider Selector-Frameworks. Weitere Informationen finden Sie unter Benachrichtigen
| 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 Tabelle „Incident“ [Incident] sein. |
| sourceTable | Zeichenfolge | Name der Tabelle, die den Quelldatensatz enthält, 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 |
| numbers.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 |
| Nummern.Kurzcode | Kennzeichnung, die angibt, ob die zugehörige Notify-Nummer eine Kurzwahl ist. Mögliche Werte:
Datentyp: Boolesch |
| Nummern.sysId | SYS_ID der Notify-Nummer. Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie Notify-Telefonnummern und zugehörige 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(Zeichenfolge 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 Anwenderdatensatzes, Tabelle: Anwendertabelle [sys_user] oder der sys_user GlideRecord des Anwenders, für den die SMS-fähige Telefonnummer zurückgegeben werden soll. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SMS-fähige Telefonnummer des Anwenders. Gibt null zurück, wenn der angegebene Anwender nicht gefunden wird. |
Dieses Beispiel zeigt, wie Sie eine SMS-fähige Telefonnummer mit dem zugehörigen GlideRecord 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-Anwender, Array-Gruppen, Zeichenfolgentyp, boolescher Wert getData)
Gibt eine Liste eindeutiger Notify-Telefonnummern zurück.
Wenn Sie im Anruf keine Parameter übergeben, werden alle Notify-Nummern in der 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 Anwender oder Gruppen angeben 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 den eindeutigen Nummern zurückgegeben werden. Wenn Sie keinen Parameter verwenden möchten, übergeben Sie einfach Null Als Platzhalter. Beispiel: NUtil.getUniquePhoneNumbersForUsersAndGroups zurückgeben(null, userids, null, 'sms', falsch); .
| 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. Standard: Alle Gruppen aktivieren. Tabelle: Gruppe [sys_user_group] |
| Nummern | Array | Optional. Liste bestimmter Notify-Telefonnummern, die überprüft werden sollen. Standard: Überprüfen Sie alle Telefonnummern. |
| 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 Anwender, die überprüft werden sollen. Standard: Alle Anwender überprüfen Tabelle: Benutzer [sys_user] |
| Name | Beschreibung |
|---|---|
| Nummern | Eindeutige Notify-Telefonnummern. Datentyp: Array |
| Ergebnis | Nur zurückgegeben, wenn getDataIst auf „wahr“ festgelegt. Metadaten, die jeder eindeutigen Nummer zugeordnet sind. Datentyp: Objekt |
| Ergebnis.Nummer | Eindeutige Notify-Telefonnummer. Datentyp: Zeichenfolge |
| Ergebnis.sysId | SYS_ID des Datensatzes, der die Notify-Telefonnummer enthält. Datentyp: Zeichenfolge Tabelle: Notify-Telefonnummer [Notify_number] |
| Ergebnis.Typ | Enthält immer „u“ für Anwender. Datentyp: Zeichenfolge |
| Ergebnis.gültig | Kennzeichnung, die angibt, ob die Notify-Telefonnummer im gültigen E.164-Format vorliegt. Mögliche Werte:
Datentyp: Boolesch |
Dieses Beispiel zeigt, wie Sie einen bestimmten Satz eindeutiger Notify-Telefonnummern anfordern, die SMS-Fähigkeiten haben.
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 aktive Telefonkonferenzen für den angegebenen Quelldatensatz vorhanden sind.
| Name | Typ | Beschreibung |
|---|---|---|
| SourceRecSysId | Zeichenfolge | SYS_ID des Datensatzes, der auf aktive Telefonkonferenzen überprüft werden soll. 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 – validateOutbound NotifyPhoneNumber (Zeichenfolgennummer)
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 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 – validatePhoneNumber(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:
|
Dieses Beispiel 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 '';
}