Benachrichtigung – Global

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 7 Minuten Lesedauer
  • 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.

    Tabelle : 1. Parameter
    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

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    FilterSMSCapableNums Boolean Optional. Kennzeichnung, die angibt, ob nur SMS-fähige Nummern zurückgegeben werden sollen.
    Gültige Werte:
    • Wahr: Nur SMS-fähige Telefonnummern und Informationen zurückgeben.
    • Falsch: Gibt alle Notify-Telefonnummern und -Informationen zurück.

    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.
    Tabelle : 3. Rückgaben
    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": Boolean,
      "name": "String",
      "number": "String",
      "shortCode": Boolean,
      "sysId": "String
    }]
    numbers.defaultFlag Kennzeichnung, die angibt, ob die zugeordnete Notify-Nummer die Standardnummer ist.
    Mögliche Werte:
    • Wahr: Standardnummer
    • Falsch: Nicht die Standardnummer

    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:
    • Wahr: Kurzwahl
    • Falsch: Keine Kurzwahl

    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.

    Tabelle : 4. Parameter
    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.

    Tabelle : 5. Rückgaben
    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); .

    Tabelle : 6. Parameter
    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:
    • Wahr: Metadaten zurückgeben.
    • Falsch: Keine Metadaten zurückgeben.

    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):
    • voice
    • sms

    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]

    Tabelle : 7. Rückgaben
    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
    "result": {
      "number": "String",
      "sysId": "String",
      "type": "String",
      "valid": Boolean
    }
    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:
    • Wahr: Gültiges E.164-Format.
    • Falsch: Nicht im E.164-Format.

    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.

    Tabelle : 8. Parameter
    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.
    Tabelle : 9. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob dem angegebenen Datensatz aktive Telefonkonferenzen zugeordnet sind.
    Mögliche Werte:
    • Wahr: Für den angegebenen Datensatz sind aktive Telefonkonferenzen verfügbar.
    • Falsch: Keine aktiven Telefonkonferenzen.

    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.

    Die Methode führt drei Validierungstypen aus:
    1. Gibt an, ob die Notify-Nummer in der Tabelle Notify-Telefonnummer [Notify_number] vorhanden ist.
    2. Gibt an, ob der Notify-Nummer eine Notify-Gruppe zugeordnet ist.
    3. Gibt an, ob die Notify-Nummer aktiv ist.
    Wenn eine dieser Validierungen fehlschlägt, löst die Methode eine Ausnahme aus.
    Tabelle : 10. Parameter
    Name Typ Beschreibung
    Nummer Zeichenfolge Notify-Nummer zur Validierung.
    Tabelle : 11. Rückgaben
    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.

    Tabelle : 12. Parameter
    Name Typ Beschreibung
    Nummer Zeichenfolge Zu validierende Telefonnummer.
    Tabelle : 13. Rückgaben
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die angegebene Nummer eine gültige Telefonnummer ist.
    Mögliche Werte:
    • Wahr: Gültige E.164-Telefonnummer.
    • Falsch: Ungültige Telefonnummer.

    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 '';
    }