メニュー

Expand
ページを評価:

TaskRouter.js Workspace:ブラウザーでリソースを管理する

SDKにより、開発者はシンプルなJS APIでTaskRouterの全REST APIを使用できます。

アプリケーションに SDK を追加する

以下のように、TaskRouter JS SDK を JavaScript アプリケーションに取り込みます。

<script src="https://sdk.twilio.com/js/taskrouter/v1.21/taskrouter.min.js" integrity="sha384-5fq+0qjayReAreRyHy38VpD3Gr9R2OYIzonwIkoGI4M9dhfKW6RWeRnZjfwSrpN8" crossorigin="anonymous"></script>

TaskRouter Workspaceケイパビリティートークンの作成

TaskRouterは Twilioケイパビリティートークンを使って、TaskRouterリソースへのスコープ宣言されたアクセスをJavaScriptアプリケーションに委託します。 Twilioのケイパビリティートークンは、第三者による使用時間の限定されたクレデンシャルを実現するJSON Web Token (JWT) 標準に適合しています。 TaskRouter Workspaceを登録するには、Webサーバーは Twilioケイパビリティートークンを生成し、それをJavaScriptアプリケーションに提供する必要があります。

アクセス機能を提供する5つのヘルパーメソッドを提供しています (メモ: これらは現在Node.jsライブラリーでは利用できません):

Capability 認証
AllowFetchSubresources Workspaceは任意のサブリソースを取得できます。
AllowUpdates Workspaceはプロパティーを更新できます。
AllowUpdatesSubresources WorkspaceはWorkspace自体および任意のサブリソースを更新できます。
AllowDelete Workspaceは自信を削除できます
AllowDeleteSubresources WorkspaceはWorkspace自体および任意のサブリソースを削除できます。

さらに、これらのケイパビリティーを越え、特定のリソースへのアクセスをもっと細かく利用できます。これは、「JWT の構築」で参照できます。

