NotifyClient - 클라이언트
NotifyClient API는 웹 브라우저에서 전화를 걸고 받는 것과 같은 알림 전화 통신 기능을 사용할 수 있는 메서드를 제공합니다.
여러 NotifyClient 메서드는 콜백 함수를 매개변수로 사용합니다. NotifyClient 메서드 호출은 비동기적으로 수행되므로 이러한 메서드는 값을 직접 반환할 수 없습니다. 콜백 함수를 사용하여 변수를 할당하거나 다른 API 호출을 수행하는 등의 방법으로 반환된 데이터를 구문 분석합니다.
알림 클라이언트 - 클라이언트(개체: notifyConfig, 부울 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(객체 식별자)
지정된 전화 번호 또는 특정 사용자와 연결된 전화 번호로 전화를 겁니다.
. 알림.상태.| 이름 | 유형 | 설명 |
|---|---|---|
| 식별자 | 객체 | 호출할 전화 번호 또는 WebRTC 사용자의 sys_id이 포함된 JSON 객체입니다. 사용자 sys_id 전달하면 브라우저 간 통신을 통해 호출이 이루어집니다. 알림 WebRTC 세션 테이블에서 사용자 sys_id을 얻을 수 있습니다. 주: 전화 번호와 사용자 sys_id 모두 제공하는 경우 방법은 전화 번호만 사용합니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예시에서는 전화 번호를 함수 매개변수로 전달하는 방법을 보여줍니다.
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()
현재 알림 클라이언트를 강제 종료하여 사용할 수 없게 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 무효 |
NotifyClient - forwardCall(객체 인수)
진행 중인 수신 또는 발신 전화 통화를 다른 전화 번호 또는 다른 WebRTC 클라이언트로 착신 전환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 인수 | 객체 | 전화 번호 또는 WebRTC 클라이언트(사용자 sys_id)로 통화를 전달하는 데 필요한 정보가 포함된 JSON 객체입니다. 이 sys_id 알림 WebRTC 세션 테이블에서 얻을 수 있습니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예에서는 다른 전화 번호로 호출을 착신 전환하는 방법을 보여줍니다. dtmf 속성을 사용하면 수신 번호로 DTMF 발신음을 보낼 수 있습니다.
var arg = {
type: "number",
id: "+17012345678",
dtmf: "1234"
}
client.forwardCall(arg);
이 예시에서는 호출을 다른 알림 클라이언트로 전달하는 방법을 보여줍니다.
var arg = {
type: "userId",
id: "6816f79cc0a8016401c5a33be04be441"
}
client.forwardCall(arg);
알림 클라이언트 - getAvailableClients(함수 콜백)
호출을 수락할 수 있는 클라이언트 목록을 반환합니다.
이 메서드는 목록에서 현재 클라이언트를 제외합니다. 동등한 Notify-getAvailableClients() 메서드는 사용자를 필터링하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 콜백 | 함수 | 클라이언트 목록을 구문 분석하는 데 사용할 함수입니다. 이 함수는 단일 매개변수, 즉 다음과 같은 형식의 JSON 객체 배열을 허용합니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
알림 클라이언트 - getParentId(문자열 callId, 함수 콜백)
지정된 호출 식별자(있는 경우)에 대한 상위 호출 식별자를 반환합니다.
전화 통신 공급자에 따라 상위 호출 식별자가 반환되기까지 지연이 있을 수 있습니다. 따라서 콜백 함수를 제공해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 호출 ID | 문자열 | 상위 호출 식별자를 반환할 호출의 고유 식별자입니다. |
| 콜백 | 함수 | 여러 번 시도한 후에도 식별자를 얻을 수 없는 경우 상위 호출 식별자 또는 오류 메시지를 포함하는 JSON 객체를 가져오는 함수입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | 상위 콜 식별자입니다. |
이 예제에서는 이 메서드를 사용하여 상위 호출 식별자를 가져오는 방법을 보여 줍니다.
notifyClient.getParentId( callId, function(jsonObj) {} );
이 예제에서는 jsonObj 매개변수의 내용을 보여줍니다.
{
parentId: "xyz",
error: "msg"
}
알림 클라이언트 - getStatus()
현재 호출의 표준화된 상태를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 문자열 | 호출의 현재 상태입니다. 전화 통신 공급자 API에서 반환된 값은 반환된 드라이버 값을 SNC에 정의된 것과 동등한 값으로 대체하여 정규화됩니다. 알림.상태. |
이 예제는 현재 알림 클라이언트의 상태를 가져오는 방법을 보여줍니다.
clientStatus = notifyClient.getStatus();
알림 클라이언트 - hangupCall()
현재 호출을 종료합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 무효 |
다음은 전화를 끊는 방법의 예입니다.
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
알림 클라이언트 - init()
클라이언트 드라이버를 초기화합니다.
예를 들어 Twilio 클라이언트를 사용할 때 Twilio.Device.setup() 메서드를 호출합니다. 사용자가 페이지와 상호작용한 후 이 메서드를 호출합니다. 이 초기화 프로세스는 비동기적이므로 ONLINE 이벤트 핸들러를 제공해야 합니다. 설정 프로세스가 완료되고 시스템에서 전화를 받거나 걸 준비가 되면 이 핸들러가 호출됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예시에서는 알림 클라이언트를 초기화하는 방법을 보여줍니다.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient - 음소거(부울 음소거됨)
현재 클라이언트를 음소거하거나 음소거 해제합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 음소거됨 | 부울 | 현재 호출을 음소거하거나 음소거 해제합니다.
|
| 유형 | 설명 |
|---|---|
| 무효 |
이 예에서는 현재 호출을 음소거하는 방법을 보여줍니다.
notifyClient.mute( "true" );
알림 클라이언트 - pickupCall()
WebRTC 클라이언트에서 걸려오는 호출에 응답하고 연결합니다.
수신 호출에 대한 알림이 있을 때 이 메서드를 호출합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예에서는 전화를 받는 방법을 보여줍니다.
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient - sendDtmf(문자열 숫자)
현재 호출을 통해 하나 이상의 DTMF 유효 숫자를 보냅니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 자릿수 | 문자열 | 하나 이상의 DTMF 유효 숫자입니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예에서는 현재 호출에 DTMF 신호를 보내는 방법을 보여줍니다.
notifyClient.SendDtmf( "1246AF" ) {} );
알림 클라이언트 - setCallerId(문자열 값, 함수 autoSelectVendorCallback)
현재 클라이언트 세션의 호출자 ID를 설정합니다.
호출자 ID는 언제든지 변경하거나 업데이트할 수 있지만 호출자 ID는 동일한 벤더에 속해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 문자열 | 전화를 걸고 받을 때 사용할 전화 번호입니다. |
| autoSelectVendorCallback | 함수 | 선택 사항입니다. initializeVendorClientLazily 이 함수를 사용하려면 생성자에서 "true"로 설정해야하며 그렇지 않으면 오류가 발생합니다. 지정된 전화 번호에 대해 벤더가 자동으로 설정되면 호출할 콜백 함수의 이름입니다. 이 옵션을 사용하면 생성자(notifyConfig.vendor)에서 벤더를 지정할 필요가 없습니다. 자동 벤더 선택은 비동기 작업입니다. 따라서 이 콜백은 notifyConfig.init()를 호출해도 안전한 시기를 나타내기 위해 필요합니다. 또한 콜백에 설정되었는지 확인 notifyConfig.vendor 하여 벤더가 지정되었는지 확인해야 합니다. |
| 유형 | 설명 |
|---|---|
| 무효 |
이 예시에서는 호출자 ID를 설정하는 방법을 보여줍니다. 이 예제에서는 공급업체가 생성자에 설정되어 있다고 가정합니다.
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
알림 클라이언트 - setClientAvailable(부울 사용 가능)
활성 WebRTC 클라이언트 에이전트의 가용성을 설정합니다.
이 유형의 가용성은 에이전트가 통화 중인 경우와 다릅니다. 이 경우 활성 WebRTC 클라이언트가 연결되어 있고 통화 중이 아닐 수 있지만 전화를 받고 싶지 않을 수 있습니다.
이 메서드를 호출하면 이 클라이언트 세션과 연결된 알림 클라이언트 연결 세션[notify_client_session] 레코드의 사용 가능 필드 값이 업데이트됩니다. getAvailableClients() 메서드를 사용하여 사용 가능한 클라이언트 목록을 가져올 수 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 사용 가능 | 부울 | 활성 WebRTC 클라이언트가 호출 수신을 원하는지 여부를 나타내는 플래그입니다.
|
| 유형 | 설명 |
|---|---|
| 무효 |