通知 - グローバル
通知 API を使用すると、スクリプトを使用して通知コールおよび SMS メッセージを操作できます。
SNC 名前空間内のグローバル通知クラスとそれに関連するメソッドにアクセスします。
通知 - call(文字列 notifyPhoneNumber, 文字列 toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, 文字列 userSysId, 文字列 groupSysId, GlideRecord sourceRecord)
指定された E.164 準拠の電話番号に電話をかけます。
さらに、このメソッドでは、指定された電話番号を指定されたカンファレンスコールに自動的に追加できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyPhoneNumber | 文字列または NotifyPhoneNumber | 発信元の通知電話番号。コールを開始すると、この番号に関連付けられた番号グループの発信コール ワークフローが実行されます。このワークフローに、ユーザーをカンファレンスに接続するための カンファレンス参加 アクティビティが含まれていることを確認します。 |
| toPhoneNumber | 文字列 | コールする電話番号。着信番号がカンファレンスに追加されます。 |
| カンファレンスコール | GlideRecord | オプション。このパラメーターが渡されると、 toPhoneNumber パラメーターで識別された発信者が、このレコードによって識別されるカンファレンスに自動的に参加します。 カンファレンスレコードを識別する通知コール [notify_call] テーブルの GlideRecord。このレコードは、発信コールワークフロースクラッチパッドにworkflow.scratchpad.conference_call変数として自動的に追加されます。 |
| userSysId | 文字列 | オプション。コールに関連付けられたユーザーの一意の識別子 (sys_id)。 |
| groupSysId | 文字列 | オプション。コールに関連付けられたグループの一意の識別子 (sys_id)。 |
| sourceRecord | GlideRecord | オプション。このコールをプロンプトしたソースレコード。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、別の電話番号へのコールを開始する方法を示します。
var from = '+14048007337';
var to = '+31646810495';
// set up call
new SNC.Notify().call(from, to);
この例では、電話番号のリストへのコールを開始し、それらの番号を新しいカンファレンスコールに自動的に参加させる方法を示します。
var notify = new SNC.Notify();
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);
}
この例では、新しいカンファレンスコールを開始する方法を示します。
SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), null, null, null);
この例では、ユーザーレコードを使用して新しいカンファレンスコールを開始する方法を示します。
var sysUserGr = new GlideRecord('sys_user');
sysUserGr.get('active conference sys id');
if (conferenceGr.isValid) {
SNC.Notify.call('+15413970605', '+91406XXXXXXX', SNC.Notify.conferenceCall(), sysUserGr.getUniqueValue(), null, null);
}
この例では、ユーザー、グループ、およびソースレコードを使用して新しいカンファレンスコールを開始する方法を示します。
var sysUserGr = new GlideRecord('sys_user');
sysUserGr.get('active sys user sys id');
var sysUserGroupGr = new GlideRecord('sys_user_group');
sysUserGroupGr.get('active sys user group sys id');
var incidentGr = new GlideRecord('incident');
incidentGr.get('incident sys_id');
if (conferenceGr.isValid) {
SNC.Notify.call('+15413970605', '+91406XXXXXXX',
SNC.Notify.conferenceCall(),
sysUserGr.getUniqueValue(),
sysUserGroupGr.getUniqueValue(),
incidentGr.getUniqueValue());
}
スコープ対応
スコープ対象のアプリケーションで call() メソッドを使用するには、対応するスコープ対象のメソッド NotifyScoped - call() を使用します。
通知 - conferenceCall(GlideRecord sourceRecord)
新しいカンファレンスコール GlideRecord を作成します。
| 名前 | タイプ | 説明 |
|---|---|---|
| sourceRecord | GlideRecord | オプション。カンファレンスコールを作成する要求を開始したレコード。レコードのソースフィールドとテーブルフィールドnotify_conference_call入力するために使用されます。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 新しい通知カンファレンスコール [notify_conference_call] レコード。 |
var notify = new SNC.Notify();
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);
}
スコープ対応
スコープ対象のアプリケーションで conferenceCall() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - conferenceCall() を使用します。
通知:dequeueCall(GlideRecord callRecord)
キューに入れられたコール (保留中) を再開します。
このメソッドを使用して、 queueCall() メソッドでキューに入れられた呼び出しを再開します。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールレコード | GlideRecord | 再開する保留中のコールを含む通知コール [notify_call] テーブルの GlideRecord オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、保留になったコールを再アクティブ化する方法を示しています。
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.dequeueCall(notifyCallGr);
}
スコープ対応
スコープ対象のアプリケーションで dequeueCall() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - dequeueCall() を使用します。
通知 - forwardCall(GlideRecord call, String destination, String dtmf)
指定されたコールを別のコール受信者に転送します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 呼び出し | GlideRecord または文字列 | 転送するコールのコールレコードまたはテレフォニープロバイダーコール ID を通知します。 |
| destination | GlideRecord または文字列 | コールの転送先の発信者の電話番号レコードまたは E.164 準拠の電話番号に通知します。 |
| DTMF | 文字列 | デュアルトーン:通話接続時に送信するマルチ周波数 (DTMF) コード。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、コールを別の電話番号に転送する方法を示しています。
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) {
SNC.Notify.forwardCall(notifyCallGr(or) callID, phoneNumber, dtmfTones)
}
スコープ対応
スコープ対象のアプリケーションで forwardCall() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - forwardCall() を使用します。
通知 - getAvailableClients(文字列 notifyNumber)
コールを受信できるクライアントセッションのリストを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 通知番号 | 文字列 | 有効な通知電話番号。 |
| タイプ | 説明 |
|---|---|
| GlideRecord | 指定された電話番号のnotify_client_sessionテーブルからの GlideRecord。 利用可能なクライアントセッションがない場合は「0」を返します。 |
次の例は、getAvailableClients() メソッドを使用して notify_client_session テーブルにインデックスを付けてから、使用可能なすべての通知クライアントを反復する方法を示しています。
var clientSessionGr = SNC.Notify.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);
スコープ対応
スコープ対象のアプリケーションで getAvailableClients() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - getAvailableClients() を使用します。
通知:getParentCallID(GlideRecord callRecord)
指定されたコールの親コールのsys_idを返します。
ワークフロー転送アクティビティなどを使用して、別のコールを転送することによって開始されたコールは、元のコールの子と見なされます。元のコールが親コールです。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールレコード | GlideRecord | コールステータスを返す通知コール [notify_call] テーブルのレコード。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 親コールレコードの一意のsys_id。 |
この例は、指定されたコールの親コールを取得する方法を示しています。
var callRecord = new GlideRecord('notify_call');
callRecord.get("0f4f5863ff13310014ecffffffffff28");
var notify = new SNC.Notify();
var parentCallID = notify.getParentCallID(callRecord);
通知:getPhoneNumbers()
通知で利用可能なすべての電話番号と短縮コードを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| リスト | NotifyPhoneNumber オブジェクトのリスト。各オブジェクトは、通知で利用可能な 1 つの電話番号を表します。 |
var list = SNC.Notify.getPhoneNumbers();
for (var i = 0; i < list.size(); i++) {
var num = list.get(i);
gs.info(num.getNumber())
}
スコープ対応
スコープ対象のアプリケーションで getPhoneNumbers() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - getPhoneNumbers() を使用します。
通知 - getTokens(GlideRecord, record)
WebRTC またはモバイルクライアントで使用するアクティブな電話ドライバーのクライアントトークンを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| レコード | GlideRecord | グループレコードやユーザーレコードなどの通知クライアントを識別するために使用する GlideRecord。 |
| タイプ | 説明 |
|---|---|
| 文字列 | サポートされているドライバーの Web RTC トークン ({driverName1: "token1", driverName2: "token2"} 形式の JSON 文字列として表示されるもの。"TwilioDirect":"eyJhxxxx.eyJleHAiOiIxxxx.7fejxxx_mbLxxx" など) |
この例では、現在ログインしているユーザーのクライアントトークンを取得する方法を示します。
// get Notify client Tokens per active Notify driver for the currently logged in user
var json = new SNC.Notify().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]);
}
この例では、すべての通知グループのクライアントトークンを取得する方法を示します。
// instantiate Notify
var notify = new SNC.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]]));
}
}
スコープ対応
スコープ対象のアプリケーションで getTokens() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - getTokens() を使用します。
通知:getTokenTTL(文字列 owner)
指定されたテレフォニードライバーに対して、クライアントセッションがアクティブ状態のままになると自動的にタイムアウトするまでの最大時間を返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| owner | 文字列 | セッション長を取得する電話ドライバーの名前。 有効な値:
|
| タイプ | 説明 |
|---|---|
| 整数 | セッションの最大長 (秒)。デフォルト:1800 秒 |
次の例は、このメソッドと関連する応答を適切に呼び出す方法を示しています。また、無効なドライバーが渡された場合に返される内容も表示されます。
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);
スコープ対応
スコープ対象のアプリケーションで getTokenTTL() メソッドを使用するには、対応するスコープ対象のメソッド NotifyScoped - getAvailableClients() を使用します。
通知:hasCapability(文字列 notifyPhoneNumber, 文字列 capability)
指定された電話番号に指定された機能があるかどうかを判定します。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyPhoneNumber | 文字列 | 指定した機能を確認する電話番号。 |
| capability | 文字列 | 検出する機能。文字列テキストは、電話機の内容と完全に一致する必要があります。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 指定された電話に指定された機能があるかどうかを示すフラグ。
|
この例では、電話機に特定の機能があるかどうかを確認する方法を示します。
// Each driver has a defined set of capabilities.
var capability = 'show_speakers';
gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // true
capability = 'send_sms';
gs.info(SNC.Notify.hasCapability('+185xxxxxxxx', capability)); // false
スコープ対応
スコープ対象のアプリケーションで hasCapability() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - hasCapability() を使用します。
通知:kick(GlideRecord 参加者)
現在の通知カンファレンスから指定された発信者を削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 参加者 | GlideRecord | カンファレンスから削除する発信者の参加者通知 [notify_participant] レコードを含む GlideRecord オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、カンファレンスから参加者を削除する方法を示しています。
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.kick(notifyParticipantGr);
}
スコープ対応
スコープ対象のアプリケーションで kick() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - kick() を使用します。
通知 - modifyCall(GlideRecord callRecord, NotifyAction notifyAction)
アクティブな通知電話に対して 1 つ以上のアクションを実行します。
コールで実行できる使用可能なアクションには、コールのキューへのキューへの挿入またはキューからの取り出し、テキストの読み取り、オーディオの再生、コールの転送などがあります。カスタムアクションを作成することもできます。指定した呼び出しに適用するすべてのアクションを指定した後で、 modifyCall() メソッドを呼び出します。使用可能なアクションの詳細については、 NotifyAction API ドキュメントを参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールレコード | GlideRecord | アクションを適用するコールの通知コール [notify_call] レコード。 |
| 通知アクション | 通知アクション | コールで実行する 1 つ以上のアクションを記述する NotifyAction オブジェクト。1 つ以上の NotifyAction() メソッドを呼び出して、このオブジェクトを作成します。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、コールを変更する方法を示します。
// get the most recent call record
var callRecord = new GlideRecord('notify_call');
callRecord.orderByDesc('sys_created_on');
callRecord.query();
if (callRecord.next()) {
// instantiate notify action container class
var notifyAction = new SNC.NotifyAction();
// The call is already in progress. Now, we want to modify the call behavior by putting this call in a queue.
// So, we add a queue action to queue the call
notifyAction.addQueue('my fancy queue');
// modify the call by passing in the above action, putting the call in a queue
new SNC.Notify().modifyCall(callRecord, notifyAction);
} else {
gs.log('no such call record');
}
スコープ対応
スコープ対象のアプリケーションで modifyCall() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - modifyCall() を使用します。
通知 - ミュート (GlideRecord participantRecord)
指定されたカンファレンス参加者をミュートします。
| 名前 | タイプ | 説明 |
|---|---|---|
| 参加者レコード | GlideRecord | 参加者がミュートする notify_participant テーブルの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、発信者をミュートする方法を示しています。
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.mute(notifyParticipantGr);
}
スコープ対応
スコープ対象のアプリケーションで mute() メソッドを使用するには、対応するスコープ対象のメソッド NotifyScoped - mute() を使用します。
通知:queueCall(GlideRecord callRecord)
指定されたコールをキューに入れます (保留中)。
dequeueCall() メソッドを使用して、キューに入れられたコールを再開します。
| 名前 | タイプ | 説明 |
|---|---|---|
| コールレコード | GlideRecord | 保留にする通知コールレコード (notify_callテーブル) の GlideRecord オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、コールを (キューで) 保留にする方法を示しています。
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.queueCall(notifyCallGr);
}
スコープ対応
スコープ対象のアプリケーションで queueCall() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - queueCall() を使用します。
通知 - sendBulkSMS(String notifyPhoneNumber, Array toPhoneNumbers, String messageBody, GlideRecord source)
指定された通知クライアント (電話番号) の指定されたリストに指定された SMS メッセージを送信します。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyPhoneNumber | 文字列 | SMS メッセージの送信元の通知電話番号。 |
| toPhoneNumber | 文字列のアレイ | SMS メッセージの送信先の電話番号のカンマ区切りリスト。 フォーマット:E.164 |
| メッセージ本文 | 文字列 | 送信する SMS テキスト。 |
| ソース | GlideRecord | インシデントなど、この SMS メッセージを促したソースレコード。 |
| タイプ | 説明 |
|---|---|
| 文字列 | Null |
次の例は、一括 SMS メッセージを送信する方法を示しています。
var incidentGr = new GlideRecord('incident');
incidentGr.get(active incident sys_id');
if (incidentGr.isValid()) {
SNC.Notify.sendBulkSMS('+15413970605', ['+919885XXXXXX', '+919775XXXXXX'], 'Test automation message', incidentGr);
}
スコープ対応
スコープ対象のアプリケーションで sendBulkSMS() メソッドを使用するには、対応するスコープ対象のメソッド NotifyScoped - sendBulkSMS() を使用します。
通知 - sendSMS(String notifyPhoneNumber, String toPhoneNumber, String messageBody, GlideRecord source)
SMS テキストメッセージを E.164 準拠の電話番号に送信します。
このメソッドは、通知メッセージ [notify_message] テーブルに新しいレコードを作成し、それをソースレコードに関連付けます。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyPhoneNumber | 文字列 | SMS メッセージの送信元の通知電話番号。 |
| toPhoneNumber | 文字列 | SMS メッセージの送信先の E.164 準拠の電話番号。 |
| メッセージ本文 | 文字列 | SMS テキストメッセージの本文。 |
| ソース | GlideRecord | インシデントなど、この SMS メッセージを促したソースレコード。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 一意のメッセージ SID。message_idとして通知メッセージ [notify_message] レコードに保存されます。 |
次の例は、SMS メッセージを送信する方法を示しています。
var incidentGr = new GlideRecord('incident');
incidentGr.get('active incident sys_id');
if (incidentGr.isValid()) {
SNC.Notify.sendSMS('+15413970605', '+919885XXXXXX', 'Test automation message', incidentGr);
}
スコープ対応
スコープ対象のアプリケーションで sendSMS() メソッドを使用するには、対応するスコープ対象のメソッドである NotifyScoped - sendSMS() を使用します。
通知 - ミュート状態を解除 (GlideRecord participantRecord)
指定されたカンファレンス参加者のミュート状態を解除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 参加者レコード | GlideRecord | 参加者のミュートを解除する notify_participant テーブルの GlideRecord。 |
| タイプ | 説明 |
|---|---|
| なし |
次の例は、発信者のミュート状態を解除する方法を示しています。
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.unmute(notifyParticipantGr);
}
スコープ対応
スコープ対象のアプリケーションで unmute() メソッドを使用するには、対応するスコープ対象のメソッド NotifyScoped - unmute() を使用します。