メニュー

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: Tasks

A Task represents a single item of work waiting to be processed. Tasks can represent whatever type of work is important for your team. Twilio applications can create tasks from phone calls or SMS messages. Your CRM or ticketing system can generate tasks from emails or chat messages sent in by your customers. Your own applications can create custom tasks representing whatever unique work your users handle.

Taskの属性

すべてのTaskに属性が存在し、それを使って、アプリケーションがTaskをルーティングし、割り当て時に適切なアクションを実行するために必要などんな種類のデータも渡すことができます。 属性はJSONデータで表されます。次に例を示します。

{ 
  "type": "call", 
  "contact": "+15558675309", 
  "customer-value": "gold", 
  "task-reason": "support", 
  "callSid": "CA42ed11..." 
}

Task Lifecycle

A Task's lifecycle is controlled by a Workflow, which will manage the Task's priority and find matching Workers to handle the Task. Task State and Workflows and Assignment provide more detail on the Task lifecycle.

アクション


全Taskを一覧する

リソースURI

GET /v1/Workspaces/{WorkspaceSid}/Tasks

{WorkspaceSid} で識別されるWorkspaceで待機中のTaskを古い順に並べた一覧を返します。

WorkspaceのすべてのTaskを一覧する例

        
        
        
        
        オプションパラメーター

        When listing Tasks, you can optionally pass the following parameter:

        パラメーター 概要
        Ordering このパラメーターを使用して、返されたTaskの並べ替えを制御します。 値はAttributeが Priority または DateCreated、そしてOrderが asc または desc となる Attribute:Order 形式で渡される必要があります。 たとえば、Priority:desc では優先度 (Priority) の降順で並べ替えられます。 Taskを優先度 (Priority) と作成日 (DateCreated) で並べ替えるには、Priority:desc,DateCreated:ascを渡します。 既定では、Taskは作成日 (DateCreated) の昇順で並べ替えられます。

        ご注意: Attributeの値がPriority、DateCreated、またはOrderと一致しない、あるいはOrderがascまたはdescと一致しない場合、4xxレスポンスが返ります。

        リストフィルター

        フィールド 概要
        Priority 指定された優先度を持つWorkspace内のすべてのTaskの一覧を取得します。
        AssignmentStatus Returns the list of all Tasks in the workspace with the specified AssignmentStatus. Allowed AssignmentStatus values are pending, reserved, assigned, wrapping, canceled, and completed.
        WorkflowSid 指定された Sid 値を持つWorkflowの制御下にあるTaskの一覧を返します。
        WorkflowName 指定された FriendlyName 値を持つWorkflowの制御下にあるTaskの一覧を返します。
        TaskQueueSid 指定されたSidで識別されるTaskQueueで現在待機中のTaskの一覧を返します。
        TaskQueueName 指定されたFriendlyNameで識別されるTaskQueueで現在待機中のTaskの一覧を返します。
        EvaluateTaskAttributes Task属性のExpressionを指定します。この属性にマッチングするTaskが返されます。

        保留中状態のTaskを一覧する例

              
              
              
              

              以下のGETリクエストは、language 属性が「en」または「fr」で、「skill_rating」属性の値が5.1よりも大きいすべてのTaskを取得します。

              curl –XGET https://taskrouter.twilio.com/v1/Workspaces/{WorkspaceSid}/Tasks \
              --data-urlencode EvaluateTaskAttributes='(language == \"en\" OR language == \"fr\") AND skill_rating >= 5.1'
              -u {AccountSid}:{AuthToken}
              

              EvaluateTaskAttributes で以下の演算子を使うことができます。

              • 等号:===
              • 不等号: !=
              • より大きい: >
              • より小さい: <
              • 以上: >=
              • 以下: <=
              • カッコ(演算子の優先度を示す): ( )
              • 角カッコ(リスト/配列を示す): [ ]
              • HAS, >-。比較式の左辺のTask属性の値にExpressionの右辺の文字列が含まれるかどうか判断します。
              • IN, <-。Expressionの左辺のTask属性の値が右辺のリストに * 含まれるかどうか判断します。
              • AND - 左辺と右辺のサブExpressionが両方とも true の場合、true として解決されます。それ以外の場合は false として解決されます。
              • OR - 左辺と右辺のサブExpressionの一方または両方とも true の場合、true として解決されます。それ以外の場合は false として解決されます。注:デフォルトでは、最初の50のTaskが返されます。それよりも多くのTaskを取得する場合は、PageSizeパラメーターを指定してください。詳細については、「ページ情報」を参照してください。

              重要: Taskはキャンセルまたは完了の5分後には削除されますが、Event API により、Taskで発生したEventをクエリーすることができます。


              タスクを作成する

              リソースURI

              POST /v1/Workspaces/{WorkspaceSid}/Tasks
              

              新しいTaskを作成します。

              新しいTaskを作成する例

                    
                    
                    
                    
                    必須パラメーター
                    パラメーター 概要
                    属性 Url-encoded JSON string describing the attributes of this task. An example task: { "task_type": "call", "twilio_call_sid": "CAxxx", "customer_ticket_number": "12345" } (📇 PII )
                    WorkflowSid The WorkflowSid for the Workflow that you would like to handle routing for this Task. If there is only one Workflow defined for the Workspace that you are posting a task to, then this is an optional parameter, and that single workflow will be used. (🏢 not PII )

                    例: TaskをルーティングさせるWorkflowに、Taskとその属性をPOSTしてTaskを作成します。 例:

                    オプションパラメーター

                    Taskを作成する場合、オプションで、次のパラメーターをPOSTできます。

                    パラメーター 概要
                    TaskChannel When Multitasking is enabled specify the type of the task by passing either TaskChannel Unique Name or Task Channel Sid. Default value is “default” (🏢 not PII )
                    Timeout The amount of time in seconds the task is allowed to live up to a maximum of 2 weeks. Defaults to 24 hours. On timeout, task.canceled event will fire with description "Task TTL Exceeded". (🏢 not PII )
                    Priority Override priority for the Task. When supplied, the Task will take on the given priority unless it matches a Workflow Target with a Priority set. When not supplied, the Task will take on the priority of the matching Workflow Target. (🏢 not PII )

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


                    Taskを取得する

                    リソースURI

                    GET /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}
                    

                    {TaskSid} で識別されるTaskの表現を返します。

                    単一のTaskを取得する例

                          
                          
                          
                          

                          リソースのプロパティ

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

                          フィールド 概要
                          Sid Taskの一意なIDです。
                          AccountSid このTaskを所有するアカウントのIDです。
                          WorkspaceSid このTaskを保持するWorkspaceのIDです。
                          WorkflowSid このTaskのルーティングを処理するWorkflowのIDです。
                          属性 この作業の属性を表すユーザー定義 JSON 文字列です。
                          Age このTaskが作成されてからの経過時間(秒)です。
                          Priority Workflowによって割り当てられた、このTaskの現在の優先度スコアです。 値の大きいTaskのほうが値の小さいTaskより先に割り当てられます。
                          TaskQueueSid Taskが現在入っているQueueです。WorkflowのWorkflowによって制御されます。
                          AssignmentStatus Taskの割当状態を表す文字列です。 保留中 (pending) 、予約済 (reserved) 、割当済 (assigned) 、取消済 (canceled) 、あるいは完了済 (completed) のいずれかです。 詳細については、下記のTask割当状態の値の表をご参照ください。
                          reason Taskが取り消された、または完了した理由です(該当する場合)
                          DateCreated このTaskが生成された日時です。ISO 8601フォーマットで指定します。
                          DateUpdated このTaskが更新された日時です。 ISO 8601フォーマットで指定します。
                          Timeout Taskの有効期間(秒)です
                          TaskChannelSid Task ChannelのIDです
                          TaskChannelUniqueName Task Channelの一意な名前です
                          AddOns この属性で全てのインストール済みのAdd-onのデータが初期化されます。

                          AssignmentStatus パラメーターには以下の値を設定できます。

                          Status 概要
                          PENDING Taskは、Workerに割り当て可能な状態で待機中です。 このTaskを処理するWorkerは割り当てられていません。
                          reserved このTaskを処理するWorkerは選択されていますが、まだTaskの受諾を確認していません。
                          assigned Workerが選択され、このTaskの受諾を確認しています。
                          canceled Taskは、割り当てる前にキャンセルされました。
                          completed Taskが完了しました。

                          Taskを更新する

                          リソースURI

                          POST /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}
                          

                          {TaskSid} で識別されるTaskを更新します。

                          Taskを更新する例

                                
                                
                                
                                

                                POSTパラメーター

                                フィールド 概要
                                属性 The user-defined JSON data describing the custom attributes of this task. (📇 PII )
                                AssignmentStatus A 'pending' or 'reserved' Task may be canceled by posting AssignmentStatus='canceled'. Post AssignmentStatus='wrapping' to move Task to 'wrapup' state and AssignmentStatus='completed' to move a Task to 'completed' state. (🏢 not PII )
                                reason This is only required if the Task is canceled or completed. This logs the reason the task was either canceled or completed and queues the task for deletion after 5 minutes. (🏢 not PII )
                                Priority Override priority for the Task. When supplied, the Task will take on the given priority unless it matches a Workflow Target with a Priority set. (🏢 not PII )

                                重要: 保留中のTaskの属性が更新されると、Taskに関連づけられたWorkflowSidによって識別されるWorkflowを通じて再実行されます。 Workflowのフィルターに応じて、TaskRouterはTaskを異なるTaskQueueに移動させることがあります。 Taskの経過時間はそのまま維持されます。 Taskが新しいTaskQueueに移動されると、通例どおり他のTaskに相対的なそのTaskQueueの位置は経過時間と優先順位によって決定されます。


                                Taskを削除する

                                リソースURI

                                DELETE /v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}
                                

                                {TaskSid} で識別されるTaskを削除します。 削除されたTaskに関連づけられたすべての保留中のReservationについては、Taskの削除時に同様に削除されます。

                                Taskを削除する例

                                      
                                      
                                      
                                      

                                      メモ: 特定の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.