メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

REST API: Workers

Workerは、コールセンターで働くエージェントやリードを処理する販売員など、Taskを実行できるエンティティを表します。

Workerの属性

すべてのWorkerに、Workerが完了できるTaskの種類を記述する一連の属性が存在します。 属性はJSON文字列としてモデル化され、文字列、整数、および配列データを設定できます。これらの属性を使用して、Workerを1つまたは複数のTaskQueueに関連付けて、それによってWorkerが処理する資格を持つTaskを決定します。

たとえば、2人のエージェントが存在するとします。 1人目のWorkerであるAliceは英語を話し、サポートとセールスのTaskを処理します。

{ 
    "skills": ["support", "sales"], 
    "languages":["english"]
}

2人目のWorkerであるBobは、セールスリクエストのみ処理し、スペイン語と英語を話します。

{ 
    "skills": ["sales"], 
    "languages": ["spanish", "english"]
}

注:contact_uri プロパティは、Dequeue命令を発行するときに通話先を示すために WorkerAttributes に必要です。

{ 
    "skills": [sales"], 
    "languages": ["spanish", "english"],
    "contact_uri":"client:Bob"
}

WorkerのActivity

また、各WorkerにはActivityが存在し、ActivitySid で表されます。 このActivityによって、Workerのシステム内での現在の状態、さらにWorkerが新しいTask割り当てを受諾できるかどうかが決まります。

アクション

全Workerを一覧するする

リソースURI

GET /v1/Workspaces/{WorkspaceSid}/Workers

{WorkspaceSid} で指定されるWorkspace内のWorkerのリストを返します。

メモ: 規定では、最初の50のWorkerが返されます。 それよりも多くのWorkerを取得する場合は、PageSizeパラメーターを指定してください。 詳細については、「ページ情報」を参照してください。

Workspaceに存在する全Workerを一覧する例

        
        
        
        


        リストフィルター

        下記のGETのクエリー文字列パラメーターを使用すると、返される一覧を制限することができます。 パラメーターは大文字と小文字を区別することに注意してください:

        フィールド 概要
        FriendlyName Workerの分かりやすい名前 (friendly name) でフィルタリングします。
        TaskQueueSid SIDで指定されるTaskQueueを処理する資格を持つWorkerでフィルタリングします。
        TaskQueueName 分かりやすい名前 (friendly name) で指定されるTaskQueueを処理する資格を持つWorkerでフィルタリングします。
        ActivitySid SIDで指定される特定のActivityに存在するWorkerでフィルタリングします。
        ActivityName フレンドリー名で指定される特定のActivityに存在するWorkerでフィルタリングします。
        available 使用可能または使用不可のWorkerでフィルタリングします(注:'true'、'1'、または 'yes' は値が true であることを表します。他の値はすべて false を表します)。
        TargetWorkersExpression TaskQueueのExpressionに一致するWorkerでフィルタリングします。 これは、使用する可能性があるQueueに一致するWorkerをデバッグする場合に役立ちます。

        Workspace内のWorkerをフィルタリングする例

              
              
              
              

              ターゲットWorkers Expression

              Workerのリストリソースの TargetWorkersExpression パラメーターを使って、使用する可能性があるQueueのExpressionに基づいて、Queueを処理する資格を持つWorkerを表示できます。 この方法で、Queueを処理する資格を持つWorkerをプレビューしたり、特定のQueueに予想したWorkerがマッピングされない理由をデバッグしたりします。

              次の例は、どのWorkerが、name 属性が Alice、Bob、Connie、または David である任意のWorkerを示すExpressionが設定されているQueueにマッピングされるかをチェックする方法を示します。

              curl –XGET https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workers \
              -d TargetWorkersExpression="name IN ['Alice','Bob','Connie','David']"
              -u {AccountSid}:{AuthToken}
              


              Workerを作成する

              リソースURI

              POST /v1/Workspaces/{WorkspaceSid}/Workers
              

              Workerを作成します。

              WorkspaceにWorkerを作成する例

                    
                    
                    
                    
                    必須パラメーター
                    フィールド 概要
                    FriendlyName String representing user-friendly name for the Worker. (📇 PII )
                    オプションパラメーター
                    フィールド 概要
                    ActivitySid A valid Activity describing the worker's initial state. See Activities for more information. If not provided, new Workers will be use the DefaultActivitySid configured on the Workspace. (🏢 not PII )
                    属性 JSON object describing this worker. For example: { 'email: 'Bob@foo.com', 'phone': '8675309' }. This data will be passed to the Assignment Callback URL whenever TaskRouter assigns a Task to this worker. Defaults to {}. (📇 PII )

                    メモ: 所定のWorkspaceに許容されるWorkerの最大数は1,000です。 それよりも多くを必要とする事例の場合は、ご連絡ください


                    Workerを取得する

                    GET /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}
                    

                    {WorkerSid} で識別される単一の Worker リソースを返します。

                    WorkspaceからWorkerを取得する例

                          
                          
                          
                          

                          リソースのプロパティ

                          Worker インスタンスリソースには、次のプロパティがあります。

                          フィールド 概要
                          Sid Workerの一意なIDです。
                          AccountSid このWorkerを所有するアカウントのIDです。
                          WorkspaceSid このWorkerが関連付けられているWorkflowのIDです。
                          FriendlyName ユーザーにわかりやすいWorkerの名前です。
                          属性 このWorkerを記述するJSONオブジェクトです。たとえば、英語の通話を処理するWorkerは、'{"language":"english","task-type":"phone"}' と記述されます。 これらの属性により、このWorkerが購読するTaskQueueが決まります。 また、これらの属性は、TaskRouterがこのWorkerにTaskを割り当てるたびに割り当てコールバックURLに渡されるので、TaskをWorkerにルーティングする際に必要な情報(例: Workerの電話番号、Twilioクライアント名)を格納する場所として使用することもできます。
                          available このWorkerに新しいTaskを割り当てられるかどうかを示す boolean 値です。true の場合、Workerに新しいTaskを割り当てることができます。false の場合、WorkerにTaskは割り当てられません。
                          ActivitySid このWorkerが現在実行中のActivityのIDです。
                          ActivityName Workerの現在のActivityを表す文字列であり、「on-call」、「after-call-work」、「break」などがあります。 Workerは、このWorkspaceに存在するActivityのみ実行できます。 詳細については、Activityリソースをご覧ください。
                          DateCreated このWorkerが生成された日時です。
                          DateUpdated 最後に更新された日時です。
                          DateStatusChanged WorkerのActivityが最後に変更された日時です。 Workflow統計の計算に使用します。


                          Workerを更新する

                          POST /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}
                          

                          {WorkerSid} で識別される単一の Worker リソースを更新します。

                          Workerを更新する例

                                
                                
                                
                                

                                POSTパラメーター

                                Workerリソースを変更する際、次のパラメーターを使用できます。

                                フィールド 概要
                                FriendlyName String representing user-friendly name for the Worker. (📇 PII )
                                属性 JSON object describing this Worker. For example, for a Worker that handles English language phone calls: '{"language":"english","task-type":"phone"}'. These attributes determine which TaskQueue this worker will subscribe to. These attributes will also be passed to the Assignment Callback URL whenever TaskRouter assigns a Task to this worker, so you can also use this as a place to store information that you'll need when routing a Task to the Worker (for example, the Worker's phone number or Twilio Client name). (📇 PII )
                                ActivitySid The ID of the Activity this Worker is currently performing. Note that if there is a pending reservation for the worker, the ActivitySid cannot be updated until the Reservation is accepted or rejected. (🏢 not PII )
                                RejectPendingReservations A boolean value indicating whether the Worker's pending reservations should be rejected when the Worker moves in to an unavailable Activity. This boolean must be passed along with an ActivitySid. (🏢 not PII )
                                Workerの現在のActivityを更新する

                                Workerの現在のActivityの更新は、どのTaskRouterアプリケーションでも共通の操作です。 この操作を実行するには、TaskRouterの Worker.jsライブラリまたはこのREST APIを使用します。

                                たとえば、REST API を使用するには、次のようにします。

                                curl https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid} \
                                -d ActivitySid={ActivitySid} \
                                -u {AccountSid}:{AuthToken}
                                

                                または、Worker.js を使用するには、次のようにします。

                                worker.updateActivity("WAxxx", function(error, worker) {
                                  if(error) {
                                    console.log(error.code);
                                    console.log(error.message);
                                  } else {
                                    console.log(worker.activity_name); // "Offline"
                                  }
                                });
                                

                                メモ: 個々のWorkerへの同時更新については、409 Conflict HTTPレスポンスが返される場合があります。 これは1つの更新がすでに実行中であることを示しています。


                                Workerを削除する

                                DELETE /v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}
                                

                                {WorkerSid} で識別されるWorkerを削除します。

                                Workerを削除する例

                                      
                                      
                                      
                                      

                                      メモ: 特定のWorkerのReservationを表示する場合、こちらから実行できます。

                                      Rate this page:

                                      ヘルプが必要ですか?

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