Class: Twilio::REST::Taskrouter::V1::WorkspaceContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/taskrouter/v1/workspace.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/event.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/activity.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_channel.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task/reservation.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/reservation.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_channel.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/worker_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workspace_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queues_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/worker/workers_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/workflow/workflow_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_real_time_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_cumulative_statistics.rb,
lib/twilio-ruby/rest/taskrouter/v1/workspace/task_queue/task_queue_bulk_real_time_statistics.rb

Defined Under Namespace

Classes: ActivityContext, ActivityInstance, ActivityInstanceMetadata, ActivityList, ActivityListResponse, ActivityPage, ActivityPageMetadata, EventContext, EventInstance, EventInstanceMetadata, EventList, EventListResponse, EventPage, EventPageMetadata, TaskChannelContext, TaskChannelInstance, TaskChannelInstanceMetadata, TaskChannelList, TaskChannelListResponse, TaskChannelPage, TaskChannelPageMetadata, TaskContext, TaskInstance, TaskInstanceMetadata, TaskList, TaskListResponse, TaskPage, TaskPageMetadata, TaskQueueContext, TaskQueueInstance, TaskQueueInstanceMetadata, TaskQueueList, TaskQueueListResponse, TaskQueuePage, TaskQueuePageMetadata, WorkerContext, WorkerInstance, WorkerInstanceMetadata, WorkerList, WorkerListResponse, WorkerPage, WorkerPageMetadata, WorkflowContext, WorkflowInstance, WorkflowInstanceMetadata, WorkflowList, WorkflowListResponse, WorkflowPage, WorkflowPageMetadata, WorkspaceCumulativeStatisticsContext, WorkspaceCumulativeStatisticsInstance, WorkspaceCumulativeStatisticsInstanceMetadata, WorkspaceCumulativeStatisticsList, WorkspaceCumulativeStatisticsListResponse, WorkspaceCumulativeStatisticsPage, WorkspaceCumulativeStatisticsPageMetadata, WorkspaceRealTimeStatisticsContext, WorkspaceRealTimeStatisticsInstance, WorkspaceRealTimeStatisticsInstanceMetadata, WorkspaceRealTimeStatisticsList, WorkspaceRealTimeStatisticsListResponse, WorkspaceRealTimeStatisticsPage, WorkspaceRealTimeStatisticsPageMetadata, WorkspaceStatisticsContext, WorkspaceStatisticsInstance, WorkspaceStatisticsInstanceMetadata, WorkspaceStatisticsList, WorkspaceStatisticsListResponse, WorkspaceStatisticsPage, WorkspaceStatisticsPageMetadata

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ WorkspaceContext

Initialize the WorkspaceContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The SID of the Workspace resource to update.



253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 253

def initialize(version, sid)
    super(version)
    

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Workspaces/#{@solution[:sid]}"

    # Dependents
    @cumulative_statistics = nil
    @task_queues = nil
    @activities = nil
    @real_time_statistics = nil
    @tasks = nil
    @workflows = nil
    @events = nil
    @workers = nil
    @statistics = nil
    @task_channels = nil
end

Instance Method Details

#activities(sid = :unset) ⇒ ActivityList, ActivityContext

Access the activities

Returns:

Raises:

  • (ArgumentError)


476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 476

