NotifyScoped : Bereichsbezogen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 9 Minuten Lesedauer
  • Mit der NotifyScoped-API können Sie mithilfe von Skripts mit Notify-Anrufen und -SMS-Nachrichten interagieren.

    Führen Sie die NotifyScoped- Klasse und die zugehörigen Methoden aus dem Namespace sn_notify aus.

    NotifyScoped – call(String notifyPhoneNumber, String toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, String userSysId, String groupSysId, GlideRecord sourceRecord)

    Ruft die angegebene E.164-konforme Telefonnummer an.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    notifyPhoneNumber Zeichenfolge Die Notify-Telefonnummer, von der aus Sie den Anruf tätigen können. Wenn Sie einen Anruf einleiten, wird der Workflow für ausgehende Anrufe für die dieser Rufnummer zugeordneten Nummerngruppe ausgeführt. Stellen Sie sicher, dass dieser Workflow eine An Konferenzgespräch teilnehmen-Aktivität enthält, um den Benutzer mit dem Konferenzanruf zu verbinden.
    toPhoneNumber Zeichenfolge Anzurufende Telefonnummer. Angerufene Nummern werden der Telefonkonferenz hinzugefügt.
    Konferenzanruf GlideRecord Optional. Wenn dieser Parameter übergeben wird, werden die im Parameter toPhoneNumber identifizierten Anrufer automatisch in die von diesem Datensatz identifizierte Telefonkonferenz aufgenommen.

    GlideRecord für die Tabelle „Benachrichtigungsanruf“ [notify_call], die den Konferenzschaltungsdatensatz identifiziert. Dieser Datensatz wird automatisch zum Workflow-Notizblock für ausgehende Anrufe als Variable „workflow.scratchpad.conference_call“ hinzugefügt.

    userSysId Zeichenfolge Optional. Eindeutiger Identifier (sys_id) des mit dem Anruf verbundenen Benutzers.
    groupSysId Zeichenfolge Optional. Eindeutiger Identifier (sys_id) der mit dem Anruf verbundenen Gruppe.
    sourceRecord GlideRecord Optional. Quelldatensatz, der diesen Aufruf ausgelöst hat.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einen Anruf an eine andere Telefonnummer einleiten.

    var from = '+14048007337';
    var to = '+31646810495';
    
    // set up call
    new sn_notify.NotifyScoped().call(from, to);

    Dieses Beispiel zeigt, wie Sie einen Anruf an eine Liste von Telefonnummern einleiten und diese Nummern automatisch zu einer neuen Konferenzschaltung zusammenfügen.

    var notify = new sn_notify.NotifyScoped();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    NotifyScoped – conferenceCall(GlideRecord sourceRecord)

    Erstellt einen neuen Konferenzschaltungs-GlideRecord.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    sourceRecord GlideRecord Optional. Datensatz, der die Anforderung zum Erstellen der Konferenzschaltung eingeleitet hat. Wird verwendet, um die Quell- und Tabellenfelder des notify_conference_call-Datensatzes aufzufüllen.
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    GlideRecord Neuer Notify-Konferenzschaltungs-Datensatz [notify_conference_call].
    var notify = new sn_notify.NotifyScoped();
    var from = '+14041234567';
    var participants = ['+31612345678', '+31623456789', '+31687654321'];
    
    // set up a conference call
    var conferenceCall = notify.conferenceCall();
    
    // set up the outbound calls for all conference call participants
    for (var i in participants) {
        var to = participants[i];
        notify.call(from, to, conferenceCall);
    }

    NotifyScoped – dequeueCall(GlideRecord callRecord)

    Nimmt einen Anruf wieder auf, nachdem dieser in eine Warteschlange (halten) gestellt wurde.

    Verwenden Sie diese Methode, um Anrufe wieder aufzunehmen, die mit der queueCall()-Methode in eine Warteschlange gestellt wurden.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    callRecord GlideRecord GlideRecord-Objekt in der Tabelle „Benachrichtigungsanruf“ [notify_call] mit dem gehaltenen Anruf, den Sie fortsetzen möchten.
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie Sie einen gehaltenen Anruf erneut aktivieren.

    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        sn_notify.NotifyScoped.dequeueCall(notifyCallGr);
    }

    NotifyScoped – forwardCall(GlideRecord call, String destination, String dtmf)

    Leitet den angegebenen Anruf an einen anderen Anrufempfänger weiter.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Anruf GlideRecord oder Zeichenfolge Notify-Anrufdatensatz oder die Anruf-ID des Telefonanbieters des weiterzuleitenden Anrufs.
    destination GlideRecord oder Zeichenfolge Notify-Telefonnummern-Datensatz oder eine E.164-konforme Telefonnummer des Anrufers, an den der Anruf weitergeleitet werden soll.
    dtmf Zeichenfolge Dual Tone-Multi Frequency (DTMF) Code, der bei Anrufverbindung gesendet werden soll.
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie ein Anruf an eine andere Telefonnummer weitergeleitet wird.

    var callID = 'CA92374b5aa561dab476a7001db6026edc'; // Twilio Call ID
    var phoneNumber = '+91406xxxxxxx';
    var dtmfTones = null;
     
    var notifyCallGr = new GlideRecord('notify_call');
    notifyCallGr.get('active participant sys id');
     
    if (notifyCallGr.isValid) {
        sn_notify.NotifyScoped.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
    }

    NotifyScoped – getAvailableClients(String notifyNumber)

    Gibt eine Liste von Clientsitzungen zurück, die zum Empfang von Anrufen verfügbar sind.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    notifyNumber Zeichenfolge Gültige Notify-Telefonnummer.
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Array GlideRecord aus der notify_client_session-Tabelle für die angegebene Telefonnummer.

    Gibt „0“ zurück, wenn es keine verfügbaren Client-Sitzungen gibt.

    Das folgende Beispiel zeigt, wie Sie mit der Methode getAvailableClients() eine Indizierung in der Tabelle „notify_client_session“ vornehmen und dann über alle verfügbaren Notify-Clients iterieren.

    var clientSessionGr = sn_notify.NotifyScoped.getAvailableClients('+185xxxxxxxx'); 
    // Here clientSessionGr is of type GlideRecord on 'notify_client_session' table.
     
    var isLoggedInUserAvailable = false;
    while (clientSessionGr.next()) {
      if (clientSessionGr.user == gs.getUserID())
        isLoggedInUserAvailable = clientSessionGr.available;
    }
    gs.info('isLoggedInUserAvailable - ' + isLoggedInUserAvailable);

    NotifyScoped – getPhoneNumbers()

    Gibt alle für Notify verfügbaren Telefonnummern und Kurzwahlnummern zurück.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Array Liste von NotifyPhoneNumber-Objekten, wobei jedes Objekt eine für Notify verfügbare Telefonnummer darstellt.

    Dieses Beispiel zeigt, wie Sie die Notify-Telefonnummern abrufen und anschließend über die Liste iterieren können.

    // Instantiate notify
    var notify = new sn_notify.NotifyScoped();
    
    // Retrieve all available phone numbers
    var phoneNumbers = notify.getPhoneNumbers();
    
    // Iterate over phone numbers
    for (var i = 0; i < phoneNumbers.length; i++) {
      var number = phoneNumbers[i];
    
      // Perform any actions using each phone number
    
    }

    NotifyScoped – getShortCodes()

    Gibt alle für Notify verfügbaren Kurzwahlnummern aus.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie die Notify-Kurzwahlnummern abrufen und anschließend über die Liste iterieren können.

    // Instantiate notify
    var notify = new sn_notify.NotifyScoped();
    
    // Retrieve all available shortcodes
    var shortCodes = notify.getShortCodes();
    
    // Iterate over phone numbers
    for (var i = 0; i < shortCodes.length; i++) {
      var shortCode = shortCodes[i];
      gs.log(shortCode.getNumber());
    
    //perform any actions using each shortcode
    
    }

    NotifyScoped – getTokens(GlideRecord, record)

    Gibt Client-Token für aktive Telefontreiber zur Verwendung in WebRTC- oder mobilen Clients zurück.

    Diese Methode verwendet den aktuell angemeldeten Benutzerdatensatz als Client.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Datensatz GlideRecord GlideRecord, mit dem der Notify-Client identifiziert wird, z. B. ein Gruppendatensatz oder ein Benutzerdatensatz.
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Web-RTC-Token für die unterstützten Treiber als JSON-Zeichenfolge im folgenden Format: {driverName1: "token1",driverName2: "token2"}, z. B. „TwilioDirect":"keyJhxxxx.keyJleHAiOiIxxxx.7fejxxx_mbLxxx“

    Dieses Beispiel zeigt, wie Sie die Client-Token für den aktuelle eingeloggten Benutzer erhalten.

    // get Notify client Tokens per active Notify driver for the currently logged in user
    var json = new sn_notify.NotifyScoped().getTokens();
     
    // Parse the JSON that was return into a tokens object
    var tokens = JSON.parse(json);
    
    // Log line
    gs.log('Notify client tokens for the currently logged in user');
    
     // iterate over the driver tokens
    for (var driver in tokens) {
     	gs.log(driver + ' Driver token: ' + tokens[driver]);
    }

    Dieses Beispiel zeigt, wie Sie die Client-Token für jede Notify-Gruppe erhalten.

    // instantiate Notify
    var notify = new sn_notify.NotifyScoped.Notify();
     
    // get all Notify Groups
    var notifyGroup = new GlideRecord("notify_group");
    notifyGroup.query();
     
    // iterate over all notify groups
    while (notifyGroup.next()) {
      // generate Notify Client tokens per active Notify Driver for this group
      var json = notify.getTokens(notifyGroup);
      var tokens = JSON.parse(json);
     
      for (var driver in tokens) {
        gs.log(gs.getMessage("Notify Client token for {0} driver and Notify Group '{1}': {2}", [driver, notifyGroup.getValue('name'), tokens[driver]]));
      }
    }

    Dieses Beispiel zeigt, wie Sie die Client-Token für die aktiven Telefontreiber erhalten.

    var notify = new sn_notify.NotifyScoped();
    var now_GR = new GlideRecord('sys_user');
    if (now_GR.get(gs.getUserID())) {
      gs.info(notify.getTokens(now_GR));
    }

    Ausgabe:

    {"TwilioDirect":"eyJhxxxx.eyJleHAiOiIxxxx.7fejxxx_mbLxxx"}

    NotifyScoped – getTokenTTL(String owner)

    Gibt die maximale Zeit zurück, die eine Clientsitzung für einen angegebenen Telefonietreiber aktiv bleibt, bevor das Zeitlimit automatisch überschritten wird.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Eigentümer Zeichenfolge Name des Telefonietreibers, für den die Sitzungsdauer abgerufen werden soll.

    Gültige Werte:

    • Twilio: für den alten Treiber
    • TwilioDirect: für den neuen Treiber
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    Ganzzahl Maximale Dauer der Sitzung (in Sekunden).

    Standard: 1800 Sekunden

    Das folgende Beispiel zeigt, wie diese Methode und die zugehörige Antwort ordnungsgemäß aufgerufen werden. Es zeigt auch, was zurückgegeben wird, wenn ein ungültiger Treiber übergeben wird.

    var owner = "TwilioDirect";  // Valid driver
    var ttl = SNC.Notify.getTokenTTL(owner);
    gs.info("Token TTL for " + owner + " --> " + ttl);
     
    owner = "Abcxyz";  // Invalid driver
    ttl = SNC.Notify.getTokenTTL(owner);
    // For an invalid driver, we throw NoSuchNotifyDriverException saying that Abcxyzdriver is not available
    // and return the default value of TTL
    gs.info("Token TTL for " + owner + " --> " + ttl); 

    NotifyScoped – hasCapability(String notifyPhoneNumber, String capability)

    Bestimmt, ob die angegebene Telefonnummer über die angegebene Fähigkeit verfügt.

    Der zur Telefonnummer zugehörige Telefontreiber enthält eine Liste aller Fähigkeiten des Telefons.

    Hinweis:
    Im Basissystem verfügt der Notify-JS-Treiber nur über die Fähigkeit „show_speakers“; dies kann geändert werden.
    Tabelle : 19. Parameter
    Name Typ Beschreibung
    notifyPhoneNumber Zeichenfolge Telefonnummer, für die nach der angegebenen Fähigkeit gesucht werden soll.
    Fähigkeit Zeichenfolge Zu erkennende Fähigkeit. Der Text der Zeichenfolge muss genau mit dem im Telefon übereinstimmen.
    Tabelle : 20. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob das angegebene Telefon über die angegebene Fähigkeit verfügt.
    • true: Das Telefon verfügt über die Fähigkeit
    • false: Das Telefon verfügt nicht über die Fähigkeit

    Dieses Beispiel zeigt, wie Sie prüfen können, ob ein Telefon über eine bestimmte Fähigkeit verfügt.

    // Each driver has a defined set of capabilities.
    
    var capability = 'show_speakers';
    gs.info(sn_notify.NotifyScoped.hasCapability('+185xxxxxxxx', capability)); // true
     
    capability = 'send_sms';
    gs.info(sn_notify.NotifyScoped.hasCapability('+185xxxxxxxx', capability)); // false

    NotifyScoped – kick(GlideRecord participant)

    Entfernt den angegebenen Anrufer aus der aktuellen Notify-Konferenzschaltung.

    Tabelle : 21. Parameter
    Name Typ Beschreibung
    Teilnehmer GlideRecord GlideRecord-Objekt, das den Notify-Teilnehmer-Datensatz [notify_participant] des Anrufers enthält, der aus der Konferenzschaltung entfernt werden soll.
    Tabelle : 22. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie einen Teilnehmer aus einem Anruf entfernen.

    var participant = new GlideRecord('notify_participant');
    participant.get('<sys_id>');
    if (participant.isValid()) {
        new sn_notify.NotifyScoped().kick(participant);
    }

    NotifyScoped – modifyCall(GlideRecord callRecord, NotifyAction notifyAction)

    Führt eine oder mehrere Aktivitäten bei einem aktiven Notify-Anruf durch.

    Verwenden Sie diese Methode, um das Verhalten eines Anrufs zu ändern. Zum Beispiel einen Anruf weiterleiten, Audio abspielen oder ein Auflegen erzwingen.
    Hinweis:
    Die bereichsbezogene Implementierung dieser Methode unterstützt nur benutzerdefinierte Notify-Aktivitäten. Im Gegensatz zur globalen Implementierung bietet sie keine NotifyAction-API. Einzelheiten zum Erstellen einer anwenderdefinierten Notify-Aktivität finden Sie unter Notify-Workflow-Aktivitäten.
    Tabelle : 23. Parameter
    Name Typ Beschreibung
    callRecord GlideRecord Notify-Anrufdatensatz [notify_call] des Anrufs, für den die Aktionen angewendet werden sollen.
    NotifyAction NotifyAction NotifyAction-Objekt, das eine oder mehrere Aktivitäten beschreibt, die für den Anruf ausgeführt werden sollen.
    Tabelle : 24. Ergebnisse
    Typ Beschreibung
    void

    NotifyScoped – mute(GlideRecord participantRecord)

    Schaltet den angegebenen Konferenzschaltungs-Teilnehmer stumm.

    Tabelle : 25. Parameter
    Name Typ Beschreibung
    teilnehmerdatensatz GlideRecord GlideRecord aus der notify_participant-Tabelle für den stummzuschaltenden Teilnehmer.
    Tabelle : 26. Ergebnisse
    Typ Beschreibung
    void

    Das folgende Beispiel zeigt, wie ein Anrufer stummgeschaltet wird.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        sn_notify.NotifyScoped.mute(notifyParticipantGr);
    }

    NotifyScoped – queueCall(GlideRecord callRecord)

    Fügt den angegebenen Anruf zu einer Warteschlange (halten) hinzu.

    Wiederaufnehmen eines Anrufs in der Warteschlange mit der dequeueCall()-Methode.

    Tabelle : 27. Parameter
    Name Typ Beschreibung
    callRecord GlideRecord Auf „Halten“ zu stellendes GlideRecord-Objekt des Notify-Anrufdatensatzes (Tabelle „notify_call“).
    Tabelle : 28. Ergebnisse
    Typ Beschreibung
    void
    var call = new GlideRecord('notify_call');
    call.get('<call record sys_id>');
    if (call.isValid()) {
        new sn_notify.NotifyScoped().queueCall(call);
    }

    NotifyScoped – sendBulkSMS(NotifyPhoneNumber notifyPhoneNumber, String toPhoneNumbers, String messageBody, GlideRecord source)

    Sendet eine angegebene SMS-Nachricht an die angegebene Liste von Notify-Clients (Telefonnummern).

    Tabelle : 29. Parameter
    Name Typ Beschreibung
    notifyPhoneNumber NotifyPhoneNumber Telefonnummer, von der die SMS-Nachricht gesendet wird.
    toPhoneNumbers Zeichenfolge Kommagetrennte Liste mit Telefonnummern, an die die SMS-Nachricht gesendet werden soll.

    Format: E.164-konform

    messageBody Zeichenfolge Zu sendender SMS-Text.
    Quelle GlideRecord Quelldatensatz, der diese SMS-Nachricht ausgelöst hat, beispielsweise ein Incident.
    Tabelle : 30. Ergebnisse
    Typ Beschreibung
    Zeichenfolge NULL

    Dieses Beispiel zeigt, wie Sie eine SMS-Nachricht an mehrere Telefonnummern senden können (Massen-SMS).

    var incidentGr = new GlideRecord('incident');
    incidentGr.get('active incident sys_id');
    if (incidentGr.isValid()) {
        sn_notify.NotifyScoped.sendBulkSMS('+15413970605', ['+919885XXXXXX', '+919775XXXXXX'], 'Test automation message', incidentGr);
    }

    NotifyScoped – sendSMS(NotifyPhoneNumber notifyPhoneNumber, String toPhoneNumber, String messageBody, GlideRecord source)

    Sendet eine SMS an eine E.164-konforme Telefonnummer.

    Diese Methode erstellt einen neuen Datensatz in der Tabelle „Notify Message“ [notify_message] und ordnet diesen dem Quelldatensatz zu.

    Tabelle : 31. Parameter
    Name Typ Beschreibung
    notifyPhoneNumber NotifyPhoneNumber Notify-Telefonnummer oder Kurzwahlnummer, an die diese SMS gesendet werden soll.
    toPhoneNumber Zeichenfolge E.164-konforme Telefonnummer, an die die SMS-Nachricht gesendet werden soll.
    messageBody Zeichenfolge SMS-Textnachricht.
    Quelle GlideRecord Quelldatensatz, der diese SMS-Nachricht ausgelöst hat, beispielsweise ein Incident.
    Tabelle : 32. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Eindeutige Nachrichten-SID; im Notify-Message-Datensatz [notify_message] als message_id gespeichert.

    Das folgende Beispiel zeigt, wie Sie eine SMS-Nachricht senden.

    var incidentGr = new GlideRecord('incident');
    incidentGr.get('active incident sys_id');
    if (incidentGr.isValid()) {
        sn_notify.NotifyScoped.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
    }

    NotifyScoped – unmute(GlideRecord participantRecord)

    Hebt die Stummschaltung für den angegebenen Konferenzschaltungs-Teilnehmer auf.

    Tabelle : 33. Parameter
    Name Typ Beschreibung
    teilnehmerdatensatz GlideRecord GlideRecord aus der notify_participant-Tabelle für den Teilnehmer, für den die Stummschaltung aufzuheben ist.
    Tabelle : 34. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie die Stummschaltung für einen bestimmten Anrufteilnehmer aufgehoben wird.

    var notifyParticipantGr = new GlideRecord('notify_participant');
    notifyParticipantGr.get('active participant sys id');
     
    if (notifyParticipantGr.isValid) {
        sn_notify.NotifyScoped.unmute(notifyParticipantGr);
    }