mobilebackend/Twilio/Rest/Taskrouter/V1/WorkspaceOptions.php

338 lines
16 KiB
PHP
Raw Permalink Normal View History

2020-02-06 10:09:26 +00:00
<?php
/**
* This code was generated by
* \ / _ _ _| _ _
* | (_)\/(_)(_|\/| |(/_ v1.0.0
* / /
*/
namespace Twilio\Rest\Taskrouter\V1;
use Twilio\Options;
use Twilio\Values;
abstract class WorkspaceOptions {
/**
* @param string $defaultActivitySid The ID of the Activity that will be used
* when new Workers are created in this
* Workspace.
* @param string $eventCallbackUrl The Workspace will publish events to this
* URL.
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @param string $friendlyName Human readable description of this workspace
* @param boolean $multiTaskEnabled Enable or Disable Multitasking by passing
* either true or False with the POST request.
* @param string $timeoutActivitySid The ID of the Activity that will be
* assigned to a Worker when a Task
* reservation times out without a response.
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
* @return UpdateWorkspaceOptions Options builder
*/
public static function update($defaultActivitySid = Values::NONE, $eventCallbackUrl = Values::NONE, $eventsFilter = Values::NONE, $friendlyName = Values::NONE, $multiTaskEnabled = Values::NONE, $timeoutActivitySid = Values::NONE, $prioritizeQueueOrder = Values::NONE) {
return new UpdateWorkspaceOptions($defaultActivitySid, $eventCallbackUrl, $eventsFilter, $friendlyName, $multiTaskEnabled, $timeoutActivitySid, $prioritizeQueueOrder);
}
/**
* @param string $friendlyName Filter by a workspace's friendly name.
* @return ReadWorkspaceOptions Options builder
*/
public static function read($friendlyName = Values::NONE) {
return new ReadWorkspaceOptions($friendlyName);
}
/**
* @param string $eventCallbackUrl If provided, the Workspace will publish
* events to this URL.
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @param boolean $multiTaskEnabled Multi tasking allows workers to handle
* multiple tasks simultaneously.
* @param string $template One of the available template names.
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
* @return CreateWorkspaceOptions Options builder
*/
public static function create($eventCallbackUrl = Values::NONE, $eventsFilter = Values::NONE, $multiTaskEnabled = Values::NONE, $template = Values::NONE, $prioritizeQueueOrder = Values::NONE) {
return new CreateWorkspaceOptions($eventCallbackUrl, $eventsFilter, $multiTaskEnabled, $template, $prioritizeQueueOrder);
}
}
class UpdateWorkspaceOptions extends Options {
/**
* @param string $defaultActivitySid The ID of the Activity that will be used
* when new Workers are created in this
* Workspace.
* @param string $eventCallbackUrl The Workspace will publish events to this
* URL.
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @param string $friendlyName Human readable description of this workspace
* @param boolean $multiTaskEnabled Enable or Disable Multitasking by passing
* either true or False with the POST request.
* @param string $timeoutActivitySid The ID of the Activity that will be
* assigned to a Worker when a Task
* reservation times out without a response.
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
*/
public function __construct($defaultActivitySid = Values::NONE, $eventCallbackUrl = Values::NONE, $eventsFilter = Values::NONE, $friendlyName = Values::NONE, $multiTaskEnabled = Values::NONE, $timeoutActivitySid = Values::NONE, $prioritizeQueueOrder = Values::NONE) {
$this->options['defaultActivitySid'] = $defaultActivitySid;
$this->options['eventCallbackUrl'] = $eventCallbackUrl;
$this->options['eventsFilter'] = $eventsFilter;
$this->options['friendlyName'] = $friendlyName;
$this->options['multiTaskEnabled'] = $multiTaskEnabled;
$this->options['timeoutActivitySid'] = $timeoutActivitySid;
$this->options['prioritizeQueueOrder'] = $prioritizeQueueOrder;
}
/**
* The ID of the Activity that will be used when new Workers are created in this Workspace.
*
* @param string $defaultActivitySid The ID of the Activity that will be used
* when new Workers are created in this
* Workspace.
* @return $this Fluent Builder
*/
public function setDefaultActivitySid($defaultActivitySid) {
$this->options['defaultActivitySid'] = $defaultActivitySid;
return $this;
}
/**
* The Workspace will publish events to this URL. You can use this to gather data for reporting. See [Events][/docs/taskrouter/api/events] for more information.
*
* @param string $eventCallbackUrl The Workspace will publish events to this
* URL.
* @return $this Fluent Builder
*/
public function setEventCallbackUrl($eventCallbackUrl) {
$this->options['eventCallbackUrl'] = $eventCallbackUrl;
return $this;
}
/**
* Use this parameter to receive webhooks on EventCallbackUrl for specific events on a workspace. For example if 'EventsFilter=task.created,task.canceled,worker.activity.update', then TaskRouter will webhook to EventCallbackUrl only when a task is created, canceled or a worker activity is updated.
*
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @return $this Fluent Builder
*/
public function setEventsFilter($eventsFilter) {
$this->options['eventsFilter'] = $eventsFilter;
return $this;
}
/**
* Human readable description of this workspace (for example "Sales Call Center" or "Customer Support Team")
*
* @param string $friendlyName Human readable description of this workspace
* @return $this Fluent Builder
*/
public function setFriendlyName($friendlyName) {
$this->options['friendlyName'] = $friendlyName;
return $this;
}
/**
* Enable or Disable Multitasking by passing either *true* or *False* with the POST request. Learn more by visiting [Multitasking][/docs/taskrouter/multitasking].
*
* @param boolean $multiTaskEnabled Enable or Disable Multitasking by passing
* either true or False with the POST request.
* @return $this Fluent Builder
*/
public function setMultiTaskEnabled($multiTaskEnabled) {
$this->options['multiTaskEnabled'] = $multiTaskEnabled;
return $this;
}
/**
* The ID of the Activity that will be assigned to a Worker when a Task reservation times out without a response.
*
* @param string $timeoutActivitySid The ID of the Activity that will be
* assigned to a Worker when a Task
* reservation times out without a response.
* @return $this Fluent Builder
*/
public function setTimeoutActivitySid($timeoutActivitySid) {
$this->options['timeoutActivitySid'] = $timeoutActivitySid;
return $this;
}
/**
* Use this parameter to configure whether to prioritize LIFO or FIFO when workers are receiving Tasks from combination of LIFO and FIFO TaskQueues. Default is FIFO. [Click here][/docs/taskrouter/queue-ordering-last-first-out-lifo] to learn more about LIFO and the use of the parameter.
*
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
* @return $this Fluent Builder
*/
public function setPrioritizeQueueOrder($prioritizeQueueOrder) {
$this->options['prioritizeQueueOrder'] = $prioritizeQueueOrder;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString() {
$options = array();
foreach ($this->options as $key => $value) {
if ($value != Values::NONE) {
$options[] = "$key=$value";
}
}
return '[Twilio.Taskrouter.V1.UpdateWorkspaceOptions ' . implode(' ', $options) . ']';
}
}
class ReadWorkspaceOptions extends Options {
/**
* @param string $friendlyName Filter by a workspace's friendly name.
*/
public function __construct($friendlyName = Values::NONE) {
$this->options['friendlyName'] = $friendlyName;
}
/**
* Filter by a workspace's friendly name. This is a human readable description of this Workspace (for example "Customer Support" or "2014 Election Campaign")
*
* @param string $friendlyName Filter by a workspace's friendly name.
* @return $this Fluent Builder
*/
public function setFriendlyName($friendlyName) {
$this->options['friendlyName'] = $friendlyName;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString() {
$options = array();
foreach ($this->options as $key => $value) {
if ($value != Values::NONE) {
$options[] = "$key=$value";
}
}
return '[Twilio.Taskrouter.V1.ReadWorkspaceOptions ' . implode(' ', $options) . ']';
}
}
class CreateWorkspaceOptions extends Options {
/**
* @param string $eventCallbackUrl If provided, the Workspace will publish
* events to this URL.
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @param boolean $multiTaskEnabled Multi tasking allows workers to handle
* multiple tasks simultaneously.
* @param string $template One of the available template names.
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
*/
public function __construct($eventCallbackUrl = Values::NONE, $eventsFilter = Values::NONE, $multiTaskEnabled = Values::NONE, $template = Values::NONE, $prioritizeQueueOrder = Values::NONE) {
$this->options['eventCallbackUrl'] = $eventCallbackUrl;
$this->options['eventsFilter'] = $eventsFilter;
$this->options['multiTaskEnabled'] = $multiTaskEnabled;
$this->options['template'] = $template;
$this->options['prioritizeQueueOrder'] = $prioritizeQueueOrder;
}
/**
* If provided, the Workspace will publish events to this URL. You can use this to gather data for reporting. See Workspace Events for more information.
*
* @param string $eventCallbackUrl If provided, the Workspace will publish
* events to this URL.
* @return $this Fluent Builder
*/
public function setEventCallbackUrl($eventCallbackUrl) {
$this->options['eventCallbackUrl'] = $eventCallbackUrl;
return $this;
}
/**
* Use this parameter to receive webhooks on EventCallbackUrl for specific events on a workspace. For example if 'EventsFilter=task.created,task.canceled,worker.activity.update', then TaskRouter will webhook to EventCallbackUrl only when a task is created, canceled or a worker activity is updated.
*
* @param string $eventsFilter Use this parameter to receive webhooks on
* EventCallbackUrl for specific events on a
* workspace.
* @return $this Fluent Builder
*/
public function setEventsFilter($eventsFilter) {
$this->options['eventsFilter'] = $eventsFilter;
return $this;
}
/**
* Multi tasking allows workers to handle multiple tasks simultaneously. When enabled (MultiTaskEnabled=true), each worker will be eligible to receive parallel reservations up to the per-channel maximums defined in the Workers section. Default is disabled (MultiTaskEnabled=false), where each worker will only receive a new reservation when the previous task is completed. Learn more by visiting [Multitasking][/docs/taskrouter/multitasking].
*
* @param boolean $multiTaskEnabled Multi tasking allows workers to handle
* multiple tasks simultaneously.
* @return $this Fluent Builder
*/
public function setMultiTaskEnabled($multiTaskEnabled) {
$this->options['multiTaskEnabled'] = $multiTaskEnabled;
return $this;
}
/**
* One of the available template names. Will pre-configure this Workspace with the Workflow and Activities specified in the template. "NONE" will create a Workspace with a set of default activities and nothing else. "FIFO" will configure TaskRouter with a set of default activities and a single task queue for first-in, first-out distribution, useful if you want to see a simple TaskRouter configuration when getting started. Defaults to "NONE".
*
* @param string $template One of the available template names.
* @return $this Fluent Builder
*/
public function setTemplate($template) {
$this->options['template'] = $template;
return $this;
}
/**
* Use this parameter to configure whether to prioritize LIFO or FIFO when workers are receiving Tasks from combination of LIFO and FIFO TaskQueues. Default is FIFO. [Click here][/docs/taskrouter/queue-ordering-last-first-out-lifo] to learn more about LIFO and the use of the parameter.
*
* @param string $prioritizeQueueOrder Use this parameter to configure whether
* to prioritize LIFO or FIFO when workers
* are receiving Tasks from combination of
* LIFO and FIFO TaskQueues.
* @return $this Fluent Builder
*/
public function setPrioritizeQueueOrder($prioritizeQueueOrder) {
$this->options['prioritizeQueueOrder'] = $prioritizeQueueOrder;
return $this;
}
/**
* Provide a friendly representation
*
* @return string Machine friendly representation
*/
public function __toString() {
$options = array();
foreach ($this->options as $key => $value) {
if ($value != Values::NONE) {
$options[] = "$key=$value";
}
}
return '[Twilio.Taskrouter.V1.CreateWorkspaceOptions ' . implode(' ', $options) . ']';
}
}