Twilioのどのヘルパーライブラリーを使用しても、TaskRouterケイパビリティートークンを生成できます。 登録したいWorkspaceに、TwilioのAccountSidとAuthToken、WorkspaceSidを渡す必要があります。 たとえば、PHPヘルパーライブラリーを使用する場合、次のようにしてトークンを作成し、ケイパビリティーを追加できます。

        
        
        

        TaskRouterのケイパビリティートークンの生成ができたら、これをフロントエンドのWebアプリケーションに渡して、下記のようにJavaScriptライブラリーを初期化できます。

        var workspace = new Twilio.TaskRouter.Workspace(WORKSPACE_TOKEN);
        

        このライブラリがTaskRouterに接続されると、「ready」Eventが発生します。

        workspace.on("ready", function(workspace) {
          console.log(workspace.sid) // 'WSxxx'
          console.log(workspace.friendlyName) // 'Workspace 1'
          console.log(workspace.prioritizeQueueOrder) // 'FIFO'
          console.log(workspace.defaultActivityName) // 'Offline'
        });
        

        このオブジェクトで公開されているメソッドとイベントについては、下記をご覧ください。

        Workspace API

        TaskRouter.js Workspace は、以下の API を公開しています。

        Twilio.TaskRouter.Workspace

        Twilio.TaskRouter.Workspaceは、Workspaceの管理に使う最上位のクラスです。

        new Twilio.TaskRouter.Workspace(workspaceToken)

        workspaceToken で提供されているケイパビリティーで新しい Twilio.TaskRouter.Workspace を登録します。

        パラメーター

        名前 Type 概要
        workspaceToken 文字列 Twilio TaskRouterケイパビリティートークン。詳細については、TaskRouterケイパビリティートークンの作成をご覧ください。
        debug boolean (オプション)JS SDKがEventメッセージをコンソールに出力するかどうかを示します。初期値は true です。
        region 文字列 (optional) A Twilio region for websocket connections (ex. ie1-ix).
        maxRetries integer (optional) The maximum of retries to attempt if a websocket request fails. Defaults to 0.

        使用例

        var workspace = new Twilio.TaskRouter.Workspace(WORKSPACE_TOKEN);
        

        デバッグを無効にします。

        var workspace = new Twilio.TaskRouter.Workspace(WORKSPACE_TOKEN, false);
        

        メソッド

        update([args...], [resultCallback])

        Workspaceの単一のプロパティーまたはプロパティーの一覧を更新します。

        パラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        resultCallback 関数 (オプション)更新の結果、呼び出されるJavaScript関数です。 エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。 更新が成功した場合は、最初の引数はnullになり、2番目の引数に更新されたWorkspaceオブジェクトが渡されます。
        単一の属性の例
        workspace.update("EventCallbackUrl", "http://requestb.in/1kmw9im1", function(error, workspace) {
          if(error) {
            console.log(error.code);
            console.log(error.message);
          } else {
            console.log(workspace.eventCallbackUrl); // "http://requestb.in/1kmw9im1"
          }
        });
        
        複数の属性の例
        var props = {"EventCallbackUrl", "http://requestb.in/1kmw9im1", "TimeoutActivitySid":"WAxxx"};
        workspace.update(props, function(error, workspace) {
          if(error) {
            console.log(error.code);
            console.log(error.message);
          } else {
            console.log(workspace.eventCallbackUrl);   // "http://requestb.in/1kmw9im1"
            console.log(workspace.timeoutActivitySid); // "WAxxx"
          }
        });
        

        delete([resultCallback])

        Workspaceを削除します

        パラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.delete(function(error) {
          if(error) {
            console.log(error.code);
            console.log(error.message);
          } else {
            console.log("workspace deleted");
          }
        });
        

        updateToken(workspaceToken)

        Workspaceに対するTaskRouterケイパビリティートークンを更新します。

        パラメーター

        名前 Type 概要
        workspaceToken 文字列 有効なTaskRouterケイパビリティートークンです。
        var token = refreshJWT(); // your method to retrieve a new capability token
        workspace.updateToken(token);
        

        activities

        オブジェクトを取得して、Activityーの一覧を取得、新しいActivityーを作成、特定のActivityーを取得、更新、または削除します。

        取得

        パラメーター

        名前 Type 概要
        sid 文字列 (オプション)取得する SID。
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 Activityの一覧が返されたときに呼び出される関数。一覧の取得中にエラーが発生した場合は、この関数に渡される最初のパラメーターにエラーオブジェクトが渡されます。 取得が成功した場合は、最初のパラメーターはnullになり、2番目のパラメーターにはActivityの一覧が渡されます。
        workspace.activities.fetch(
            function(error, activityList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Parsing response");
                var data = activityList.data;
                for(i=0; i<data.length; i++) {
                    console.log(data[i].friendlyName);
                }
            }
        );
        
        特定のActivityの取得
        workspace.activities.fetch("WAxxx",
            function(error, activity) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log(activity.friendlyName);
            }
        );
        

        作成

        パラメーター

        名前 Type 概要
        params JSON 複数の値を含むオブジェクト。
        コールバック 関数 作成されたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。作成が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには作成されたインスタンスが渡されます。
        var params = {"FriendlyName":"Activity1", "Available":"true"};
        workspace.activities.create(
            params,
            function(error, activity) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+activity.friendlyName);
            }
        );
        

        アップデート

        以下の2つの方法でActivityリソースを更新できます。

        • インスタンスリソースでアップデートする
        • 特定の SID を渡すリストリソースでアップデートする

        インスタンスリソースのパラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.activities.fetch(
            function(error, activityList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = activityList.data;
                for(i=0; i<data.length; i++) {
                    var activity = data[i];
                    activity.update("WAxxx", "FriendlyName", "NewFriendlyName",
                      function(error, activity) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("FriendlyName: "+activity.friendlyName);
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 アップデートする SID。
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.activities.update("WAxxx", "FriendlyName", "NewFriendlyName",
            function(error, activity) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+activity.friendlyName);
            }
        );
        

        削除する

        以下の2つの方法でActivityリソースを削除できます。

        • インスタンスリソースで削除する
        • 特定の SID を渡すリストリソースで削除する

        インスタンスリソースのパラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.activities.fetch(
            function(error, activityList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = activityList.data;
                for(i=0; i<data.length; i++) {
                    var activity = data[i];
                    activity.delete(function(error) {
                        if(error) {
                            console.log(error.code);
                            console.log(error.message);
                            return;
                        }
                        console.log("Activity deleted");
                    });
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 削除する SID。
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.activities.delete("WAxxx"
            function(error) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Activity deleted");
            }
        );
        

        workflows

        オブジェクトを取得して、Workflowの一覧を取得、新しいWorkflowを作成、特定のWorkflowを取得、更新、または削除します。

        取得

        パラメーター

        名前 Type 概要
        sid 文字列 (オプション)取得する SID。
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 Workflowの一覧が返されたときに呼び出される関数です。 一覧の取得中にエラーが発生した場合は、この関数に渡される最初のパラメーターにエラーオブジェクトが渡されます。 取得が成功した場合は、最初のパラメーターはnullになり、2 番目のパラメーターにはWorkflowの一覧が渡されます。
        workspace.workflows.fetch(
            function(error, workflowList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Parsing response");
                var data = workflowList.data;
                for(i=0; i<data.length; i++) {
                    console.log(data[i].friendlyName);
                }
            }
        );
        
        特定のWorkflowの取得
        workspace.workflows.fetch("WWxxx",
            function(error, workflow) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log(workflow.friendlyName);
            }
        );
        

        作成

        パラメーター

        名前 Type 概要
        params JSON 複数の値を含むオブジェクト。
        コールバック 関数 作成されたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。作成が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには作成されたインスタンスが渡されます。
        var workflowConfig = {"task_routing":{"default_filter":{"task_queue_sid":"WQxxx"}}};
        var params = {"FriendlyName":"Workflow1", "AssignmentCallbackUrl":"http://requestb.in/1kmw9im1", "Configuration":workflowConfig};
        workspace.workflows.create(
            params,
            function(error, workflow) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+workflow.friendlyName);
            }
        );
        

        アップデート

        以下の2つの方法でWorkflowリソースを更新できます。

        • インスタンスリソースでアップデートする
        • 特定の SID を渡すリストリソースでアップデートする

        インスタンスリソースのパラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.workflows.fetch(
            function(error, workflowList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = workflowList.data;
                for(i=0; i<data.length; i++) {
                    var workflow = data[i];
                    workflow.update("WWxxx", "TaskReservationTimeout", "300",
                        function(error, workflow) {
                            if(error) {
                                console.log(error.code);
                                console.log(error.message);
                                return;
                            }
                            console.log("TaskReservationTimeout: "+workflow.taskReservationTimeout);
                        }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 アップデートする SID。
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.workflows.update("WWxxx", "TaskReservationTimeout", "300",
            function(error, workflow) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("TaskReservationTimeout: "+workflow.taskReservationTimeout);
            }
        );
        

        削除する

        以下の2つの方法でWorkflowリソースを削除できます。

        • インスタンスリソースで削除する
        • 特定の SID を渡すリストリソースで削除する

        インスタンスリソースのパラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.workflows.fetch(
            function(error, workflowList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = workflowList.data;
                for(i=0; i<data.length; i++) {
                    var workflow = data[i];
                    workflow.delete(function(error) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("Workflow deleted");
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 削除する SID。
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.workflows.delete("WWxxx"
            function(error) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Workflow deleted");
            }
        );
        

        統計

        オブジェクトを取得して、Workflowの統計を取得します。

        取得

        パラメーター

        名前 Type 概要
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 統計オブジェクトが返されたときに呼び出される関数。リストの取得中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。取得が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには統計オブジェクトが渡されます。
        var queryParams = {"Minutes":"240"};
        workflow.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workflow statistics: "+JSON.stringify(statistics));
            }
        );
        

        累積の統計:

        var queryParams = {"Minutes":"240"};
        workflow.cumulativeStats.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workflow statistics: "+JSON.stringify(statistics));
            }
        );
        

        リアルタイムの統計:

        workflow.realtimeStats.fetch(
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workflow statistics: "+JSON.stringify(statistics));
            }
        );
        

        taskqueues

        オブジェクトを取得して、TaskQueueの一覧を取得、新しいTaskQueueを作成、特定のTaskQueueを取得、更新または削除します。

        取得

        パラメーター

        名前 Type 概要
        sid 文字列 (オプション)取得する SID。
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 TaskQueueの一覧が返されたときに呼び出される関数です。 一覧の取得中にエラーが発生した場合は、この関数に渡される最初のパラメーターにエラーオブジェクトが渡されます。 取得が成功した場合は、最初のパラメーターはnullになり、2 番目のパラメーターにはTaskQueueの一覧が渡されます。
        workspace.taskqueues.fetch(
            function(error, taskQueueList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Parsing response");
                var data = taskQueueList.data;
                for(i=0; i<data.length; i++) {
                    console.log(data[i].friendlyName);
                }
            }
        );
        
        特定のTaskQueueの取得
        workspace.taskqueues.fetch("WQxxx",
            function(error, taskQueue) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log(taskQueue.friendlyName);
            }
        );
        

        作成

        パラメーター

        名前 Type 概要
        params JSON 複数の値を含むオブジェクト。
        コールバック 関数 作成されたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。作成が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには作成されたインスタンスが渡されます。
        var params = {"FriendlyName":"TaskQueue1", "ReservationActivitySid":"WAxxx", "AssignmentActivitySid":"WAxxx", "TargetWorkers":"1==1"};
        workspace.taskqueues.create(
            params,
            function(error, taskQueue) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+taskQueue.friendlyName);
            }
        );
        

        アップデート

        以下の2つの方法でTaskQueueリソースを更新できます:

        • インスタンスリソースでアップデートする
        • 特定の SID を渡すリストリソースでアップデートする

        インスタンスリソースのパラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.taskqueues.fetch(
            function(error, taskQueueList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = taskQueueList.data;
                for(i=0; i<data.length; i++) {
                    var taskqueue = data[i];
                    taskqueue.update("WWxxx", "MaxReservedWorkers", "20",
                      function(error, taskqueue) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("MaxReservedWorkers: "+taskqueue.maxReservedWorkers);
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 アップデートする SID。
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.taskqueues.update("WQxxx", "MaxReservedWorkers", "20",
            function(error, taskqueue) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("MaxReservedWorkers: "+taskqueue.maxReservedWorkers);
            }
        );
        

        削除する

        以下の2つの方法でTaskQueueリソースを削除できます:

        • インスタンスリソースで削除する
        • 特定の SID を渡すリストリソースで削除する

        インスタンスリソースのパラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.taskqueues.fetch(
            function(error, taskQueueList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = taskQueueList.data;
                for(i=0; i<data.length; i++) {
                    var taskqueue = data[i];
                    taskqueue.delete(function(error) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("TaskQueue deleted");
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 削除する SID。
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.taskqueues.delete("WQxxx"
            function(error) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("TaskQueue deleted");
            }
        );
        

        統計

        オブジェクトを取得して、TaskQueueの統計を取得します。

        取得

        パラメーター

        名前 Type 概要
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 統計オブジェクトが返されたときに呼び出される関数。リストの取得中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。取得が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには統計オブジェクトが渡されます。

        TaskQueueの一覧:

        var queryParams = {"Minutes":"240"};
        workspace.taskqueues.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched taskqueues statistics: "+JSON.stringify(statistics));
            }
        );
        

        単一のTaskQueue:

        var queryParams = {"Minutes":"240"};
        taskqueue.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched taskqueue statistics: "+JSON.stringify(statistics));
            }
        );
        

        メモ: より速いレスポンスタイムとより小さいペイロードのため、累積またはリアルタイムの統計のどちらかのみが問題になる場合は、statisticscumulativestats または cumulativestats にそれぞれ置き換えてください。

        累積の統計:

        taskqueue.cumulativeStats.fetch(
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched taskqueue statistics: "+JSON.stringify(statistics));
                console.log("avg task acceptance time: "+statistics.avgTaskAcceptanceTime;
            }
        );
        

        リアルタイムの統計:

        var queryParams = {"Minutes":"240"};
        taskqueue.realtimeStats.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched taskqueue statistics: "+JSON.stringify(statistics));
                console.log("total available workers: "+statistics.totalAvailableWorkers;
            }
        );
        

        workers

        オブジェクトを取得して、Workerの一覧を取得、新しいWorkerを作成、特定のWorkerを取得、更新、または削除します。

        取得

        パラメーター

        名前 Type 概要
        sid 文字列 (オプション)取得する SID。
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 Workerの一覧が返されたときに呼び出される関数。 一覧の取得中にエラーが発生した場合は、この関数に渡される最初のパラメーターにエラーオブジェクトが渡されます。 取得が成功した場合は、最初のパラメーターはnullになり、2 番目のパラメーターにはWorker一覧が渡されます。
        workspace.workers.fetch(
            function(error, workerList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Parsing response");
                var data = workerList.data;
                for(i=0; i<data.length; i++) {
                    console.log(data[i].friendlyName);
                }
            }
        );
        
        特定のWorkerの取得
        workspace.workers.fetch("WKxxx",
            function(error, worker) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log(worker.friendlyName);
            }
        );
        

        作成

        パラメーター

        名前 Type 概要
        params JSON 複数の値を含むオブジェクト。
        コールバック 関数 作成されたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。作成が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには作成されたインスタンスが渡されます。
        var params = {"FriendlyName":"Worker1"};
        workspace.workers.create(
            params,
            function(error, worker) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+worker.friendlyName);
            }
        );
        

        アップデート

        以下の2つの方法でWorkerリソースを更新できます。

        • インスタンスリソースでアップデートする
        • 特定の SID を渡すリストリソースでアップデートする

        インスタンスリソースのパラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.workers.fetch(
            function(error, workerList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = workerList.data;
                for(i=0; i<data.length; i++) {
                    var worker = data[i];
                    worker.update("WKxxx", "ActivitySid", "WAxxx",
                      function(error, worker) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("FriendlyName: "+worker.friendlyName);
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 アップデートする SID。
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.workers.update("WKxxx", "ActivitySid", "WAxxx",
            function(error, worker) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("FriendlyName: "+worker.friendlyName);
            }
        );
        

        削除する

        以下の2つの方法でWorkerリソースを削除できます。

        • インスタンスリソースで削除する
        • 特定の SID を渡すリストリソースで削除する

        インスタンスリソースのパラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.workers.fetch(
            function(error, workerList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = workerList.data;
                for(i=0; i<data.length; i++) {
                    var worker = data[i];
                    worker.delete(function(error) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("Worker deleted");
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 削除する SID。
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.workers.delete("WKxxx"
            function(error) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Worker deleted");
            }
        );
        

        統計

        オブジェクトを取得して、Workerの統計を取得します。

        取得

        パラメーター

        名前 Type 概要
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 統計オブジェクトが返されたときに呼び出される関数。リストの取得中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。取得が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには統計オブジェクトが渡されます。

        Workerの一覧:

        var queryParams = {"Minutes":"240"};
        workspace.workers.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workers statistics: "+JSON.stringify(statistics));
            }
        );
        

        Workerの累積統計の一覧

        var queryParams = {"Minutes":"240"};
        workspace.workers.cumulativeStats.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workers statistics: "+JSON.stringify(statistics));
            }
        );
        

        Workerのリアルテイム統計の一覧

        workspace.workers.realtimeStats.fetch(
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workers statistics: "+JSON.stringify(statistics));
            }
        );
        

        単一のWorker:

        var queryParams = {"Minutes":"240"};
        worker.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched worker statistics: "+JSON.stringify(statistics));
            }
        );
        

        tasks

        オブジェクトを取得して、Taskの一覧を取得、新しいTaskを作成、特定のTaskを取得、更新、または削除します。

        取得

        パラメーター

        名前 Type 概要
        sid 文字列 (オプション)取得する SID。
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 Taskの一覧が返されたときに呼び出される関数です。 リストの取得中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。 取得が成功した場合は、最初のパラメーターはnullになり、2 番目のパラメーターにはTaskの一覧が渡されます。
        workspace.tasks.fetch(
            function(error, taskList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Parsing response");
                var data = taskList.data;
                for(i=0; i<data.length; i++) {
                    console.log(JSON.stringify(data[i].attributes));
                }
            }
        );
        
        特定のTaskの取得
        workspace.tasks.fetch("WTxxx",
            function(error, task) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log(JSON.stringify(task.attributes));
            }
        );
        

        作成

        パラメーター

        名前 Type 概要
        params JSON 複数の値を含むオブジェクト。
        コールバック 関数 作成されたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。作成が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには作成されたインスタンスが渡されます。
        var attributes = "{\"Ticket\":\"Gold\"}";
        var params = {"WorkflowSid":"WWxxx", "Attributes":attributes};
        workspace.tasks.create(
            params,
            function(error, task) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("TaskSid: "+task.sid);
            }
        );
        

        アップデート

        以下の2つの方法でTaskリソースを更新できます。

        • インスタンスリソースでアップデートする
        • 特定の SID を渡すリストリソースでアップデートする

        インスタンスリソースのパラメーター

        名前 Type 概要
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        workspace.tasks.fetch(
            function(error, taskList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = taskList.data;
                var cancelAttrs = {"AssignmentStatus":"canceled", "Reason":"waiting"}
                for(i=0; i<data.length; i++) {
                    var task = data[i];
                    task.update("WTxxx", cancelAttrs,
                      function(error, task) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("Attributes: "+JSON.stringify(task.attributes));
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 アップデートする SID。
        args... 文字列または JSON 単一の API パラメーターおよび値、または複数の値を含む JSON オブジェクト。
        コールバック 関数 アップデートされたインスタンスが返されたときに呼び出される関数。インスタンスのアップデート中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。アップデートが成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターにはアップデートされたインスタンスが渡されます。
        var cancelAttrs = {"AssignmentStatus":"canceled", "Reason":"waiting"}
        workspace.tasks.update("WTxxx", cancelAttrs,
            function(error, task) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("Attributes: "+JSON.stringify(task.attributes));
            }
        );
        

        削除する

        以下の2つの方法でTaskリソースを削除できます。

        • インスタンスリソースで削除する
        • 特定の SID を渡すリストリソースで削除する

        インスタンスリソースのパラメーター

        名前 Type 概要
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.tasks.fetch(
            function(error, taskList) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                var data = taskList.data;
                for(i=0; i<data.length; i++) {
                    var task = data[i];
                    task.delete(function(error) {
                        if(error) {
                          console.log(error.code);
                          console.log(error.message);
                          return;
                        }
                        console.log("Task deleted");
                      }
                    );
                }
            }
        );
        

        リストリソースのパラメーター

        名前 Type 概要
        sid 文字列 削除する SID。
        resultCallback 関数 (オプション)削除の結果、呼び出される JavaScript 関数。エラーが発生した場合は、この関数に最初に渡される引数がエラーになります。削除が成功した場合、最初の引数は null になります。
        workspace.tasks.delete("WTxxx"
            function(error) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("task deleted");
            }
        );
        

        統計

        オブジェクトを取得して、Workspaceの統計を取得します。

        取得

        パラメーター

        名前 Type 概要
        params JSON (オプション)クエリーパラメーターの JSON オブジェクト。
        コールバック 関数 統計オブジェクトが返されたときに呼び出される関数。リストの取得中にエラーが発生した場合は、この関数に最初に渡されるパラメーターにエラーオブジェクトが渡されます。取得が成功した場合は、最初のパラメーターは null になり、2 番目のパラメーターには統計オブジェクトが渡されます。
        var queryParams = {"Minutes":"240"};
        workspace.statistics.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workspace statistics: "+JSON.stringify(statistics));
            }
        );
        

        累積の統計:

        var queryParams = {"Minutes":"240"};
        workspace.cumulativeStats.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workspace statistics: "+JSON.stringify(statistics));
            }
        );
        

        リアルタイムの統計:

        var queryParams = {};
        workspace.realtimeStats.fetch(
            queryParams,
            function(error, statistics) {
                if(error) {
                    console.log(error.code);
                    console.log(error.message);
                    return;
                }
                console.log("fetched workspace statistics: "+JSON.stringify(statistics));
            }
        );
        

        on(event, callback)

        リスナーを指定されたEventに接続します。サポートされているすべてのEventのリストについては、Eventをご覧ください。

        パラメーター

        名前 Type 概要
        イベント 文字列 Event名です。サポートされているすべてのEventのリストについては、Eventをご覧ください。
        コールバック 関数 指定されたEventが発生したときに呼び出される関数です。

        workspace.on("ready", function(workspace) {
          console.log(workspace.friendlyName)      // MyWorkspace
        });
        

        Events

        TaskRouterのJSライブラリーは、現在、登録されたWorkspaceブジェクトに以下のEventを発行します。

        ready

        WorkspaceがTaskRouterとの接続を確立し、初期化を完了しました。

        パラメーター

        名前 Type 概要
        ワークスペース Workspace 作成したWorkspaceに対するWorkspaceオブジェクトです。

        workspace.on("ready", function(workspace) {
          console.log(workspace.friendlyName)      // MyWorkspace
        });
        

        connected

        WorkspaceはTaskRouterへの接続を確立しました。

        workspace.on("connected", function() {
            console.log("Websocket has connected");
        });
        

        disconnected

        WorkspaceはTaskRouterからの接続を切断しました。

        workspace.on("disconnected", function() {
            console.log("Websocket has disconnected");
        });
        

        token.expired

        このWorkspaceを作成するために使用したTaskRouterケイパビリティートークンの有効期限が切れた場合に発行されます。

        workspace.on("token.expired", function() {
            console.log("updating token");
            var token = refreshJWT(); // your method to retrieve a new capability token
            workspace.updateToken(token);
        });
        
        ページを評価:

        ヘルプが必要ですか?

        We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

              
              
              

              フィードバックくださりありがとうございます!

              Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

              Sending your feedback...
              🎉 Thank you for your feedback!
              Something went wrong. Please try again.

              Thanks for your feedback!

              Refer us and get $10 in 3 simple steps!

              ステップ1

              Get link

              Get a free personal referral link here

              ステップ2:

              Give $10

              Your user signs up and upgrade using link

              ステップ3

              Get $10

              1,250 free SMSes
              OR 1,000 free voice mins
              OR 12,000 chats
              OR more