알림 - 전역
Notify API를 사용하면 스크립트를 사용하여 Notify 통화 및 SMS 메시지와 상호작용할 수 있습니다.
SNC 네임스페이스의 전역 Notify 클래스 및 관련 메서드에 액세스합니다.
알림 - call(문자열 notifyPhoneNumber, 문자열 toPhoneNumber, GlideRecord conferenceCall, GlideRecord conferenceCallRecord, 문자열 userSysId, 문자열 groupSysId, GlideRecord sourceRecord)
지정된 E.164 호환 전화 번호로 전화를 겁니다.
또한 이 방법은 지정된 전화 회의에 지정된 전화 번호를 자동으로 추가할 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 전화 번호 | String 또는 NotifyPhoneNumber | 전화를 걸 수 있는 전화번호를 알려줍니다. 호출을 시작하면 이 번호와 연결된 번호 그룹에 대한 발신 콜 워크플로우가 실행됩니다. 이 워크플로우에 사용자를 전화 회의에 연결하는 전화 회의 참가 활동이 포함되어 있는지 확인합니다. |
| toPhoneNumber | 문자열 | 발신 대상 전화 번호입니다. 전화 회의에 착신 번호가 추가됩니다. |
| 컨퍼런스콜 | GlideRecord | 옵션입니다. 이 매개변수가 전달되면 매개변수에서 toPhoneNumber 식별된 호출자는 이 기록으로 식별되는 전화 회의에 자동으로 참가합니다. 전화 회의 기록을 식별하는 Notify 통화 [notify_call] 테이블에 대한 GlideRecord입니다. 이 기록은 발신 콜 워크플로우 스크래치패드에 workflow.scratchpad.conference_call 변수로 자동 추가됩니다. |
| userSysId | 문자열 | 옵션입니다. 호출과 연결된 사용자의 고유 식별자(sys_id)입니다. |
| groupSysId | 문자열 | 옵션입니다. 호출과 연결된 그룹의 고유 식별자(sys_id)입니다. |
| sourceRecord | GlideRecord | 옵션입니다. 이 호출을 요청한 소스 기록입니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 다른 전화 번호로 전화를 거는 방법을 보여 줍니다.
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 전화 회의 [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 객체입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 보류된 호출을 다시 활성화하는 방법을 보여 줍니다.
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.dequeueCall(notifyCallGr);
}
범위가 지정된 등가
범위가 지정된 응용 프로그램에서 dequeueCall() 메서드를 사용하려면 해당 범위 지정 메서드인 NotifyScoped - dequeueCall()을 사용합니다.
알림 - forwardCall(GlideRecord 호출, 문자열 대상, 문자열 dtmf)
지정된 호출을 다른 호출 수신자에게 전달합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 호출 | GlideRecord 또는 문자열 | 착신 전환할 통화의 통화 기록 또는 전화 통신 제공자 호출 ID를 Notify합니다. |
| 대상 | GlideRecord 또는 문자열 | 통화를 착신 전환할 발신자의 Notify 전화 번호 기록 또는 E.164 호환 전화 번호입니다. |
| Dtmf | 문자열 | 통화 연결 시 보낼 DTMF(Dual Tone - Multi Frequency) 코드입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 통화를 다른 전화 번호로 착신 전환하는 방법을 보여 줍니다.
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 문자열)
호출을 수신하는 데 사용할 수 있는 클라이언트 세션의 목록을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 번호 | 문자열 | 유효한 Notify 전화번호입니다. |
| 유형 | 설명 |
|---|---|
| GlideRecord | 지정된 전화 번호에 대한 notify_client_session 테이블의 GlideRecord입니다. 사용 가능한 클라이언트 세션이 없는 경우 "0"을 반환합니다. |
다음 예제에서는 getAvailableClients() 메서드를 사용하여 notify_client_session 테이블로 인덱싱한 다음 사용 가능한 모든 Notify 클라이언트에서 반복하는 방법을 보여 줍니다.
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 콜 [notify_call] 테이블의 기록입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 상위 호출 기록의 고유한 sys_id입니다. |
이 예제에서는 지정된 호출의 부모 호출을 가져오는 방법을 보여 줍니다.
var callRecord = new GlideRecord('notify_call');
callRecord.get("0f4f5863ff13310014ecffffffffff28");
var notify = new SNC.Notify();
var parentCallID = notify.getParentCallID(callRecord);
알림 - getPhoneNumbers()
Notify에 사용할 수 있는 모든 전화 번호와 약식 코드를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 목록 | NotifyPhoneNumber 개체의 목록으로, 각 개체는 Notify에 사용할 수 있는 하나의 전화 번호를 나타냅니다. |
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, 기록)
WebRTC 또는 모바일 클라이언트에서 사용할 활성 전화 통신 드라이버에 대한 클라이언트 토큰을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 기록 | GlideRecord | 그룹 기록 또는 사용자 기록과 같은 Notify 클라이언트를 식별하는 데 사용할 GlideRecord입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 지원되는 드라이버에 대한 웹 RTC 토큰Web RTC tokens for the supported drivers, as a JSON string with the following format: {driverName1: "token1", driverName2: "token2"}, such as "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]);
}
이 예제에서는 모든 Notify 그룹에 대한 클라이언트 토큰을 가져오는 방법을 보여줍니다.
// 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(문자열 소유자)
자동으로 시간 초과되기 전에 지정된 전화 통신 드라이버에 대해 클라이언트 세션이 활성 상태로 유지되는 최대 시간을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 소유자 | 문자열 | 세션 길이를 검색할 전화 통신 드라이버의 이름입니다. 유효한 값은 다음과 같습니다.
|
| 유형 | 설명 |
|---|---|
| 정수 | 세션의 최대 길이(초)입니다. 기본값: 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, 문자열 기능)
지정된 전화 번호에 지정된 기능이 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 전화 번호 | 문자열 | 지정된 역량을 확인할 전화 번호입니다. |
| 역량 | 문자열 | 탐지 기능입니다. 문자열 텍스트는 전화기에 있는 텍스트와 정확히 일치해야 합니다. |
| 유형 | 설명 |
|---|---|
| 부울 | 지정된 전화기에 지정된 기능이 있는지 여부를 나타내는 플래그입니다.
|
이 예에서는 전화기에 특정 기능이 있는지 확인하는 방법을 보여 줍니다.
// 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 참가자)
현재 Notify 전화 회의에서 지정된 호출자를 제거합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 참가자 | GlideRecord | 전화 회의에서 제거할 호출자의 참가자 알림[notify_participant] 기록을 포함하는 GlideRecord 객체입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 전화 회의에서 참가자를 제거하는 방법을 보여 줍니다.
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)
활성 Notify 전화 통화에 대해 하나 이상의 작업을 수행합니다.
통화에 대해 수행할 수 있는 작업에는 통화 대기열 또는 대기열 제거, 텍스트 읽기, 오디오 재생 또는 통화 착신 전환이 포함됩니다. 사용자 지정 작업을 만들 수도 있습니다 지정된 호출에 적용할 모든 작업을 지정한 후 modifyCall() 메서드를 호출합니다. 사용 가능한 작업에 대한 자세한 내용은 NotifyAction API 설명서를 참조하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| 호출 기록 | GlideRecord | 작업을 적용할 호출의 알림 호출 [notify_call] 기록입니다. |
| 알림 작업 | 알림 작업 | 호출에 대해 수행할 하나 이상의 작업을 설명하는 NotifyAction 객체입니다. NotifyAction() 메서드 중 하나 이상을 호출하여 이 객체를 만듭니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예제에서는 호출을 수정하는 방법을 보여 줍니다.
// 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입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 호출자를 음소거하는 방법을 보여 줍니다.
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 객체입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 큐에서 통화를 보류하는 방법을 보여 줍니다.
var notifyCallGr = new GlideRecord('notify_call');
notifyCallGr.get('active participant sys id');
if (notifyCallGr.isValid) {
SNC.Notify.queueCall(notifyCallGr);
}
범위가 지정된 등가
범위가 지정된 애플리케이션에서 queueCall() 메서드를 사용하려면 해당 범위 지정 메서드인 NotifyScoped - queueCall()을 사용합니다.
알림 - sendBulkSMS(문자열 notifyPhoneNumber, 배열 toPhoneNumbers, 문자열 messageBody, GlideRecord 소스)
지정된 SMS 메시지를 지정된 Notify 클라이언트 목록(전화 번호)으로 보냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 전화 번호 | 문자열 | SMS 메시지를 보낼 알림 전화 번호입니다. |
| toPhoneNumbers | 문자열 배열 | SMS 메시지를 보낼 전화 번호의 쉼표로 구분된 목록입니다. 형식: E.164 |
| 메시지 본문 | 문자열 | 보낼 SMS 텍스트입니다. |
| source | 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(문자열 notifyPhoneNumber, 문자열 toPhoneNumber, 문자열 messageBody, GlideRecord 소스)
E.164에 따른 전화 번호로 SMS 텍스트 메시지를 보냅니다.
이 메서드는 알림 메시지 [notify_message] 테이블에 새 기록을 만들고 원본 기록에 연결합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 알림 전화 번호 | 문자열 | SMS 메시지를 보낼 알림 전화 번호입니다. |
| toPhoneNumber | 문자열 | SMS 메시지를 보낼 E.164 호환 전화 번호입니다. |
| 메시지 본문 | 문자열 | SMS 문자 메시지의 본문입니다. |
| source | GlideRecord | 인시던트와 같이 이 SMS 메시지를 메시지로 표시한 소스 기록입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 고유 메시지 SID; 알림 메시지[notify_message] 기록에 message_id로 저장됩니다. |
다음 예제에서는 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입니다. |
| 유형 | 설명 |
|---|---|
| void |
다음 예제에서는 호출자의 음소거를 해제하는 방법을 보여 줍니다.
var notifyParticipantGr = new GlideRecord('notify_participant');
notifyParticipantGr.get('active participant sys id');
if (notifyParticipantGr.isValid) {
SNC.Notify.unmute(notifyParticipantGr);
}
범위가 지정된 등가
범위가 지정된 응용 프로그램에서 unmute() 메서드를 사용하려면 해당 범위 지정 메서드인 NotifyScoped - unmute()를 사용합니다.