Settings
The settings resource is intended for configuration tasks that modify the behavior of existing functionality. This resource contains a list of URI's that correspond to named settings groups. Each of these groups has its own attributes and security settings.
Operations
The following operations are supported by /settings:
Operation | Description | Permissions |
---|---|---|
GET | Returns a list of all available settings groups for the contact center | Contact Center Admin |
Attributes
The following attributes are supported for each item that is returned by GET /settings:
Attribute | Type | Description | Access |
---|---|---|---|
uri | String | The URI to the settings group. | GET |
displayName | String | Name that describes the settings group. | GET |
Example
The following sample will return a list of all settings groups for the contact center:
GET /api/v2/settings { settings:[{ "displayName":"Agent States", "uri":"http://.../api/v2/settings/agent-states" },{ "displayName":"Dispositions", "uri":"http://.../api/v2/settings/dispositions" }] }
Each setting group may return the attribute "key" along with a setting array. This attribute will specify which of the setting attributes should be used as a key to identify the setting during modification (PUT) requests. If the "key" attribute is not present, "name" will be the default identifying attribute.
Supported Settings Groups
The supported Settings Groups are General and Agent States.
General
This group is available under the following URI: http://<host:port>/api/v2/settings/general-settings
. It contains the following attributes:
Attribute | Type | Description |
---|---|---|
countryCode | String | A two-character country code for the Contact Center. |
countryDigits | String | A numerical country prefix for phone numbers. |
countryName | String | Country name. |
Agent States
Agent state is accessible by using /settings/agent-states. It allows the Contact Center Admin to define custom agent states that include reason codes.
Operations
The following operations are supported for the /settings/agent-states resource:
Operation | Description | Permissions |
---|---|---|
GET | Returns a list of all available agent states for the contact center | Contact Center Admin, Agent |
POST | Creates a new agent state description. | Contact Center Admin |
PUT | Modifies an existing agent state. | Contact Center Admin |
DELETE | Removes an agent state description from the system. | Contact Center Admin |
Attributes
The following attributes are supported for each agent state descriptor:
Attribute | Type | Description | Access | Required |
---|---|---|---|---|
id | String | The unique ID (GUID) for the agent state. This ID is included in the userState of device change messages when an agent state is matched. | GET | Y |
operationName | String | The unique operation name that will be used to set this state (for example, OutToLunch). | GET, POST, PUT | Y |
displayName | String | Name for the state. | GET, POST, PUT | Y |
state | Enum | The actual T-Server state (Ready/NotReady). | GET, POST, PUT | Y |
workMode | Enum | An after call work mode. Note that modes are applicable to particular states.
For Ready: ManualIn/AutoIn/ReturnBack. For NotReady: AfterCallWork/AuxWork/LegalGuard/NoCallDisconnect/WalkAway. This should be enforced by the API. |
GET, POST, PUT | N |
reason | String | The reason for the agent's state (if specified, it must be unique as it will be used as a reason code). | GET, POST, PUT | N |
Examples
Each contact center will initially have five agent state descriptions for the basic Ready/Not Ready/Offline operations that are currently in use. These five operations are read only. They cannot be deleted or modified:
{ "key" : "operationName", "settings" : [ { "displayName" : "AfterCallWork", "id" : "D3663509-3D82-4DD3-A82E-2EA8EFA02AEF", "operationName" : "AfterCallWork", "state" : "NotReady", "workMode" : "AfterCallWork" }, { "displayName" : "AuxWork", "id" : "2B36138D-C564-4562-A8CB-3C32D564F296", "operationName" : "AuxWork", "state" : "NotReady", "workMode" : "AuxWork" }, { "displayName" : "Not Ready", "id" : "900D55CC-2BB0-431F-8BF9-D3525B383BE6", "operationName" : "NotReady", "state" : "NotReady" }, { "displayName" : "Offline", "id" : "0F7F5003-EF26-4D13-A6Ef-D0C7EC819BEB", "operationName" : "Offline", "state" : "Logout" }, { "displayName" : "Ready", "id" : "9430250E-0A1B-421F-B372-F29E69366DED", "operationName" : "Ready", "state" : "Ready" } ], "statusCode" : 0 }
To add a new "Not Ready" state called "Out to lunch":
POST /settings/agent-states { "operationName":"OutToLunch", "displayName":"Not Ready - Out to lunch", "state":"NotReady", "reason":"OutToLunch" }
To modify the display name of the "OutToLunch" state described above:
PUT /settings/agent-states { "operationName":"OutToLunch", "displayName":"Not Ready - Lunch!" }