NotifyOnTaskClient - クライアント
NotifyOnTaskClient API は、Zoom や Webex などのさまざまな電話通信サービスプロバイダーに対して、SMS メッセージを送信したり、カンファレンスコールを開始/管理したりするためのメソッドを提供します。
NotifyOnTaskClient UI スクリプトを明示的に含めることで、任意の UI で NotifyOnTaskClient API を使用できます。
NotifyOnTaskClient API を使用すると、次のことができます。
- 電話会議の開始
- カンファレンスコールを終了
- 参加者を追加
- 次のような、電話ドライバーから利用可能なアクションを実行します。
- 参加者をミュート/ミュート解除
- カンファレンスコールからの参加者の削除
- カンファレンスへの参加者の追加
- カンファレンスの開始
- カンファレンスコールを終了
通知 (com.snc.notify) プラグインには別のサブスクリプションが必要です。通知プラグインのアクティブ化の詳細については、「 通知のアクティブ化」を参照してください。
NotifyOnTaskClient - addParticipants(オブジェクトデータ)
指定された参加者を指定されたカンファレンスに追加します。
| 名前 | タイプ | 説明 |
|---|---|---|
| データ | オブジェクト | カンファレンスコールを説明するオブジェクト。 |
| data.addToWorkNotes | ブール | カンファレンスコールに含まれた参加者に関する情報を関連レコードの作業メモフィールドに追加するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、作業メモを追加するレコードを識別します。 デフォルト値:false |
| data.confId | 文字列 | カンファレンスのSys_id。 テーブル:通知カンファレンスコール [notify_conference_call] |
| data.items | アレイ | カンファレンスコールに含める各参加者の情報。 |
| data.items.email | 文字列 | 参加者のメールアドレス。 |
| data.items.id | 文字列 | ユーザー sys_id。 テーブル:ユーザー [sys_User] |
| data.items.notifyParticipantId | 文字列 | 参加者のsys_id。 テーブル:参加者に通知 [notify_participant] |
| data.items.phoneNumber | 文字列 | 参加者の電話番号。この値が id パラメーターまたは notifyParticipantId パラメーターと一緒に渡される場合、この値はユーザー/参加者レコードの電話番号よりも優先され、コールの発信に使用されます。 |
| 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 addToConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items.push({ id: 'userSysId' });
data.items.push({ phoneNumber: '+917799555331' });
data.items.push({ email: 'yln99518@gmail.com' });
NotifyOnTaskClient.addParticipants(data).then(function (result) {
var joinActionResult = result[0];
if(joinActionResult.status) {
joinActionResult.successMessages.forEach(function(msg) {
console.log(msg);
});
return;
}
joinActionResult.warnMessages.forEach(function(msg) {
console.warn(msg);
});
joinActionResult.errorMessages.forEach(function(msg) {
console.error(msg);
});
}, function (errMsg) {
console.log(errMsg);
});
}
NotifyOnTaskClient - 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.message | 文字列 | ユーザーがコールに応答したときに読み上げられるメッセージ (例:「P1 インシデントが作成されました。インスタンスにログインしてください」など)。 このパラメーターが有効なアクション:
|
| data.items | アレイ | カンファレンスコールに含める各参加者の情報。 有効なアレイ値:
|
| 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 パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
次の例は、doConferenceAction() を呼び出して、アクションと参加者を渡してカンファレンスの参加者を操作する関数を作成する方法を示しています。
/**
*
* @param {string} action - action to perform on the conference object or participant object
* @param {Array} participants;
*/
function doConferenceAction(action, participants) {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items = participants;
NotifyOnTaskClient.doConferenceAction(action, data).then(function (result) {
var kickActionResult = result[0];
if (kickActionResult.status)
console.log(action + ' succeeded');
else {
kickActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
kickActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg)
});
}
// kick participants
doConferenceAction('kick', [{notifyParticipantId: 'notifyParticipantSysId'}]);
// kick multiple participants
doConferenceAction('multiKick',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// Mute participants
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('multiMute',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// self join to any confernece.
doConferenceAction('selfJoin', [{id: 'logged in userId'}]);
NotifyOnTaskClient - endConference(オブジェクトデータ)
指定されたカンファレンスコールを終了します。
| 名前 | タイプ | 説明 |
|---|---|---|
| データ | オブジェクト | カンファレンスコールを説明するオブジェクト。 |
| data.confId | 文字列 | カンファレンスのSys_id。 |
| data.serviceProvider | 文字列 | 必須。Zoom や Webex などの会議サービスプロバイダーの名前。 |
| タイプ | 説明 |
|---|---|
| オブジェクト | 会議アクションの結果。
|
function endConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
NotifyOnTaskClient.endConference(data).then(function (result) {
var endActionResult = result[0];
if (endActionResult.status)
console.log('Conference has been ended');
else {
endActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
endActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg);
});
}
NotifyOnTaskClient - getNotifyActionTemplate()
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 パラメーターと組み合わせて使用します。 このパラメーターが有効なアクション:
|
次の例は、getNotifyActionTemplate() を呼び出して、doConferenceAction() のアクションを定義するために必要なデータテンプレートを取得する方法を示しています。
/**
*
* @param {string} action - action to perform on the conference object or participant object
* @param {Array} participants;
*/
function doConferenceAction(action, participants) {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.serviceProvider = 'Telephony'; // e.g 'Zoom', 'WebEx'
data.confId = 'Active conference sysId';
data.items = participants;
NotifyOnTaskClient.doConferenceAction(action, data).then(function (result) {
var kickActionResult = result[0];
if (kickActionResult.status)
console.log(action + ' succeeded');
else {
kickActionResult.warnMessages.forEach(function (msg) {
console.warn(msg);
});
kickActionResult.errorMessages.forEach(function (msg) {
console.error(msg);
});
}
}, function (errMsg) {
console.log(errMsg)
});
}
// kick participants
doConferenceAction('kick', [{notifyParticipantId: 'notifyParticipantSysId'}]);
// kick multiple participants
doConferenceAction('multiKick',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// Mute participants
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('mute', [{notifyParticipantId: 'notifyParticipantSysId'}]);
doConferenceAction('multiMute',
[{notifyParticipantId: 'notifyParticipantSysId'},
{notifyParticipantId: 'notifyParticipantSysId'}]);
// self join to any confernece.
doConferenceAction('selfJoin', [{id: 'logged in userId'}]);
NotifyOnTaskClient - start(オブジェクトデータ)
新しいカンファレンスコールを開始します。
| 名前 | タイプ | 説明 |
|---|---|---|
| データ | オブジェクト | カンファレンスコールを説明するオブジェクト。 |
| data.addToWorkNotes | ブール | オプション。カンファレンスコールに含まれた参加者に関する情報を関連レコードの作業メモフィールドに追加するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターの値も指定して、作業メモを追加するレコードを識別する必要があります。 デフォルト値:false |
| data.allowMulticonference | ブール | オプション。 特定のレコードに対して一度に複数のカンファレンスコールを許可するかどうかを示すフラグ。 この機能を機能させるには、 data.table パラメーターと data.sysId パラメーターにも値を指定する必要があります。これらのパラメーターは、複数のカンファレンスコールを持つことが許可されているレコードを識別します。 デフォルト値:false |
| data.fromNumber | 文字列 | 必須。 カンファレンスコールのためにコールするサービスプロバイダー番号。 通知電話番号 [notify_number] テーブルの [番号] 列または [電話番号] 列で、この値を見つけます。 |
| data.items | アレイ | オプション。 カンファレンスコールに含める各参加者の情報。 |
| data.items.email | 文字列 | 参加者のメールアドレス。 |
| data.items.id | 文字列 | ユーザー sys_id。 テーブル:ユーザー [sys_User] |
| data.items.notifyParticipantId | 文字列 | 参加者のsys_id。 テーブル:参加者に通知 [notify_participant] |
| data.items.phoneNumber | 文字列 | 参加者の電話番号。この値が id パラメーターまたは notifyParticipantId パラメーターと一緒に渡される場合、この値はユーザー/参加者レコードの電話番号よりも優先され、コールの発信に使用されます。 |
| 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 startConferenceCall() {
var data = NotifyOnTaskClient.getNotifyActionTemplate();
data.table = 'incident';
data.sysId = '1234';
data.serviceProvider = serviceProvider;
data.addToWorkNotes = true;
data.fromNumber = 'Telephony Number';
data.items.push({ id: 'userSysId' });
data.items.push({ phoneNumber: '+917799555332' });
data.items.push({ email: 'yln99517@gmail.com' });
NotifyOnTaskClient.start(data).then(function (result) {
var startActionResult = result[0];
if(startActionResult.status) {
startActionResult.successMessages.forEach(function(msg) {
console.log(msg);
});
return;
}
startActionResult.warnMessages.forEach(function(msg) {
console.warn(msg);
});
startActionResult.errorMessages.forEach(function(msg) {
console.error(msg);
});
}, function (errMsg) {
console.log(errMsg);
});
}