NotifyClient - 클라이언트

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 16분
  • NotifyClient API는 웹 브라우저에서 전화를 걸고 받는 것과 같은 알림 전화 통신 기능을 사용할 수 있는 메서드를 제공합니다.

    여러 NotifyClient 메서드는 콜백 함수를 매개변수로 사용합니다. NotifyClient 메서드 호출은 비동기적으로 수행되므로 이러한 메서드는 값을 직접 반환할 수 없습니다. 콜백 함수를 사용하여 변수를 할당하거나 다른 API 호출을 수행하는 등의 방법으로 반환된 데이터를 구문 분석합니다.

    알림 클라이언트 - 클라이언트(개체: notifyConfig, 부울 initializeVendorClientLazily)

    새 알림 WebRTC 클라이언트 객체를 인스턴스화합니다.

    표 1. 매개변수
    이름 유형 설명
    initializeVendorClientLazily 부울 setCallerId() 메서드에 전달된 autoSelectVendorCallback 함수를 사용하여 호출자의 연결된 벤더를 자동으로 설정할지 여부를 나타내는 플래그입니다(notifyConfig.vendor생성자에 정의할 필요는 없음).
    • false: 기본값 autoSelectVendorCallback 함수를 사용하여 호출자의 벤더를 설정하지 마십시오. 생성자에서 벤더를 설정해야 합니다.
    • true: 호출자 ID가 설정된 경우 autoSelectVendorCallback 함수를 사용하여 벤더를 정의합니다.
    알림구성 객체 알림 WebRTC 클라이언트에 대한 구성 설정을 포함하는 JSON 객체입니다.
    notifyConfig.autoLoadScriptResources 부울 벤더 클라이언트에 필요한 핵심 JS 라이브러리를 로드하는 방법을 나타내는 플래그입니다.
    • false: 기본값 벤더별 코드를 사용하여 필요한 벤더 JS 라이브러리를 로드합니다(이전 버전과의 호환성 활성화).
    • true: notifyClient.js 사용하여 핵심 JS 라이브러리를 로드합니다.
    notifyConfig.callerId 번호 사용할 등록된 알림 번호입니다. 이 값을 직접 설정하지 마십시오. notifyClient.setCallerID() 메서드를 사용하여 이 값을 설정합니다.
    notifyConfig.forceRefreshToken 부울 만료된 클라이언트 토큰을 자동으로 갱신할지 여부를 나타내는 플래그입니다.
    • false: 만료되면 클라이언트 토큰을 자동으로 갱신하지 않습니다.
    • true: 기본값 만료되면 클라이언트 토큰을 자동으로 갱신합니다.
    notifyConfig.skipParentId 부울 들어오는 호출에 대해 onIncoming 호출자를 즉시 호출할지 여부를 나타내는 플래그입니다.
    • false: 기본값 onIncoming 이벤트 핸들러를 즉시 호출하지 마십시오.
    • true: onIncoming 이벤트 핸들러를 즉시 호출합니다. 이 플래그를 설정하면 <Dial><Client> Twiml로 인해 들어오는 호출이 발생한 다른 호출이 있는 경우 이 플래그를 설정하면 시스템이 백 엔드를 자동 폴링합니다. 이 자동 폴링은 상위 notify_call 참조를 가져옵니다.
    notifyConfig.vendor 상수 호출자가 속한 벤더입니다.
    • SNC입니다. Notify.Vendor.TWILIO_DIRECT
    • SNC입니다. Notify.Vendor.TWILIO(이전, 사용되지 않는 Twilio 드라이버)

    다음 예제에서는 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)

    알림 클라이언트에서 변경 내용을 수신할 이벤트 핸들러를 등록합니다.

    이 방법을 사용하여 여러 수신기를 등록할 수 있습니다. 각 수신기는 별도의 메서드 호출이어야 합니다.

    표 2. 매개변수
    이름 유형 설명
    이벤트 문자열 수신할 이벤트의 이름입니다.

    문자열을 전달하는 대신 SNC에 정의된 상수를 사용합니다 . Notify.STD_EVENTS.

    • CALL_START: 호출이 시작되어 진행 중입니다.
    • CALL_CANCEL: 호출자가 호출을 취소했습니다.
    • CALL_INIT: 호출(수신 또는 발신)에 연결된 WebRTC입니다.
    • CALL_DISCONNECT: 현재 통화가 끊겼습니다.
    • ERROR: 오류가 발생했습니다. 매개변수: message(string), errCode(string)
      • 메시지: 표시할 오류 메시지입니다.
      • errCode: 선택 사항입니다. 관련된 오류 코드입니다.
    • INCOMING_CALL: 전화가 걸려옵니다. 매개변수: from(문자열), to(문자열), callId(문자열), parentId(문자열), sysId(문자열), isFromClient(부울)
      • 보낸 사람: 호출자의 전화 번호입니다.
      • 수신인: 발신 전화 번호입니다.
      • callId: 호출의 SID입니다.
      • parentId: 상위 notify_call 참조입니다. skipParentId가 예로 설정된 경우 이 매개변수를 전달해서는 안 됩니다.
      • sysId: WebRTC 대 WebRTC 호출만 해당됩니다. 호출자의 고유 식별자(sys_id)입니다.
      • isFromClient: WebRTC 대 WebRTC 호출만 해당합니다. 호출이 다른 WebRTC 클라이언트에서 왔는지 여부를 나타내는 플래그입니다.
    • CALL_MUTE: 클라이언트가 음소거되었습니다.
    • CALL_UNMUTE: 클라이언트가 음소거 해제되었습니다.
    • OFFLINE: WebRTC 세션이 활성 상태가 아닙니다.
    • 온라인: WebRTC 세션이 준비되었습니다. init() 메서드를 호출한 후에 설정해야 합니다.
    표 3. 반환
    유형 설명
    함수 수신기의 등록을 취소하는 데 사용할 함수입니다.

    이 예시에서는 여러 수신기를 등록하는 방법을 보여줍니다.

    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(객체 식별자)

    지정된 전화 번호 또는 특정 사용자와 연결된 전화 번호로 전화를 겁니다.

    주:
    호출/연결 상태를 확인할 때는 항상 SNC에서 제공하는 상수와 비교하십시오 . 알림.상태.
    표 4. 매개변수
    이름 유형 설명
    식별자 객체 호출할 전화 번호 또는 WebRTC 사용자의 sys_id이 포함된 JSON 객체입니다. 사용자 sys_id 전달하면 브라우저 간 통신을 통해 호출이 이루어집니다.

    알림 WebRTC 세션 테이블에서 사용자 sys_id을 얻을 수 있습니다.

    주:
    전화 번호와 사용자 sys_id 모두 제공하는 경우 방법은 전화 번호만 사용합니다.
    표 5. 반환
    유형 설명
    무효

    이 예시에서는 전화 번호를 함수 매개변수로 전달하는 방법을 보여줍니다.

    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()

    현재 알림 클라이언트를 강제 종료하여 사용할 수 없게 만듭니다.

    표 6. 매개변수
    이름 유형 설명
    안 함
    표 7. 반환
    유형 설명
    무효

    NotifyClient - forwardCall(객체 인수)

    진행 중인 수신 또는 발신 전화 통화를 다른 전화 번호 또는 다른 WebRTC 클라이언트로 착신 전환합니다.

    표 8. 매개변수
    이름 유형 설명
    인수 객체 전화 번호 또는 WebRTC 클라이언트(사용자 sys_id)로 통화를 전달하는 데 필요한 정보가 포함된 JSON 객체입니다. 이 sys_id 알림 WebRTC 세션 테이블에서 얻을 수 있습니다.
    표 9. 반환
    유형 설명
    무효

    이 예에서는 다른 전화 번호로 호출을 착신 전환하는 방법을 보여줍니다. 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() 메서드는 사용자를 필터링하지 않습니다.

    표 10. 매개변수
    이름 유형 설명
    콜백 함수 클라이언트 목록을 구문 분석하는 데 사용할 함수입니다. 이 함수는 단일 매개변수, 즉 다음과 같은 형식의 JSON 객체 배열을 허용합니다.
    [{
        sys_id: "...",  // user's sys_id
        name: "..." // user's name
    }]
    표 11. 반환
    유형 설명
    무효

    알림 클라이언트 - getParentId(문자열 callId, 함수 콜백)

    지정된 호출 식별자(있는 경우)에 대한 상위 호출 식별자를 반환합니다.

    전화 통신 공급자에 따라 상위 호출 식별자가 반환되기까지 지연이 있을 수 있습니다. 따라서 콜백 함수를 제공해야 합니다.

    표 12. 매개변수
    이름 유형 설명
    호출 ID 문자열 상위 호출 식별자를 반환할 호출의 고유 식별자입니다.
    콜백 함수 여러 번 시도한 후에도 식별자를 얻을 수 없는 경우 상위 호출 식별자 또는 오류 메시지를 포함하는 JSON 객체를 가져오는 함수입니다.
    표 13. 반환
    유형 설명
    문자열 상위 콜 식별자입니다.

    이 예제에서는 이 메서드를 사용하여 상위 호출 식별자를 가져오는 방법을 보여 줍니다.

    notifyClient.getParentId( callId, function(jsonObj) {} );

    이 예제에서는 jsonObj 매개변수의 내용을 보여줍니다.

    {
    	parentId: "xyz",
    	error: "msg"
    }

    알림 클라이언트 - getStatus()

    현재 호출의 표준화된 상태를 반환합니다.

    표 14. 매개변수
    이름 유형 설명
    안 함
    표 15. 반환
    유형 설명
    문자열 호출의 현재 상태입니다. 전화 통신 공급자 API에서 반환된 값은 반환된 드라이버 값을 SNC에 정의된 것과 동등한 값으로 대체하여 정규화됩니다. 알림.상태.

    이 예제는 현재 알림 클라이언트의 상태를 가져오는 방법을 보여줍니다.

    clientStatus = notifyClient.getStatus();

    알림 클라이언트 - hangupCall()

    현재 호출을 종료합니다.

    표 16. 매개변수
    이름 유형 설명
    안 함
    표 17. 반환
    유형 설명
    무효

    다음은 전화를 끊는 방법의 예입니다.

    $j("#pickupCallBtn").on("click", function() {
        notifyClient.hangupCall();
    });

    알림 클라이언트 - init()

    클라이언트 드라이버를 초기화합니다.

    예를 들어 Twilio 클라이언트를 사용할 때 Twilio.Device.setup() 메서드를 호출합니다. 사용자가 페이지와 상호작용한 후 이 메서드를 호출합니다. 이 초기화 프로세스는 비동기적이므로 ONLINE 이벤트 핸들러를 제공해야 합니다. 설정 프로세스가 완료되고 시스템에서 전화를 받거나 걸 준비가 되면 이 핸들러가 호출됩니다.

    표 18. 매개변수
    이름 유형 설명
    안 함
    표 19. 반환
    유형 설명
    무효

    이 예시에서는 알림 클라이언트를 초기화하는 방법을 보여줍니다.

    $j(function() {
      notifyClient = new SNC.Notify.Client( notifyConfig );
      notifyClient.setCallerId( '+31858889170' );
      notifyClient.init();
    });

    NotifyClient - 음소거(부울 음소거됨)

    현재 클라이언트를 음소거하거나 음소거 해제합니다.

    표 20. 매개변수
    이름 유형 설명
    음소거됨 부울 현재 호출을 음소거하거나 음소거 해제합니다.
    • false: (또는 예가 아닌 값) 현재 호출을 음소거 해제합니다.
    • true: 현재 호출을 음소거합니다.
    표 21. 반환
    유형 설명
    무효

    이 예에서는 현재 호출을 음소거하는 방법을 보여줍니다.

    notifyClient.mute( "true" );

    알림 클라이언트 - pickupCall()

    WebRTC 클라이언트에서 걸려오는 호출에 응답하고 연결합니다.

    수신 호출에 대한 알림이 있을 때 이 메서드를 호출합니다.

    표 22. 매개변수
    이름 유형 설명
    안 함
    표 23. 반환
    유형 설명
    무효

    이 예에서는 전화를 받는 방법을 보여줍니다.

    $j("#pickupCallBtn").on("click", function() {
        notifyClient.pickupCall();
    });

    NotifyClient - sendDtmf(문자열 숫자)

    현재 호출을 통해 하나 이상의 DTMF 유효 숫자를 보냅니다.

    표 24. 매개변수
    이름 유형 설명
    자릿수 문자열 하나 이상의 DTMF 유효 숫자입니다.
    표 25. 반환
    유형 설명
    무효

    이 예에서는 현재 호출에 DTMF 신호를 보내는 방법을 보여줍니다.

    notifyClient.SendDtmf( "1246AF" ) {} );

    알림 클라이언트 - setCallerId(문자열 값, 함수 autoSelectVendorCallback)

    현재 클라이언트 세션의 호출자 ID를 설정합니다.

    호출자 ID는 언제든지 변경하거나 업데이트할 수 있지만 호출자 ID는 동일한 벤더에 속해야 합니다.

    표 26. 매개변수
    이름 유형 설명
    문자열 전화를 걸고 받을 때 사용할 전화 번호입니다.
    autoSelectVendorCallback 함수 선택 사항입니다. initializeVendorClientLazily 이 함수를 사용하려면 생성자에서 "true"로 설정해야하며 그렇지 않으면 오류가 발생합니다.

    지정된 전화 번호에 대해 벤더가 자동으로 설정되면 호출할 콜백 함수의 이름입니다. 이 옵션을 사용하면 생성자(notifyConfig.vendor)에서 벤더를 지정할 필요가 없습니다. 자동 벤더 선택은 비동기 작업입니다. 따라서 이 콜백은 notifyConfig.init()를 호출해도 안전한 시기를 나타내기 위해 필요합니다. 또한 콜백에 설정되었는지 확인 notifyConfig.vendor 하여 벤더가 지정되었는지 확인해야 합니다.

    표 27. 반환
    유형 설명
    무효

    이 예시에서는 호출자 ID를 설정하는 방법을 보여줍니다. 이 예제에서는 공급업체가 생성자에 설정되어 있다고 가정합니다.

    $j(function() {
      notifyClient = new SNC.Notify.Client( notifyConfig );
      notifyClient.setCallerId( '+31858889170' );
      notifyClient.init();
    });

    알림 클라이언트 - setClientAvailable(부울 사용 가능)

    활성 WebRTC 클라이언트 에이전트의 가용성을 설정합니다.

    이 유형의 가용성은 에이전트가 통화 중인 경우와 다릅니다. 이 경우 활성 WebRTC 클라이언트가 연결되어 있고 통화 중이 아닐 수 있지만 전화를 받고 싶지 않을 수 있습니다.

    이 메서드를 호출하면 이 클라이언트 세션과 연결된 알림 클라이언트 연결 세션[notify_client_session] 레코드의 사용 가능 필드 값이 업데이트됩니다. getAvailableClients() 메서드를 사용하여 사용 가능한 클라이언트 목록을 가져올 수 있습니다.

    표 28. 매개변수
    이름 유형 설명
    사용 가능 부울 활성 WebRTC 클라이언트가 호출 수신을 원하는지 여부를 나타내는 플래그입니다.
    • false: 클라이언트가 전화를 받고 싶어하지 않습니다.
    • true: 클라이언트가 전화를 받고자 합니다.
    표 29. 반환
    유형 설명
    무효