NotifyClient - クライアント

  • リリースバージョン: Australia
  • 更新日 2026年03月12日
  • 所要時間:18分
  • NotifyClient API は、Web ブラウザからのコールの発信と受信など、通知電話機能を使用できるようにするメソッドを提供します。

    いくつかの NotifyClient メソッドは、コールバック関数をパラメーターとして受け取ります。NotifyClient メソッドの呼び出しは非同期に行われるため、これらのメソッドは値を直接返すことはできません。コールバック関数を使用して、変数の割り当てや他の API 呼び出しなどにより、返されたデータを解析します。

    NotifyClient - Client(Object notifyConfig, Boolean initializeVendorClientLazily)

    新しい Notify WebRTC クライアントオブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    initializeVendorClientLazily ブーリアン setCallerId() メソッドで渡された autoSelectVendorCallback 関数を使用して、呼び出し元の関連ベンダーを自動的に設定するかどうかを示すフラグ (notifyConfig.vendor はコンストラクターで定義する必要はありません)。
    • false:デフォルト。autoSelectVendorCallback 関数を使用して呼び出し元のベンダーを設定しないでください。ベンダーはコンストラクターで設定する必要があります。
    • true:発信者 ID が設定されている場合は、autoSelectVendorCallback 関数を使用してベンダーを定義します。
    通知構成 オブジェクト Notify WebRTC クライアントの構成設定を含む JSON オブジェクト。
    notifyConfig.autoLoadScriptResources ブーリアン ベンダークライアントが必要とするコア JS ライブラリーをロードする方法を示すフラグ。
    • false:デフォルト。ベンダー固有のコードを使用して、必要なベンダー JS ライブラリをロードします (下位互換性を有効にします)。
    • true:notifyClient.jsを使用してコア JS ライブラリをロードします。
    notifyConfig.callerId 番号 使用する登録済みの通知番号。この値を直接設定しないでください。この値を設定するには、 メソッド notifyClient.setCallerID() を使用します。
    notifyConfig.forceRefreshToken ブーリアン 期限切れのクライアントトークンを自動更新するかどうかを示すフラグ。
    • false:クライアントトークンが期限切れになっても自動的に更新しません。
    • true:デフォルト。クライアントトークンが期限切れになると自動的に更新されます。
    notifyConfig.skipParentId ブーリアン 着信コールに対して onIncoming caller をすぐに呼び出すかどうかを示すフラグ。
    • 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.
        });
    });

    NotifyClient - addEventListener(文字列 event, 関数 fn)

    通知クライアントの変更をリッスンするイベントハンドラーを登録します。

    この方法を使用すると、複数のリスナーを登録できます。各リスナーは個別のメソッド呼び出しである必要があります。

    表 : 2. パラメーター
    名前 タイプ 説明
    イベント 文字列 リッスンするイベントの名前。

    文字列を渡す代わりに、SNC で定義された定数を使用します 。Notify.STD_EVENTS

    • CALL_START:コールが開始され、進行中です。
    • CALL_CANCEL:発信者がコールをキャンセルしました。
    • CALL_INIT:通話に接続されたWebRTC(着信または発信)。
    • CALL_DISCONNECT:現在の通話が切断されました。
    • エラー:エラーが発生しました。パラメーター: message(文字列)、errCode(文字列)
      • メッセージ:表示するエラーメッセージ。
      • errCode:オプション。関連するエラーコード。
    • INCOMING_CALL:コールが着信しています。パラメーター: from(文字列)、to(文字列)、callId(文字列)、parentId(文字列)、sysId(文字列)、isFromClient(ブール)
      • 差出人:発信者の電話番号。
      • 宛先:着信先の電話番号。
      • callId:コールの SID。
      • parentId:親notify_call参照。skipParentId が true に設定されている場合は、このパラメーターを渡さないでください。
      • sysId:WebRTC 間の呼び出しのみ。発信者の一意の識別子 (sys_id)。
      • isFromClient:WebRTC 間の呼び出しのみ。コールが別の WebRTC クライアントからのものであるかどうかを示すフラグ。
    • CALL_MUTE:クライアントはミュートされています。
    • CALL_UNMUTE:クライアントのミュート状態が解除されています。
    • オフライン: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 が提供する定数と比較してください 。Notify.Status
    表 : 4. パラメーター
    名前 タイプ 説明
    識別子 オブジェクト 電話をかける電話番号または WebRTC ユーザーのsys_idのいずれかを含む JSON オブジェクト。ユーザー sys_idを渡すと、ブラウザー間の通信を介して呼び出しが行われます。

    ユーザー sys_idは、[WebRTC セッションの通知 (Notify WebRTC Session)] テーブルから取得できます。

    注:
    電話番号とユーザー 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 セッションの通知 (Notify WebRTC Session)] テーブルから取得できます。
    表 : 9. 返される内容
    タイプ 説明
    なし

    この例は、コールを別の電話番号に転送する方法を示しています。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() メソッドは、ユーザーをフィルターしません。

    表 : 10. パラメーター
    名前 タイプ 説明
    コールバック 関数 クライアントのリストを解析するために使用する関数。この関数は、単一のパラメーター、つまり次の形式の JSON オブジェクトのアレイを受け取ります。
    [{
        sys_id: "...",  // user's sys_id
        name: "..." // user's name
    }]
    表 : 11. 返される内容
    タイプ 説明
    なし

    NotifyClient - getParentId(文字列 callId, 関数コールバック)

    指定されたコール識別子の親コール識別子を返します (存在する場合)。

    電話通信プロバイダーによっては、親コール識別子が返されるまでに遅延が発生する場合があります。したがって、コールバック関数を指定する必要があります。

    表 : 12. パラメーター
    名前 タイプ 説明
    callId 文字列 親コール識別子を返すコールの一意の識別子。
    コールバック 関数 親コール識別子を含む JSON オブジェクト、または数回試行しても識別子を取得できなかった場合にエラーメッセージを取得する関数。
    表 : 13. 返される内容
    タイプ 説明
    文字列 親コール識別子。

    この例では、このメソッドを使用して親コール識別子を取得する方法を示します。

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

    この例は、jsonObj パラメーターの内容を示しています。

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

    NotifyClient - getStatus()

    現在のコールの正規化されたステータスを返します。

    表 : 14. パラメーター
    名前 タイプ 説明
    なし
    表 : 15. 返される内容
    タイプ 説明
    文字列 コールの現在のステータス。テレフォニー プロバイダー API によって返される値は、返されたドライバー値を SNC で定義されている同等の値に置き換えることによって正規化されます。Notify.Status。

    この例では、現在の通知クライアントのステータスを取得する方法を示します。

    clientStatus = notifyClient.getStatus();

    NotifyClient:hangupCall()

    現在のコールを終了します。

    表 : 16. パラメーター
    名前 タイプ 説明
    なし
    表 : 17. 返される内容
    タイプ 説明
    なし

    この例では、コールを切る方法。

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

    NotifyClient:init()

    クライアントドライバーを初期化します。

    たとえば、Twilio クライアントを使用する場合は、 メソッド Twilio.Device.setup() を呼び出します。ユーザーがページを操作した後に、このメソッドを呼び出します。この初期化プロセスは非同期であるため、ONLINE イベントハンドラーを指定する必要があります。このハンドラーは、セットアッププロセスが完了し、システムがコールを受けたり発信したりする準備ができたときに呼び出されます。

    表 : 18. パラメーター
    名前 タイプ 説明
    なし
    表 : 19. 返される内容
    タイプ 説明
    なし

    この例では、通知クライアントを初期化する方法を示します。

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

    NotifyClient - mute(ブール値、ミュート済み)

    現在のクライアントをミュートまたはミュート解除します。

    表 : 20. パラメーター
    名前 タイプ 説明
    ミュート状態 ブーリアン 現在のコールをミュートまたはミュート解除します。
    • false:(または true 以外の値) 現在のコールのミュート状態を解除します。
    • true:現在のコールをミュートします。
    表 : 21. 返される内容
    タイプ 説明
    なし

    この例では、現在のコールをミュート状態にする方法を示します。

    notifyClient.mute( "true" );

    NotifyClient:pickupCall()

    WebRTC クライアントからの着信コールに応答して接続します。

    このメソッドは、着信コールの通知があったときに呼び出します。

    表 : 22. パラメーター
    名前 タイプ 説明
    なし
    表 : 23. 返される内容
    タイプ 説明
    なし

    この例では、コールを受ける方法を示しています。

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

    NotifyClient:sendDtmf(文字列、数字)

    現在のコールで 1 つ以上の DTMF で有効な数字を送信します。

    表 : 24. パラメーター
    名前 タイプ 説明
    文字列 1 つ以上の DTMF で有効な数字。
    表 : 25. 返される内容
    タイプ 説明
    なし

    この例では、現在のコールに DTMF 信号を送信する方法を示します。

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

    NotifyClient - setCallerId(文字列値, 関数 autoSelectVendorCallback)

    現在のクライアントセッションの発信者 ID を設定します。

    発信者 ID はいつでも変更または更新できますが、発信者 ID は同じベンダーに属している必要があります。

    表 : 26. パラメーター
    名前 タイプ 説明
    value 文字列 コールの発信と受信に使用する電話番号。
    autoSelectVendorCallback 関数 オプション。 initializeVendorClientLazily この関数を使用するには、コンストラクタで「true」に設定する必要があります。設定しないとエラーがスローされます。

    指定された電話番号にベンダーが自動的に設定された後に呼び出すコールバック関数の名前。このオプションでは、コンストラクター (notifyConfig.vendor) でベンダーを指定する必要はありません。ベンダーの自動選択は非同期操作です。したがって、このコールバックは、notifyConfig.init() を呼び出す前にベンダーを設定する必要があるため、 notifyConfig.init() を呼び出すのが安全であることを示すために必要です。さらに、コールバックで notifyConfig.vendor が設定されているかどうかも確認して、ベンダーが指定されていることを確認する必要があります。

    表 : 27. 返される内容
    タイプ 説明
    なし

    この例では、発信者 ID の設定方法を示します。この例では、ベンダーがコンストラクターで設定されていることを前提としています。

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

    NotifyClient - setClientAvailable (ブール値が使用可能)

    アクティブな WebRTC クライアントエージェントの可用性を設定します。

    このタイプの可用性は、エージェントがコール中である場合とは異なります。この場合、アクティブな WebRTC クライアントが接続されていて、通話中ではない可能性がありますが、通話を受信したくない可能性があります。

    このメソッドを呼び出すと、このクライアントセッションに関連付けられている [クライアント接続済みセッション [notify_client_session] を通知するレコードの [ 利用可能 ] フィールドの値が更新されます。getAvailableClients() メソッドを使用して、使用可能なクライアントのリストを取得できます。

    表 : 28. パラメーター
    名前 タイプ 説明
    利用可能 ブーリアン アクティブな WebRTC クライアントがコールの受信を希望しているかどうかを示すフラグ。
    • false:クライアントはコールの受信を望んでいません。
    • true:クライアントはコールの受信を希望しています。
    表 : 29. 返される内容
    タイプ 説明
    なし