NotifyConferenceUtil - スコープ指定、グローバル
NotifyConferenceUtil API は、Zoom や Webex などのさまざまな電話サービスプロバイダーの通知カンファレンスコールと SMS メッセージを管理するためのメソッドを提供します。
NotifyConferenceUtil API を使用すると、次のことができます。
- 新しいカンファレンスコールの作成
- 電話番号またはユーザー ID で参加者を追加
- カンファレンスコールからの参加者の削除
- カンファレンスコールで参加者をミュート状態にする
- カンファレンスの参加者のミュートを解除する
- 指定されたサービスプロバイダーの機能を取得する
- カンファレンスコールを終了
この API は、スコープ対象スクリプトとグローバルスクリプトの両方で使用できます。この API を使用するには、会議通知プラグイン (com.snc.notify) を有効にする必要があります。これには個別のサブスクリプションが必要です。このプラグインのアクティブ化の詳細については、「 通知のアクティブ化」を参照してください。
NotifyConferenceUtils - NotifyConferenceUtils()
NotifyConferenceUtils オブジェクト (コンストラクター) をインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - addToConferenceByPhoneNumber(文字列 toNumber, GlideRecord confGR)
参加者を識別するための電話番号を使用して、指定されたカンファレンスコールに参加者を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| toNumber | 文字列 | カンファレンスに追加する参加者の電話番号。 |
| confGR | GlideRecord | 指定された参加者を追加するカンファレンスの GlideRecord。 テーブル:通知カンファレンスコール [notify_conference_call] |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
次のコード例は、このメソッドを呼び出す方法を示しています。
function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByPhoneNumber("+917799555331", confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - addToConferenceByUserId(文字列 userId, GlideRecord confGR)
一意のユーザー識別子を使用して、渡された GlideRecord によって参照されるカンファレンスコールに参加者を追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| userId | 文字列 | 指定されたカンファレンスに追加する参加者の Sys ID。 テーブル: ユーザー [sys_user] |
| confGR | GlideRecord | 指定された参加者を追加するためのカンファレンスの GlideRecord。 テーブル:通知カンファレンスコール [notify_conference_call] |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
次のコード例は、このメソッドを呼び出す方法を示しています。
(function () {
var confGR = new GlideRecord('notify_conference_call');
confGR.get('76d3364d0b5133008e64aabcb4673a6d');
var confUtils = new NotifyConferenceUtils();
var actionResult = confUtils.addToConferenceByUserId(gs.getUserID(), confGR)
if (actionResult.status)
gs.info('Participant has been added to conference');
else {
gs.info('join operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();
NotifyConferenceUtils - doConferenceAction(文字列アクション, オブジェクトデータ)
カンファレンスの開始/終了、カンファレンスの参加者の参加、削除、ミュート、ミュート解除など、指定されたカンファレンスアクションを実行します。
- カンファレンスコールのディスカッションのトピックであるインシデントや問題など、特定のレコード (ソースレコード) への ポインタを カンファレンスレコードに保存します。
- ソースレコードに対する複数のカンファレンスコールを許可/禁止します。
- ソースレコードの [作業メモ] フィールドに、カンファレンスコールに参加した参加者を自動的に記録します。
- 参加者が会議からの発信コールに応答するときにメッセージを読み上げてもらいます。
| 名前 | タイプ | 説明 |
|---|---|---|
| アクション | 文字列 | 実行するカンファレンスアクションを定義します。 利用可能なカンファレンスアクションは次のとおりです。
|
| データ | オブジェクト | カンファレンスコールを説明するオブジェクト。 |
| data.addToWorkNotes | ブーリアン | カンファレンスコールに含まれた参加者に関する情報を関連レコードの作業メモフィールドに追加するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、作業メモを追加するレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.allowMulticonference | ブーリアン | 特定のレコードに対して一度に複数のカンファレンスコールを許可するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、複数のカンファレンスコールを持つことが許可されているレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.confId | 文字列 | カンファレンスのSys_id。 テーブル:通知カンファレンスコール [notify_conference_call] このパラメーターが必要なアクション:
注:
ミュート、ミュート解除、キックなどの参加者のアクションでは、メソッドが通知カンファレンス参加者 [notify_participant] テーブルからこの情報を取得するため、このパラメーターを設定する必要はありません。 |
| data.fromNumber | 文字列 | カンファレンスコールのためにコールするサービスプロバイダー番号。 通知電話番号 [notify_number] テーブルの [番号] 列または [電話番号] 列で、この値を見つけます。 このパラメーターが必要なアクション:
|
| data.isNewConference | ブーリアン | これが新規か既存のカンファレンスかを示すフラグ。 有効な値:
デフォルト値:false このパラメーターが有効なアクション:
|
| data.items | アレイ | カンファレンスコールに含める各参加者の情報。 有効なアレイ値:
|
| data.message | 文字列 | ユーザーがコールに応答したときに読み上げられるメッセージ (例:「P1 インシデントが作成されました。インスタンスにログインしてください」など)。 このパラメーターが有効なアクション:
|
| data.serviceProvider | 文字列 | 必須です。Zoom や Webex などの会議サービスプロバイダーの名前。 このパラメーターが必要なアクション:
|
| data.sysId | 文字列 | カンファレンスコールに関連付けるソースレコードのSys_id。 たとえば、特定のインシデントまたは問題について話し合うためにカンファレンスが開催される場合は、インシデントまたは問題レコードのsys_idをこの値に入力します。このsys_idは、NotifyConference Call [notify_conference_call] テーブルの [ソース] 列に保存され、後で追跡できます。 このパラメーターは、 data.Table、 data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
| data.table | 文字列 | カンファレンスコールに関連付けるソースレコードを含むテーブル。ソースレコードには、「インシデント」や「問題」など、カンファレンスコールでの議論のトピックである任意のレコードを指定できます。 このテーブル名は、NotifyConference Call [notify_conference_call] テーブルの [テーブル] 列に格納され、追跡できます。 このパラメーターは、 data.sysId、 data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.table = 'incident';
data.sysId = '1234';
data.addToWorkNotes = false;
data.confId = confId;
data.message = 'p1 incident has been created';
data.fromNumber = 'twilio/Telephony driver number';
data.items.push({ id: 'user3SysId', phoneNumber: '+917799555332' });
data.items.push({ id: 'user4SysId', email: 'yln99518@gmail.com' });
var result = confUtils.doConferenceAction('start', data);
if (result.status) {
gs.info('Start conference action succeeded');
} else
gs.info('Start conference action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils - getConferenceInputDataTemplate()
doConferenceAction() メソッドで使用する JSON データテンプレートを返します。このテンプレートを使用すると、データオブジェクトが自動的に構造化されるため、手動で作成する必要はありません。
doConferenceAction() メソッドを呼び出す前に、このメソッドを呼び出してください。目的のカンファレンスコールアクションに対して、テンプレート内で目的のパラメーターを設定し、 doConferenceAction() 呼び出しでテンプレートを渡します。各アクションの有効なパラメーターの詳細については、「 doConferenceAction()」を参照してください。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| データ | カンファレンスコールを説明するオブジェクト。 |
| data.addToWorkNotes | カンファレンスコールに含まれた参加者に関する情報を関連レコードの作業メモフィールドに追加するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、作業メモを追加するレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.allowMultconference | 特定のレコードに対して一度に複数のカンファレンスコールを許可するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、複数のカンファレンスコールを持つことが許可されているレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.confId | カンファレンスのSys_id。 テーブル:通知カンファレンスコール [notify_conference_call] このパラメーターが必要なアクション:
注:
ミュート、ミュート解除、キックなどの参加者のアクションでは、メソッドが通知カンファレンス参加者 [notify_participant] テーブルからこの情報を取得するため、このパラメーターを設定する必要はありません。 |
| data.fromNumber | カンファレンスコールのためにコールするサービスプロバイダー番号。 通知電話番号 [notify_number] テーブルの [番号] 列または [電話番号] 列で、この値を見つけます。 このパラメーターが必要なアクション:
|
| data.isNewConference | これが新規か既存のカンファレンスかを示すフラグ。 有効な値:
デフォルト値:false このパラメーターが有効なアクション:
|
| data.items | カンファレンスコールに含める各参加者の情報。 有効なアレイ値:
|
| data.message | ユーザーがコールに応答したときに読み上げられるメッセージ (例:「P1 インシデントが作成されました。インスタンスにログインしてください」など)。 このパラメーターが有効なアクション:
|
| data.serviceProvider | 必須です。Zoom や Webex などの会議サービスプロバイダーの名前。 このパラメーターが必要なアクション:
|
| data.sysId | カンファレンスコールに関連付けるソースレコードのSys_id。 たとえば、特定のインシデントまたは問題について話し合うためにカンファレンスが開催される場合は、インシデントまたは問題レコードのsys_idをこの値に入力します。このsys_idは、NotifyConference Call [notify_conference_call] テーブルの [ソース] 列に保存され、後で追跡できます。 このパラメーターは、 data.Table、 data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
| data.table | カンファレンスコールに関連付けるソースレコードを含むテーブル。ソースレコードには、「インシデント」や「問題」など、カンファレンスコールでの議論のトピックである任意のレコードを指定できます。 このテーブル名は、NotifyConference Call [notify_conference_call] テーブルの [テーブル] 列に格納され、追跡できます。 このパラメーターは、 data.sysId、 data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
(function (confId) {
var confUtils = new NotifyConferenceUtils();
var data = confUtils.getConferenceInputDataTemplate();
data.confId = confId;
var result = confUtils.doConferenceAction('end', data);
if (result.status) {
gs.info('Conference call has been ended');
} else
gs.info('End conference call action failed');
result.errorMessages.forEach(function (msg) {
gs.info(msg);
});
result.warnMessages.forEach(function (msg) {
gs.info(msg);
});
result.successMessages.forEach(function (msg) {
gs.info(msg);
});
})('activeConfSysId');
NotifyConferenceUtils - getServiceProvidersCapabilities()
インスタンス内のすべての電話通信サービスプロバイダードライバーの機能を返します。
- アーカイブ:会議の終了後にアーカイブします。
- beepOnLeave:参加者がカンファレンスコールから退出すると「ビープ音」を鳴らします
- beepOnJoin:参加者がカンファレンスコールに参加すると「ビープ」音を鳴らします
- 終了:識別されたカンファレンスコールを終了します
- ファイル共有:参加者間でのファイル共有を許可します
- 参加:カンファレンスコールに参加者を追加します
- 除外:カンファレンスから参加者を削除します
- multiJoin:カンファレンスコールに複数の参加者を追加します
- multiKick:カンファレンスコールから複数の参加者を削除
- muteOnJoin:参加者が最初にカンファレンスコールに参加したときに参加者をミュートします
- multiUnmute:カンファレンスの複数の参加者のミュート状態を解除します
- レコード:レコードのカンファレンスコール
- 記録:カンファレンスコールが記録されているときに画面上にインジケーターが表示されます
- screenSharing:参加者の画面をグループと共有できます
- selfJoin:現在ログインしているユーザーをカンファレンスに追加します
- 話している人:現在話している人に関するメッセージを画面に表示します
- 開始:識別されたカンファレンスコールを開始します
- unmute:カンファレンスの参加者のミュート状態を解除します
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | 各ドライバー機能の状態のキーと値のペア。 有効な値:
|
インスタンス内のすべての電話通信サービスプロバイダードライバーのドライバー機能を一覧表示します。
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if(confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
出力:このメソッドは、インスタンス内のアクティブな電話通信サービスプロバイダーごとに、次のようなノードを返します。
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}
NotifyConferenceUtils - isActionSupported(数値アクション)
通知会議アクションが電話通信サービスプロバイダーによってサポートされているかどうかを決定します。
このメソッドを使用するには、最初に getServiceProviderCapabilities() メソッドを呼び出す必要があります。このメソッドは、インスタンスで構成された各サービスプロバイダーに対して考えられる各通知会議アクションの可用性に関する情報を含むオブジェクトを返します。
例:
{
"Telephony": {
"start": {
"isSupported": 1,
"meta": {}
},
"end": {
"isSupported": 1,
"meta": {}
},
"selfJoin": {
"isSupported": 1,
"meta": {}
},
"join": {
"isSupported": 1,
"meta": {}
},
"multiJoin": {
"isSupported": 1,
"meta": {}
},
"mute": {
"isSupported": 1,
"meta": {}
},
"multiMute": {
"isSupported": 1,
"meta": {}
},
"unmute": {
"isSupported": 1,
"meta": {}
},
"multiUnmute": {
"isSupported": 1,
"meta": {}
},
"kick": {
"isSupported": 1,
"meta": {}
},
"multiKick": {
"isSupported": 1,
"meta": {}
},
"record": {
"isSupported": 0,
"meta": {}
},
"speaking": {
"isSupported": 0,
"meta": {}
},
"recording": {
"isSupported": 0,
"meta": {}
},
"screenSharing": {
"isSupported": 0,
"meta": {}
},
"fileSharing": {
"isSupported": 0,
"meta": {}
},
"archive": {
"isSupported": 0,
"meta": {}
},
"muteOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnJoin": {
"isSupported": 0,
"meta": {}
},
"beepOnLeave": {
"isSupported": 0,
"meta": {}
}
}
}| 名前 | タイプ | 説明 |
|---|---|---|
| action | 番号 | 特定のアクションとサービスプロバイダーの getServiceProvidersCapabilities() メソッドによって返されるisSupportedパラメーターの値。 注: isSupported値はブール値のように見えますが、実際には数値です。ケイパビリティをブール値として評価しないでください。関連する値は将来のバージョンで拡張される可能性があるため、このメソッドを使用します。 |
| タイプ | 説明 |
|---|---|
| ブーリアン | 電話通信サービスプロバイダーが指定されたアクションをサポートしているかどうかを示すフラグ。 有効な値:
|
(function () {
var confUtils = new NotifyConferenceUtils();
var providerToCapability = confUtils.getServiceProvidersCapabilites();
for (var provider in providerToCapability) {
gs.info('{0} supported capabilities \n\n', provider);
var capabilities = providerToCapability[provider]
for (var cap in capabilities)
if (confUtils.isActionSupported(capabilities[cap].isSupported))
gs.info('"{0}" action supported', cap);
else
gs.info("'{0}' action is not supported by this conference driver", cap);
}
})();
NotifyConferenceUtils - kickByParticipantGR(GlideRecord notifyParticipantGR)
渡された GlideRecord に関連付けられた参加者を現在のカンファレンスから削除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyParticipantGR | GlideRecord | カンファレンスから削除する参加者の GlideRecord オブジェクト。 テーブル:参加者に通知 [notify_participant] |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
次のコード例は、このメソッドを呼び出す方法を示しています。
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant'); // Participant record contains conf call ID
participantGR.get('validParticipantSysId');
var actionResult = confUtils.kickByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been kicked out of conference');
else {
gs.info('kick operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils - muteByParticipantGR(GlideRecord notifyParticipantGR)
現在のカンファレンスコールで渡された GlideRecord に関連付けられた参加者をミュートします。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyParticipantGR | オブジェクト | ミュートする参加者の GlideRecord オブジェクト。 テーブル:参加者に通知 [notify_participant] |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
次のコード例は、このメソッドを呼び出す方法を示しています。
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.muteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been muted');
else {
gs.info('mute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})()
NotifyConferenceUtils - unmuteByParticipantGR(GlideRecord notifyParticipantGR)
現在のカンファレンスコールで渡された GlideRecord に関連付けられた参加者のミュート状態を解除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| notifyParticipantGR | GlideRecord | ミュートを解除する参加者の GlideRecord オブジェクト。これらのレコードは、通知参加者 [notify_participant] テーブルにあります。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
(function () {
var confUtils = new NotifyConferenceUtils();
var participantGR = new GlideRecord('notify_participant');
participantGR.get('validSysId');
var actionResult = confUtils.unmuteByParticipantGR(participantGR);
if (actionResult.status)
gs.info('Participant has been Unmuted');
else {
gs.info('Unmute operation failed');
actionResult.warnMessages.forEach(function (msg) {
gs.info(msg);
});
actionResult.errorMessages.forEach(function (msg) {
gs.info(msg);
})
}
})();