NotifyScoped : Bereichsbezogen
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.
| 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. |
| 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.
| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| callRecord | GlideRecord | GlideRecord-Objekt in der Tabelle „Benachrichtigungsanruf“ [notify_call] mit dem gehaltenen Anruf, den Sie fortsetzen möchten. |
| 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.
| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| notifyNumber | Zeichenfolge | Gültige Notify-Telefonnummer. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Datensatz | GlideRecord | GlideRecord, mit dem der Notify-Client identifiziert wird, z. B. ein Gruppendatensatz oder ein Benutzerdatensatz. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| Eigentümer | Zeichenfolge | Name des Telefonietreibers, für den die Sitzungsdauer abgerufen werden soll. Gültige Werte:
|
| 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.
| 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. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob das angegebene Telefon über die angegebene Fähigkeit verfügt.
|
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.
| 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. |
| 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.
| 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. |
| Typ | Beschreibung |
|---|---|
| void |
NotifyScoped – mute(GlideRecord participantRecord)
Schaltet den angegebenen Konferenzschaltungs-Teilnehmer stumm.
| Name | Typ | Beschreibung |
|---|---|---|
| teilnehmerdatensatz | GlideRecord | GlideRecord aus der notify_participant-Tabelle für den stummzuschaltenden Teilnehmer. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| callRecord | GlideRecord | Auf „Halten“ zu stellendes GlideRecord-Objekt des Notify-Anrufdatensatzes (Tabelle „notify_call“). |
| 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).
| 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. |
| 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.
| 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. |
| 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.
| Name | Typ | Beschreibung |
|---|---|---|
| teilnehmerdatensatz | GlideRecord | GlideRecord aus der notify_participant-Tabelle für den Teilnehmer, für den die Stummschaltung aufzuheben ist. |
| 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);
}