NotifyClient - クライアント
NotifyClient API は、Web ブラウザからのコールの発信と受信など、通知電話機能を使用できるようにするメソッドを提供します。
いくつかの NotifyClient メソッドは、コールバック関数をパラメーターとして受け取ります。NotifyClient メソッドの呼び出しは非同期に行われるため、これらのメソッドは値を直接返すことはできません。コールバック関数を使用して、変数の割り当てや他の API 呼び出しなどにより、返されたデータを解析します。
NotifyClient - Client(Object notifyConfig, Boolean initializeVendorClientLazily)
新しい Notify WebRTC クライアントオブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| initializeVendorClientLazily | ブーリアン | setCallerId() メソッドで渡された autoSelectVendorCallback 関数を使用して、呼び出し元の関連ベンダーを自動的に設定するかどうかを示すフラグ (notifyConfig.vendor はコンストラクターで定義する必要はありません)。
|
| 通知構成 | オブジェクト | Notify WebRTC クライアントの構成設定を含む JSON オブジェクト。 |
| notifyConfig.autoLoadScriptResources | ブーリアン | ベンダークライアントが必要とするコア JS ライブラリーをロードする方法を示すフラグ。
|
| notifyConfig.callerId | 番号 | 使用する登録済みの通知番号。この値を直接設定しないでください。この値を設定するには、 メソッド notifyClient.setCallerID() を使用します。 |
| notifyConfig.forceRefreshToken | ブーリアン | 期限切れのクライアントトークンを自動更新するかどうかを示すフラグ。
|
| notifyConfig.skipParentId | ブーリアン | 着信コールに対して onIncoming caller をすぐに呼び出すかどうかを示すフラグ。
|
| 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.
});
});
NotifyClient - addEventListener(文字列 event, 関数 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を渡すと、ブラウザー間の通信を介して呼び出しが行われます。 ユーザー sys_idは、[WebRTC セッションの通知 (Notify WebRTC Session)] テーブルから取得できます。 注: 電話番号とユーザー 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 セッションの通知 (Notify WebRTC Session)] テーブルから取得できます。 |
| タイプ | 説明 |
|---|---|
| なし |
この例は、コールを別の電話番号に転送する方法を示しています。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 オブジェクトのアレイを受け取ります。 |
| タイプ | 説明 |
|---|---|
| なし |
NotifyClient - getParentId(文字列 callId, 関数コールバック)
指定されたコール識別子の親コール識別子を返します (存在する場合)。
電話通信プロバイダーによっては、親コール識別子が返されるまでに遅延が発生する場合があります。したがって、コールバック関数を指定する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| callId | 文字列 | 親コール識別子を返すコールの一意の識別子。 |
| コールバック | 関数 | 親コール識別子を含む JSON オブジェクト、または数回試行しても識別子を取得できなかった場合にエラーメッセージを取得する関数。 |
| タイプ | 説明 |
|---|---|
| 文字列 | 親コール識別子。 |
この例では、このメソッドを使用して親コール識別子を取得する方法を示します。
notifyClient.getParentId( callId, function(jsonObj) {} );
この例は、jsonObj パラメーターの内容を示しています。
{
parentId: "xyz",
error: "msg"
}
NotifyClient - getStatus()
現在のコールの正規化されたステータスを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| 文字列 | コールの現在のステータス。テレフォニー プロバイダー API によって返される値は、返されたドライバー値を SNC で定義されている同等の値に置き換えることによって正規化されます。Notify.Status。 |
この例では、現在の通知クライアントのステータスを取得する方法を示します。
clientStatus = notifyClient.getStatus();
NotifyClient:hangupCall()
現在のコールを終了します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
この例では、コールを切る方法。
$j("#pickupCallBtn").on("click", function() {
notifyClient.hangupCall();
});
NotifyClient:init()
クライアントドライバーを初期化します。
たとえば、Twilio クライアントを使用する場合は、 メソッド Twilio.Device.setup() を呼び出します。ユーザーがページを操作した後に、このメソッドを呼び出します。この初期化プロセスは非同期であるため、ONLINE イベントハンドラーを指定する必要があります。このハンドラーは、セットアッププロセスが完了し、システムがコールを受けたり発信したりする準備ができたときに呼び出されます。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
この例では、通知クライアントを初期化する方法を示します。
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient - mute(ブール値、ミュート済み)
現在のクライアントをミュートまたはミュート解除します。
| 名前 | タイプ | 説明 |
|---|---|---|
| ミュート状態 | ブーリアン | 現在のコールをミュートまたはミュート解除します。
|
| タイプ | 説明 |
|---|---|
| なし |
この例では、現在のコールをミュート状態にする方法を示します。
notifyClient.mute( "true" );
NotifyClient:pickupCall()
WebRTC クライアントからの着信コールに応答して接続します。
このメソッドは、着信コールの通知があったときに呼び出します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| なし |
この例では、コールを受ける方法を示しています。
$j("#pickupCallBtn").on("click", function() {
notifyClient.pickupCall();
});
NotifyClient:sendDtmf(文字列、数字)
現在のコールで 1 つ以上の DTMF で有効な数字を送信します。
| 名前 | タイプ | 説明 |
|---|---|---|
| 桁 | 文字列 | 1 つ以上の DTMF で有効な数字。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、現在のコールに DTMF 信号を送信する方法を示します。
notifyClient.SendDtmf( "1246AF" ) {} );
NotifyClient - setCallerId(文字列値, 関数 autoSelectVendorCallback)
現在のクライアントセッションの発信者 ID を設定します。
発信者 ID はいつでも変更または更新できますが、発信者 ID は同じベンダーに属している必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| value | 文字列 | コールの発信と受信に使用する電話番号。 |
| autoSelectVendorCallback | 関数 | オプション。 initializeVendorClientLazily この関数を使用するには、コンストラクタで「true」に設定する必要があります。設定しないとエラーがスローされます。 指定された電話番号にベンダーが自動的に設定された後に呼び出すコールバック関数の名前。このオプションでは、コンストラクター (notifyConfig.vendor) でベンダーを指定する必要はありません。ベンダーの自動選択は非同期操作です。したがって、このコールバックは、notifyConfig.init() を呼び出す前にベンダーを設定する必要があるため、 notifyConfig.init() を呼び出すのが安全であることを示すために必要です。さらに、コールバックで notifyConfig.vendor が設定されているかどうかも確認して、ベンダーが指定されていることを確認する必要があります。 |
| タイプ | 説明 |
|---|---|
| なし |
この例では、発信者 ID の設定方法を示します。この例では、ベンダーがコンストラクターで設定されていることを前提としています。
$j(function() {
notifyClient = new SNC.Notify.Client( notifyConfig );
notifyClient.setCallerId( '+31858889170' );
notifyClient.init();
});
NotifyClient - setClientAvailable (ブール値が使用可能)
アクティブな WebRTC クライアントエージェントの可用性を設定します。
このタイプの可用性は、エージェントがコール中である場合とは異なります。この場合、アクティブな WebRTC クライアントが接続されていて、通話中ではない可能性がありますが、通話を受信したくない可能性があります。
このメソッドを呼び出すと、このクライアントセッションに関連付けられている [クライアント接続済みセッション [notify_client_session] を通知するレコードの [ 利用可能 ] フィールドの値が更新されます。getAvailableClients() メソッドを使用して、使用可能なクライアントのリストを取得できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| 利用可能 | ブーリアン | アクティブな WebRTC クライアントがコールの受信を希望しているかどうかを示すフラグ。
|
| タイプ | 説明 |
|---|---|
| なし |