NotifyClient - 클라이언트
NotifyClient API는 웹 브라우저에서 전화를 걸고 받는 것과 같은 알림 전화 통신 기능을 사용할 수 있는 메서드를 제공합니다.
여러 NotifyClient 메서드는 콜백 함수를 매개 변수로 사용합니다. NotifyClient 메서드 호출은 비동기적으로 수행되므로 이러한 메서드는 값을 직접 반환할 수 없습니다. 콜백 함수를 사용하여 변수를 할당하거나 다른 API를 호출하는 등의 방법으로 반환된 데이터를 구문 분석합니다.
NotifyClient - Client(Object notifyConfig, Boolean initializeVendorClientLazily)
새 알림 WebRTC 클라이언트 개체를 인스턴스화합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| initializeVendorClientLazily (영문) | 부울 | setCallerId() 메서드에 전달된 autoSelectVendorCallback 함수를 사용하여 호출자의 연결된 공급업체를 자동으로 설정할지 여부를 나타내는 플래그입니다(notifyConfig.vendor생성자에 정의할 필요가 없음).
|
| 알림 구성 | 객체 | 알림 WebRTC 클라이언트에 대한 구성 설정을 포함하는 JSON 객체입니다. |
| notifyConfig.autoLoadScriptResources | 부울 | 벤더 클라이언트에 필요한 핵심 JS 라이브러리를 로드하는 방법을 나타내는 플래그입니다.
|
| notifyConfig.callerId | 번호 | 사용할 등록된 알림 번호입니다. 이 값을 직접 설정하지 마십시오. notifyClient.setCallerID() 메서드를 사용하여 이 값을 설정합니다. |
| notifyConfig.forceRefreshToken | 부울 | 만료된 클라이언트 토큰을 자동 갱신할지 여부를 나타내는 플래그입니다.
|
| notifyConfig.skipParentId | 부울 | 수신 호출에 대해 onIncoming 호출자를 즉시 호출할지 여부를 나타내는 플래그입니다.
|
| notifyConfig.vendor | 상수 | 호출자가 속한 벤더입니다.
|
다음 예제에서는 NotifyClient 생성자를 만들고, 다양한 이벤트 수신기를 등록하고, 클라이언트 드라이버를 초기화하는 방법을 보여 줍니다.
jQuery(function () {
var notifyConfig = {
autoLoadScriptResources: true // This will take care of auto loading the JS resources needed by the client (if any)
};
var client = new SNC.Notify.Client(notifyConfig, true); // The second argument ensures that the proper vendor for the given number is auto determined
client.setCallerId('valid_notify_long_number', function () {
// This is called after the vendor has been determined.
if (!notifyConfig.vendor) // Means this number has no compatible vendor
return;
client.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
// Ability to call is available
});
client.addEventListener(SNC.Notify.STD_EVENTS.OFFLINE, function () {
// Ability to call is _not_ available right now
});
client.addEventListener(SNC.Notify.STD_EVENTS.ERROR, function (msg, code) {
// Some error happened
});
//... register other event handlers here
//Show UI elements which can be used to invoke client.call() and other APIs
client.init(); // This is important to call this.
});
});
알림 클라이언트 - addEventListener(문자열 이벤트, 함수 fn)
알림 클라이언트에서 변경 내용을 수신하는 이벤트 핸들러를 등록합니다.
이 방법을 사용하면 여러 수신기를 등록할 수 있습니다. 각 수신기는 별도의 메서드 호출이어야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 이벤트 | 문자열 | 수신할 이벤트의 이름입니다. 문자열을 전달하는 대신 SNC에 정의된 상수를 사용합니다
|
| 유형 | 설명 |
|---|---|
| 기능 | 수신기의 등록을 취소하는 데 사용할 함수입니다. |
이 예에서는 여러 수신기를 등록하는 방법을 보여 줍니다.
jQuery(function () {
var notifyConfig = {
autoLoadScriptResources: true // This will take care of auto loading the JS resources needed by the client (if any)
};
var client = new SNC.Notify.Client(notifyConfig, true); // The second argument ensures that the proper client for the given number is auto determined
client.setCallerId('valid_notify_long_number', function () {
// This is called after the client has been determined.
if (!notifyConfig.vendor) // Means this number has no compatible client
return;
client.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
// Ability to call is available
});
client.addEventListener(SNC.Notify.STD_EVENTS.OFFLINE, function () {
// Ability to call is _not_ available right now
});
client.addEventListener(SNC.Notify.STD_EVENTS.ERROR, function (msg, code) {
// Some error happened
});
//... register other event handlers here
client.init(); // This is important to call this.
});
});
이 예제에서는 수신기의 등록을 취소하는 방법을 보여 줍니다.
var dereg = notifyClient.addEventListener(SNC.Notify.STD_EVENTS.ONLINE, function () {
...
});
dereg();
// The event listener function is no longer triggered.
NotifyClient - call(객체 식별자)
지정된 전화 번호 또는 지정된 사용자와 연결된 전화 번호로 전화를 겁니다.
. Notify.Status입니다.| 이름 | 유형 | 설명 |
|---|---|---|
| 식별자 | 객체 | 전화를 걸 전화번호 또는 WebRTC 사용자의 sys_id가 포함된 JSON 객체입니다. 사용자 sys_id 전달하면 브라우저 간 통신을 통해 호출이 수행됩니다. 알림 WebRTC 세션 테이블에서 사용자 sys_id 얻을 수 있습니다. 주: 전화 번호와 사용자 sys_id 모두 제공하는 경우 메서드는 전화 번호만 사용합니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예제에서는 전화 번호를 함수 매개 변수로 전달하는 방법을 보여 줍니다.
notifyClient.call({
phoneNumber: "+18001112223"
});
이 예제에서는 사용자 레코드 sys_id 함수 매개 변수로 전달하는 방법을 보여 줍니다.
notifyClient.call({
userId: "6816f79cc0a8016401c5a33be04be441"
});
이 예제에서는 단추 클릭 처리기를 보여 줍니다.
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
이 예제에서는 이벤트 처리기를 보여 줍니다.
onConnect: function(status) {
// webRTC receives a call connection event (incoming or outgoing).
if (status == SNC.Notify.Status.OPEN) {
setStatus(getTimeStamp() + " -- Successfully established call");
showHangupButton();
}
},
NotifyClient - destroy()
현재 노티파이 클라이언트를 종료하여 사용할 수 없게 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
NotifyClient - forwardCall(Object 인수)
진행 중인 수신 또는 발신 전화 통화를 다른 전화 번호 또는 다른 WebRTC 클라이언트로 전달합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 논쟁 | 객체 | 호출을 전화 번호 또는 WebRTC 클라이언트(사용자 sys_id)로 전달하는 데 필요한 정보를 포함하는 JSON 객체입니다. 이 sys_id 알림 WebRTC 세션 테이블에서 얻을 수 있습니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 다른 전화 번호로 통화를 착신 전환하는 방법을 보여 줍니다. dtmf 특성을 사용하면 DTMF 발신음을 수신 번호로 보낼 수 있습니다.
var arg = {
type: "number",
id: "+17012345678",
dtmf: "1234"
}
client.forwardCall(arg);
이 예제에서는 다른 알림 클라이언트로 통화를 전달하는 방법을 보여 줍니다.
var arg = {
type: "userId",
id: "6816f79cc0a8016401c5a33be04be441"
}
client.forwardCall(arg);
NotifyClient - getAvailableClients(함수 콜백)
호출을 수락할 수 있는 클라이언트 목록을 반환합니다.
이 메서드는 목록에서 현재 클라이언트를 제외합니다. 동등한 Notify-getAvailableClients() 메서드는 사용자를 필터링하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 콜백 | 기능 | 클라이언트 목록을 구문 분석하는 데 사용할 함수입니다. 이 함수는 단일 매개변수, 즉 다음 형식의 JSON 객체 배열을 허용합니다. |
| 유형 | 설명 |
|---|---|
| void |
NotifyClient - getParentId(문자열 callId, 함수 콜백)
지정된 호출 식별자의 상위 호출 식별자를 반환합니다(있는 경우).
전화 통신 공급자에 따라 부모 호출 식별자가 반환되기까지 지연이 있을 수 있습니다. 따라서 콜백 함수를 제공해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| callID | 문자열 | 상위 호출 식별자를 반환할 호출의 고유 식별자입니다. |
| 콜백 | 기능 | 상위 호출 식별자 또는 여러 번 시도한 후에도 식별자를 가져올 수 없는 경우 오류 메시지가 포함된 JSON 객체를 가져오는 함수입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 상위 콜 식별자입니다. |
이 예제에서는 이 메서드를 사용하여 부모 호출 식별자를 가져오는 방법을 보여 줍니다.
notifyClient.getParentId( callId, function(jsonObj) {} );
이 예제에서는 jsonObj 매개 변수의 내용을 보여 줍니다.
{
parentId: "xyz",
error: "msg"
}
알림 클라이언트 - getStatus()
현재 호출의 정규화된 상태를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 문자열 | 호출의 현재 상태입니다. 전화 통신 공급자 API에서 반환되는 값은 반환된 드라이버 값을 SNC에 정의된 해당 값으로 대체하여 정규화됩니다. Notify.Status입니다. |
이 예제에서는 현재 알림 클라이언트의 상태를 가져오는 방법을 보여 줍니다.
clientStatus = notifyClient.getStatus();
알림 클라이언트 - hangupCall()
현재 통화를 종료합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
이 예는 전화를 끊는 방법입니다.
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
알림 클라이언트 - init()
클라이언트 드라이버를 초기화합니다.
예를 들어 Twilio 클라이언트를 사용하는 경우 Twilio.Device.setup() 메서드를 호출합니다. 사용자가 페이지와 상호 작용한 후 이 메서드를 호출합니다. 이 초기화 프로세스는 비동기적이므로 ONLINE 이벤트 처리기를 제공해야 합니다. 이 처리기는 설치 프로세스가 완료되고 시스템에서 전화를 받거나 걸 준비가 되었을 때 호출됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
이 예제에서는 알림 클라이언트를 초기화하는 방법을 보여줍니다.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient - 음소거(부울 음소거)
현재 클라이언트를 음소거하거나 음소거 해제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 음소거 | 부울 | 현재 호출을 음소거하거나 음소거 해제합니다.
|
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 현재 통화를 음소거하는 방법을 보여줍니다.
notifyClient.mute( "true" );
알림 클라이언트 - pickupCall()
WebRTC 클라이언트에서 걸려오는 전화에 응답하고 연결합니다.
들어오는 호출에 대한 알림이 있을 때 이 메서드를 호출합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 전화를 당겨받는 방법을 보여 줍니다.
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient - sendDtmf(문자열 숫자)
현재 통화에 대해 하나 이상의 DTMF 유효 숫자를 보냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 자리 | 문자열 | 하나 이상의 DTMF 유효 숫자입니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 DTMF 신호를 현재 통화로 전송하는 방법을 보여줍니다.
notifyClient.SendDtmf( "1246AF" ) {} );
NotifyClient - setCallerId(문자열 값, 함수 autoSelectVendorCallback)
현재 클라이언트 세션에 대한 호출자 ID를 설정합니다.
발신자 ID는 언제든지 변경하거나 업데이트할 수 있지만 발신자 ID는 동일한 벤더에 속해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 문자열 | 전화를 걸고 받는 데 사용할 전화 번호입니다. |
| autoSelectVendorCallback (영문) | 기능 | 선택적. initializeVendorClientLazily 이 함수를 사용하려면 생성자에서 "true"로 설정해야 하며, 그렇지 않으면 오류가 발생합니다. 지정된 전화번호에 대해 벤더가 자동으로 설정되면 호출할 콜백 함수의 이름입니다. 이 옵션을 사용하면 생성자()notifyConfig.vendor에 공급업체를 지정할 필요가 없습니다. 자동 벤더 선택은 비동기 작업입니다. 따라서 이 콜백은 notifyConfig.init()를 호출하는 것이 안전한 시기를 나타내는 데 필요하며, 이 메서드는 호출되기 전에 공급업체를 설정해야 합니다. 또한 공급업체가 지정되었는지 확인하기 위해 콜백에 설정되었는지 확인해야 notifyConfig.vendor 합니다. |
| 유형 | 설명 |
|---|---|
| void |
이 예에서는 발신자 ID를 설정하는 방법을 보여 줍니다. 이 예제에서는 공급업체가 생성자에 설정되어 있다고 가정합니다.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient - setClientAvailable(부울 사용 가능)
활성 WebRTC 클라이언트 에이전트의 가용성을 설정합니다.
이러한 유형의 가용성은 에이전트가 통화 중일 때와 다릅니다. 이 경우, 활성 WebRTC 클라이언트는 통화 중이 아니라 연결되어 있을 수 있지만, 전화를 받고 싶지 않을 수 있습니다.
이 메서드를 호출하면 이 클라이언트 세션과 연결된 알림 클라이언트 연결 세션 [notify_client_session] 레코드의 사용 가능 필드 값이 업데이트됩니다. getAvailableClients() 메서드를 사용하여 사용 가능한 클라이언트 목록을 가져올 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 사용 가능 | 부울 | 활성 WebRTC 클라이언트가 호출을 수신할지 여부를 나타내는 플래그입니다.
|
| 유형 | 설명 |
|---|---|
| void |