NotifyOnTaskClient - 클라이언트
NotifyOnTaskClient API는 및 Webex와 같은 Zoom 다양한 전화 통신 서비스 공급자를 위해 SMS 메시지를 보내거나 전화 회의를 시작/관리하는 메서드를 제공합니다.
모든 UI는 NotifyOnTaskClient UI 스크립트를 명시적으로 포함하여 NotifyOnTaskClient API를 사용할 수 있습니다.
NotifyOnTaskClient API를 사용하여 다음을 수행할 수 있습니다.
- 전화 회의 시작
- 전화 회의 종료
- 참가자 추가
- 다음과 같은 전화 통신 드라이버를 통해 사용할 수 있는 작업을 수행합니다.
- 참가자 음소거/음소거 해제
- 전화 회의에서 참가자 제거
- 전화 회의에 참가자 추가
- 전화 회의 시작
- 전화 회의 종료
알림(com.snc.notify) 플러그인은 별도의 구독이 필요합니다. 알림 플러그인 활성화에 대한 자세한 내용은 알림 활성화를 참조하십시오.
NotifyOnTaskClient - addParticipants(객체 데이터)
지정된 전화 회의에 지정된 참가자를 추가합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 데이터 | 객체 | 전화 회의를 설명하는 객체입니다. |
| data.addToWorkNotes | 부울 | 관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 작업 메모를 추가할 기록을 식별합니다. 기본값: false |
| data.confId입니다. | 문자열 | 필수 전화 회의의 시스템 ID입니다. 회의 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. |
| 데이터.항목 | 배열 | 필수 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| 데이터.메시지 | 문자열 | 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). |
| data.serviceProvider | 문자열 | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. |
| Data.sysId | 문자열 | 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. 이 값은 컨퍼런스 회의가 "시작" 작업을 통해 처음 생성될 때 구성해야 합니다. 필요한 경우 이 메서드를 통해 이 값을 설정할 수도 있습니다. |
| 데이터.테이블 | 문자열 | 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. 이 값은 컨퍼런스 회의가 "시작" 작업을 통해 처음 생성될 때 구성해야 합니다. 필요한 경우 이 메서드를 통해 이 값을 설정할 수도 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
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 | 부울 | 관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 작업 메모를 추가할 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.allowMulticonference (영문) | 부울 | 특정 기록에 대해 한 번에 여러 컨퍼런스 회의를 허용할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 여러 컨퍼런스 회의를 가질 수 있는 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.confId입니다. | 문자열 | 전화 회의의 시스템 ID입니다. 회의 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. 이 매개변수가 필요한 작업:
주: 음소거, 음소거 해제, 추방과 같은 참가자 작업은 메서드가 알림 전화 회의 참가자[notify_participant] 테이블에서 이 정보를 가져오므로 이 매개변수를 설정할 필요가 없습니다. |
| data.fromNumber | 문자열 | 전화 회의를 위해 전화를 걸 서비스 제공자 번호입니다. 알림 전화 번호 [notify_number] 테이블의 번호 또는 전화 번호 열에서 이 값을 찾습니다. 이 매개변수가 필요한 작업:
|
| data.isNewConference | 부울 | 새 전화 회의인지 기존 전화 회의인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 이 매개변수가 유효한 작업:
|
| 데이터.메시지 | 문자열 | 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). 이 매개변수가 유효한 작업:
|
| 데이터.항목 | 배열 | 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| data.serviceProvider | 문자열 | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. 이 매개변수가 필요한 작업:
|
| Data.sysId | 문자열 | 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 데이터.테이블 | 문자열 | 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
다음 예제에서는 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입니다. | 문자열 | 전화 회의의 시스템 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 | 관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 작업 메모를 추가할 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.allowMultconference (데이터.멀티플렉트 허용) | 특정 기록에 대해 한 번에 여러 컨퍼런스 회의를 허용할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 여러 컨퍼런스 회의를 가질 수 있는 기록을 식별합니다. 기본값: false 이 매개변수가 유효한 작업:
|
| data.confId입니다. | 전화 회의의 시스템 ID입니다. 회의 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블에 있습니다. 이 매개변수가 필요한 작업:
주: 음소거, 음소거 해제, 추방과 같은 참가자 작업은 메서드가 알림 전화 회의 참가자[notify_participant] 테이블에서 이 정보를 가져오므로 이 매개변수를 설정할 필요가 없습니다. |
| data.fromNumber | 전화 회의를 위해 전화를 걸 서비스 제공자 번호입니다. 알림 전화 번호 [notify_number] 테이블의 번호 또는 전화 번호 열에서 이 값을 찾습니다. 이 매개변수가 필요한 작업:
|
| data.isNewConference | 새 전화 회의인지 기존 전화 회의인지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false 이 매개변수가 유효한 작업:
|
| 데이터.항목 | 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| 데이터.메시지 | 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). 이 매개변수가 유효한 작업:
|
| data.serviceProvider | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. 이 매개변수가 필요한 작업:
|
| Data.sysId | 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. 이 매개변수가 유효한 작업:
|
| 데이터.테이블 | 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. 이 매개변수가 유효한 작업:
|
다음 예제에서는 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 - 시작(객체 데이터)
새 전화 회의를 시작합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 데이터 | 객체 | 전화 회의를 설명하는 객체입니다. |
| data.addToWorkNotes | 부울 | 옵션입니다.관련된 기록의 작업 메모 필드에 전화 회의에 포함된 참가자에 대한 정보를 추가할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 및 data.sysId 매개변수 값을 data.table 지정하여 작업 메모를 추가할 기록을 식별해야 합니다. 기본값: false |
| data.allowMulticonference (영문) | 부울 | 옵션입니다. 특정 기록에 대해 한 번에 여러 컨퍼런스 회의를 허용할지 여부를 나타내는 플래그입니다. 이 기능이 작동하려면 and data.sysId 매개 변수에 data.table 값도 지정해야 합니다. 이러한 매개변수는 여러 컨퍼런스 회의를 가질 수 있는 기록을 식별합니다. 기본값: false |
| data.fromNumber | 문자열 | 필수 전화 회의를 위해 전화를 걸 서비스 제공자 번호입니다. 알림 전화 번호 [notify_number] 테이블의 번호 또는 전화 번호 열에서 이 값을 찾습니다. |
| 데이터.항목 | 배열 | 옵션입니다. 전화 회의에 포함할 각 참가자에 대한 정보입니다. 유효한 배열 값:
|
| 데이터.메시지 | 문자열 | 옵션입니다. 사용자가 통화에 응답할 때 읽어주는 메시지(예: "P1 인시던트가 생성되었습니다. 인스턴스에 로그인하십시오."). |
| data.serviceProvider | 문자열 | 필수. 회의 서비스 제공자의 이름(예: Zoom 또는 Webex)입니다. |
| Data.sysId | 문자열 | 옵션입니다. 전화 회의에 연결할 소스 기록의 시스템 ID입니다. 예를 들어, 특정 인시던트나 문제를 논의하기 위해 전화 회의를 개최하는 경우 이 값에 인시던트 또는 문제 기록의 Sys ID를 입력합니다. 이 Sys ID는 알림 전화 회의 [notify_conference_call] 테이블의 원본 열에 저장되며 나중에 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.Table함께 사용됩니다. |
| 데이터.테이블 | 문자열 | 옵션입니다. 전화 회의에 연결할 소스 기록이 들어 있는 테이블입니다. 소스 기록은 전화 회의의 토론 주제인 "인시던트" 또는 "문제"와 같은 모든 기록일 수 있습니다. 이 테이블 이름은 알림 전화 회의 [notify_conference_call] 테이블의 테이블 열에 저장되며 추적할 수 있습니다. 이 매개변수는 , data.addToWorkNotes및 allowMulticonference 매개변수와 data.sysId함께 사용됩니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 회의 작업 결과입니다.
|
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);
});
}