NotifyConferenceUtil:スコープ指定、グローバル
NotifyConferenceUtil API は、ZoomやWebexなどのさまざまなテレフォニーサービスプロバイダーの通知電話会議と SMS メッセージを管理するためのメソッドを提供します。
NotifyConferenceUtil API を使用すると、次のことができます。
- 新しい電話会議を作成する
- 電話番号またはユーザー ID によって参加者を追加する
- 電話会議から参加者を除外する
- 電話会議で参加者をミュート状態にする
- 電話会議で参加者のミュート状態を解除する
- 指定されたサービスプロバイダーの機能を取得する
- 電話会議を終了する
この API は、スコープ指定のスクリプトでもグローバルのスクリプトでも使用できます。この API を使用するには、個別のサブスクリプションが必要な Conference Notify プラグイン (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 電話会議 [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 電話会議 [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(文字列 action, オブジェクト data)
電話会議の開始/終了や、電話会議への参加者の追加、除外、ミュート、またはミュート解除などの指定された電話会議アクションを実行します。
- 電話会議レコードのポインターを、電話会議のディスカッションのトピックであるインシデントや問題といった特定のレコード (ソースレコード) に保存します。
- ソースレコードの複数の電話会議を許可または禁止します。
- 電話会議に参加していた参加者を、ソースレコードの [作業メモ] フィールドに自動的に記録します。
- 参加者が会議からの発信コールに応答したときにメッセージを読み上げます。
| 名前 | タイプ | 説明 |
|---|---|---|
| action | 文字列 | 実行する電話会議アクションを定義します。 利用可能な電話会議アクションは次のとおりです。
|
| data | オブジェクト | 電話会議を説明するオブジェクト。 |
| data.addToWorkNotes | ブール | 関連するレコードの作業メモフィールドに電話会議に含まれた参加者に関する情報を追加するかどうかを示すフラグ。 この機能を動作させるには、data.table および data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、作業メモを追加するレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.allowMulticonference | ブール | 特定のレコードに対して一度に複数の電話会議を許可するかどうかを示すフラグ。 この機能を動作させるには、data.table および data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、複数の電話会議を許可されているレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.confId | 文字列 | 電話会議の sys ID。 会議の sys ID は Notify 電話会議 [notify_conference_call] テーブルにあります。 このパラメーターが必要なアクション:
注: ミュート、ミュート解除、除外などの参加者アクションでは、メソッドが Notify 電話会議参加者 [notify_participant] テーブルからこの情報を取得するために、このパラメーターを設定する必要はありません。 |
| data.fromNumber | 文字列 | 電話会議のために呼び出すサービスプロバイダーの番号。 この値は、Notify 電話番号 [notify_number] テーブルの [Number] または [ Phone number] 列で見つけます。 このパラメーターが必要なアクション:
|
| data.isNewConference | ブール | 新規の電話会議か既存の電話会議かを示すフラグ。 有効な値:
デフォルト値:false このパラメーターが有効なアクション:
|
| data.items | アレイ | 電話会議に含める各参加者に関する情報。 有効なアレイ値:
|
| data.message | 文字列 | ユーザーがコールに応答したときに読み上げられるメッセージ (「P1 インシデントが作成されました。インスタンスにログインしてください」など)。 このパラメーターが有効なアクション:
|
| data.serviceProvider | 文字列 | 必須です。Zoom や Webex などの会議サービスプロバイダーの名前。 このパラメーターが必要なアクション:
|
| data.sysId | 文字列 | 電話会議に関連付けるソースレコードの Sys ID。 たとえば、特定のインシデントまたは問題について話し合うために電話会議が行われる場合は、インシデントまたは問題レコードの Sys ID をこの値に入力します。この Sys ID は NotifyConference コール [notify_conference_call] テーブルの [Source] 列に保存され、後で追跡できます。 このパラメーターは、data.Table、data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用されます。 このパラメーターが有効なアクション:
|
| data.table | 文字列 | 電話会議に関連付けるソースレコードのを含むテーブル。ソースレコードは、「インシデント」や「問題」など、電話会議でのディスカッションのトピックである任意のレコードです。 このテーブル名は NotifyConference コール [notify_conference_call] テーブルの [Table] 列に保存され、追跡できます。 このパラメーターは、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 | 電話会議を説明するオブジェクト。 |
| data.addToWorkNotes | 関連するレコードの作業メモフィールドに電話会議に含まれた参加者に関する情報を追加するかどうかを示すフラグ。 この機能を動作させるには、data.table および data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、作業メモを追加するレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.allowMultconference | 特定のレコードに対して一度に複数の電話会議を許可するかどうかを示すフラグ。 この機能を動作させるには、data.table および data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、複数の電話会議を許可されているレコードを識別します。 デフォルト値:false このパラメーターが有効なアクション:
|
| data.confId | 電話会議の sys ID。 会議の sys ID は Notify 電話会議 [notify_conference_call] テーブルにあります。 このパラメーターが必要なアクション:
注: ミュート、ミュート解除、除外などの参加者アクションでは、メソッドが Notify 電話会議参加者 [notify_participant] テーブルからこの情報を取得するために、このパラメーターを設定する必要はありません。 |
| data.fromNumber | 電話会議のために呼び出すサービスプロバイダーの番号。 この値は、Notify 電話番号 [notify_number] テーブルの [Number] または [ Phone number] 列で見つけます。 このパラメーターが必要なアクション:
|
| data.isNewConference | 新規の電話会議か既存の電話会議かを示すフラグ。 有効な値:
デフォルト値:false このパラメーターが有効なアクション:
|
| data.items | 電話会議に含める各参加者に関する情報。 有効なアレイ値:
|
| data.message | ユーザーがコールに応答したときに読み上げられるメッセージ (「P1 インシデントが作成されました。インスタンスにログインしてください」など)。 このパラメーターが有効なアクション:
|
| data.serviceProvider | 必須です。Zoom や Webex などの会議サービスプロバイダーの名前。 このパラメーターが必要なアクション:
|
| data.sysId | 電話会議に関連付けるソースレコードの Sys ID。 たとえば、特定のインシデントまたは問題について話し合うために電話会議が行われる場合は、インシデントまたは問題レコードの Sys ID をこの値に入力します。この Sys ID は NotifyConference コール [notify_conference_call] テーブルの [Source] 列に保存され、後で追跡できます。 このパラメーターは、data.Table、data.addToWorkNotes、および allowMulticonference パラメーターと組み合わせて使用されます。 このパラメーターが有効なアクション:
|
| data.table | 電話会議に関連付けるソースレコードのを含むテーブル。ソースレコードは、「インシデント」や「問題」など、電話会議でのディスカッションのトピックである任意のレコードです。 このテーブル名は NotifyConference コール [notify_conference_call] テーブルの [Table] 列に保存され、追跡できます。 このパラメーターは、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()
インスタンス内のすべての電話通信サービスプロバイダーのドライバーの機能を返します。
- archive:終了後に会議をアーカイブする
- beepOnLeave:参加者が電話会議から退出したときに「ビープ」音を再生する
- beepOnJoin:参加者が電話会議に参加したときに「ビープ」音を再生する
- end:特定された電話会議を終了する
- filesharing:参加者間でファイルを共有可能にする
- join:電話会議に参加者を追加する
- kick:電話会議から参加者を除外する
- multiJoin:電話会議に複数の参加者を追加する
- multiKick:電話会議から複数の参加者を除外する
- muteOnJoin:電話会議への参加者の初回参加時にその参加者をミュートする
- multiUnmute:電話会議に対して複数の参加者のミュートを解除する
- record:電話会議を記録する
- recording:電話会議の記録中に画面上のインジケーターを表示する
- screenSharing:参加者の画面をグループと共有可能にする
- selfJoin:現在ログインしているユーザーを電話会議に追加する
- speaking:現在発言しているユーザーについて画面にメッセージを表示する
- start:識別された電話会議を開始する
- 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(数字 action)
Notify 会議アクションが電話通信サービスプロバイダーによってサポートされているかどうかを判断します。
このメソッドを使用するには、まず getServiceProviderCapabilities() メソッドを呼び出す必要があります。このメソッドは、インスタンスで設定された各サービスプロバイダーに対して実行可能な Notify 会議アクションそれぞれの可用性に関する情報を含むオブジェクトを返します。
例:
{
"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 参加者 [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 参加者 [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 参加者 [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);
})
}
})();