def activities(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return ActivityContext.new(@version, @solution[:sid],sid )
    end

    unless @activities
        @activities = ActivityList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @activities
end

#cumulative_statisticsWorkspaceCumulativeStatisticsList, WorkspaceCumulativeStatisticsContext

Access the cumulative_statistics



447
448
449
450
451
452
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 447

def cumulative_statistics
    WorkspaceCumulativeStatisticsContext.new(
            @version,
            @solution[:sid]
            )
end

#deleteBoolean

Delete the WorkspaceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



276
277
278
279
280
281
282
283
284
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 276

def delete

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    

    @version.delete('DELETE', @uri, headers: headers)
end

#delete_with_metadataBoolean

Delete the WorkspaceInstanceMetadata

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 289

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
      response = @version.('DELETE', @uri, headers: headers)
      workspace_instance = WorkspaceInstance.new(
          @version,
          response.body,
          account_sid: @solution[:account_sid],
          sid: @solution[:sid],
      )
      .new(@version, workspace_instance, response.headers, response.status_code)
end

#events(sid = :unset) ⇒ EventList, EventContext

Access the events

Returns:

Raises:

  • (ArgumentError)


543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 543

def events(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return EventContext.new(@version, @solution[:sid],sid )
    end

    unless @events
        @events = EventList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @events
end

#fetchWorkspaceInstance

Fetch the WorkspaceInstance

Returns:



308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 308

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    WorkspaceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#fetch_with_metadataWorkspaceInstance

Fetch the WorkspaceInstanceMetadata

Returns:



327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 327

def 

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('GET', @uri, headers: headers)
    workspace_instance = WorkspaceInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    .new(
        @version,
        workspace_instance,
        response.headers,
        response.status_code
    )
end

#inspectObject

Provide a detailed, user friendly representation



616
617
618
619
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 616

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
end

#real_time_statisticsWorkspaceRealTimeStatisticsList, WorkspaceRealTimeStatisticsContext

Access the real_time_statistics



495
496
497
498
499
500
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 495

def real_time_statistics
    WorkspaceRealTimeStatisticsContext.new(
            @version,
            @solution[:sid]
            )
end

#statisticsWorkspaceStatisticsList, WorkspaceStatisticsContext

Access the statistics



581
582
583
584
585
586
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 581

def statistics
    WorkspaceStatisticsContext.new(
            @version,
            @solution[:sid]
            )
end

#task_channels(sid = :unset) ⇒ TaskChannelList, TaskChannelContext

Access the task_channels

Returns:

Raises:

  • (ArgumentError)


591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 591

def task_channels(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskChannelContext.new(@version, @solution[:sid],sid )
    end

    unless @task_channels
        @task_channels = TaskChannelList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @task_channels
end

#task_queues(sid = :unset) ⇒ TaskQueueList, TaskQueueContext

Access the task_queues

Returns:

Raises:

  • (ArgumentError)


457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 457

def task_queues(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskQueueContext.new(@version, @solution[:sid],sid )
    end

    unless @task_queues
        @task_queues = TaskQueueList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @task_queues
end

#tasks(sid = :unset) ⇒ TaskList, TaskContext

Access the tasks

Returns:

Raises:

  • (ArgumentError)


505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 505

def tasks(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return TaskContext.new(@version, @solution[:sid],sid )
    end

    unless @tasks
        @tasks = TaskList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @tasks
end

#to_sObject

Provide a user friendly representation



609
610
611
612
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 609

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Taskrouter.V1.WorkspaceContext #{context}>"
end

#update(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset) ⇒ WorkspaceInstance

Update the WorkspaceInstance

Parameters:

  • default_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be used when new Workers are created in the Workspace.

  • event_callback_url (String) (defaults to: :unset)

    The URL we should call when an event occurs. See [Workspace Events](www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio’s [Webhooks (HTTP callbacks) Connection Overrides](www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).

  • events_filter (String) (defaults to: :unset)

    The list of Workspace events for which to call event_callback_url. For example if ‘EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.

  • friendly_name (String) (defaults to: :unset)

    A descriptive string that you create to describe the Workspace resource. For example: ‘Sales Call Center` or `Customer Support Team`.

  • multi_task_enabled (Boolean) (defaults to: :unset)

    Whether to enable multi-tasking. Can be: true to enable multi-tasking, or false to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can’t be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](www.twilio.com/docs/taskrouter/multitasking).

  • timeout_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.

  • prioritize_queue_order (QueueOrder) (defaults to: :unset)

Returns:



359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 359

def update(
    default_activity_sid: :unset, 
    event_callback_url: :unset, 
    events_filter: :unset, 
    friendly_name: :unset, 
    multi_task_enabled: :unset, 
    timeout_activity_sid: :unset, 
    prioritize_queue_order: :unset
)

    data = Twilio::Values.of({
        'DefaultActivitySid' => default_activity_sid,
        'EventCallbackUrl' => event_callback_url,
        'EventsFilter' => events_filter,
        'FriendlyName' => friendly_name,
        'MultiTaskEnabled' => multi_task_enabled,
        'TimeoutActivitySid' => timeout_activity_sid,
        'PrioritizeQueueOrder' => prioritize_queue_order,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    WorkspaceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#update_with_metadata(default_activity_sid: :unset, event_callback_url: :unset, events_filter: :unset, friendly_name: :unset, multi_task_enabled: :unset, timeout_activity_sid: :unset, prioritize_queue_order: :unset) ⇒ WorkspaceInstance

Update the WorkspaceInstanceMetadata

Parameters:

  • default_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be used when new Workers are created in the Workspace.

  • event_callback_url (String) (defaults to: :unset)

    The URL we should call when an event occurs. See [Workspace Events](www.twilio.com/docs/taskrouter/api/event) for more information. This parameter supports Twilio’s [Webhooks (HTTP callbacks) Connection Overrides](www.twilio.com/docs/usage/webhooks/webhooks-connection-overrides).

  • events_filter (String) (defaults to: :unset)

    The list of Workspace events for which to call event_callback_url. For example if ‘EventsFilter=task.created,task.canceled,worker.activity.update`, then TaskRouter will call event_callback_url only when a task is created, canceled, or a Worker activity is updated.

  • friendly_name (String) (defaults to: :unset)

    A descriptive string that you create to describe the Workspace resource. For example: ‘Sales Call Center` or `Customer Support Team`.

  • multi_task_enabled (Boolean) (defaults to: :unset)

    Whether to enable multi-tasking. Can be: true to enable multi-tasking, or false to disable it. However, all workspaces should be maintained as multi-tasking. There is no default when omitting this parameter. A multi-tasking Workspace can’t be updated to single-tasking unless it is not a Flex Project and another (legacy) single-tasking Workspace exists. Multi-tasking allows Workers to handle multiple Tasks simultaneously. In multi-tasking mode, each Worker can receive parallel reservations up to the per-channel maximums defined in the Workers section. In single-tasking mode (legacy mode), each Worker will only receive a new reservation when the previous task is completed. Learn more at [Multitasking](www.twilio.com/docs/taskrouter/multitasking).

  • timeout_activity_sid (String) (defaults to: :unset)

    The SID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.

  • prioritize_queue_order (QueueOrder) (defaults to: :unset)

Returns:



403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 403

def (
  default_activity_sid: :unset, 
  event_callback_url: :unset, 
  events_filter: :unset, 
  friendly_name: :unset, 
  multi_task_enabled: :unset, 
  timeout_activity_sid: :unset, 
  prioritize_queue_order: :unset
)

    data = Twilio::Values.of({
        'DefaultActivitySid' => default_activity_sid,
        'EventCallbackUrl' => event_callback_url,
        'EventsFilter' => events_filter,
        'FriendlyName' => friendly_name,
        'MultiTaskEnabled' => multi_task_enabled,
        'TimeoutActivitySid' => timeout_activity_sid,
        'PrioritizeQueueOrder' => prioritize_queue_order,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    response = @version.('POST', @uri, data: data, headers: headers)
    workspace_instance = WorkspaceInstance.new(
        @version,
        response.body,
        sid: @solution[:sid],
    )
    .new(
        @version,
        workspace_instance,
        response.headers,
        response.status_code
    )
end

#workers(sid = :unset) ⇒ WorkerList, WorkerContext

Access the workers

Returns:

Raises:

  • (ArgumentError)


562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 562

def workers(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return WorkerContext.new(@version, @solution[:sid],sid )
    end

    unless @workers
        @workers = WorkerList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @workers
end

#workflows(sid = :unset) ⇒ WorkflowList, WorkflowContext

Access the workflows

Returns:

Raises:

  • (ArgumentError)


524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
# File 'lib/twilio-ruby/rest/taskrouter/v1/workspace.rb', line 524

def workflows(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return WorkflowContext.new(@version, @solution[:sid],sid )
    end

    unless @workflows
        @workflows = WorkflowList.new(
            @version, workspace_sid: @solution[:sid], )
    end

 @workflows
end