Call Center Agents

Available Agent List

Retrieve list of available agents

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/agents/available/

Retrieve a list of users that can be assigned as agents to a given type of Call Center because they have the needed licenses.

In case dynamic licensing is used, then all end users can become agents and therefore the API Search users from List users.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_centers/agents/available/ HTTP/1.1
Host: example.com

{
   "type": "Premium"
}
Request JSON Object:
  • includeServiceUsers (boolean) – See includeServiceUsers from Search criteria.

  • type (string) – See type from Call Center Instance. A user who can particpiate to a certain level of call center can also participate to the lower levels of call centers. (default is “Basic”)

Example response:

HTTP/1.1 200 OK

{
   "available_agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "weight": 0,
         "phoneNumber": "",
         "extension": "",
         "department": "",
         "emailAddress": "test_mail@test.netaxis.be",
         "skillLevel": "0"
      }
   ]
}
Status Codes:

Agents

Retrieve list of agents of a Call Center

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/agents/

Retrieve a list of agents (users) assigned to a call center.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_centers/APIOTestCCBasic@sip.netaxis.be/agents/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK

{
   "agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "weight": 0,
         "phoneNumber": "",
         "extension": "",
         "department": {
            "tenantId": "ApioSpTest",
            "groupId": "ApioGrpTest",
            "departmentName": "test_department_initial",
            "fullPathName": "test_department_parent_1 \\ test_department_initial"
         },
         "emailAddress": "test_mail@test.netaxis.be",
         "skillLevel": ""
      }
   ]
}
>json array agents:

The list of agents. See Agent List Item.

statuscode 200:

Update list of agents of a Call Center

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/APIOTestCCBasic@sip.netaxis.be/agents/

Update the agent list for a call center.

Most of the time the agents are end user with additional licenses. They are two ways of managing them:

  • licenses must be assigned in advance to the end users

  • APIO is expected to dynamically allocate or deallocate the licenses to end users who become agents or are no more agents.

For premium call centers with skill routing type only it’s possible to set skilled agents.

Can be set only agents or skilled agents of a call center.

Example request with agents:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_centers/APIOTestCCPremium@sip.netaxis.be/agents/ HTTP/1.1
Host: example.com

{
   "agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be"
      }
   ],
   "is_dynamic_licensing": true,
   "cc_type": "Standard"
}

Example request with skilled agents:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_centers/APIOTestCCPremium@sip.netaxis.be/agents/ HTTP/1.1
Host: example.com

{
   "skilledAgents": [
      {
         "skillLevel": "2"
         "agents": [
            {
               "userId": "ApioUserTest@sip.netaxis.be"
            },
            {
               "userId": "ApioUserTest1@sip.netaxis.be"
            }
         ]
      },
      {
         "skillLevel": "5"
         "agents": [
            {
               "userId": "ApioUserTest2@sip.netaxis.be"
            }
         ]
      }
   ]
}
Request JSON Object:
  • agents (array) – The list of agents to assign. See Agent User ID List Item.

  • is_dynamic_licensing (boolean) – Allocate/Deallocate dynamically a call center agent license to the users who are added/removed as agents. This works only with simple agents not skilledAgents.

  • cc_type (string) – the type of Call center license to be allocated if not provided it will use the value of the settings CALL_CENTER_TYPE and if not present it will use Basic

  • skilledAgents (array) – The list of new list of agents by skill level. See Skilled Agent List Item.

  • doEraseReplace (boolean) – If set to true and skilledAgents is present, all skillLevels will be eroased first and then the new data will be pushed. It must be noted that it supports partial update were non present skill level will be re-populated with their curent values except if they contained an agent present in the new list in an other skill level; in that case the agent will be removed from its old skill level. If not present a settings will be used.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – instance updated

  • 400 Bad Request

    bad request due to invalid parameters, with possible sub error codes:

    • 19 NOT_AVAILABLE_FOR_ASSIGNMENT, Call center is not using Skill Based Routing.

    • 25 IS_DUPLICATED, Duplicate user agents specified for member assignment.

  • 404 Not Found – no matching call center could be found.

Configuration Settings for the Update list of agents of a Call Center

the following configuration settings is used:

"CALL_CENTER_TYPE": "Basic",
"CALL_CENTER_SKILLEDAGENT_ERASE_REPLACE": false,
"CALL_CENTER_AGENT_SKILL_LEVELS": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20"]

Settings description:

  • CALL_CENTER_TYPE: the type of call center licenxe to be allocated when is_dynamic_licensing is enabled and if cc_type is not present. Default is Basic

  • CALL_CENTER_SKILLEDAGENT_ERASE_REPLACE: the behaviour for the PUT skilledAgents if doEraseReplace is not present. Default is false.

  • CALL_CENTER_AGENT_SKILL_LEVELS: the list of allowed value for skillLevel. Default is [“1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”, “10”, “11”, “12”, “13”, “14”, “15”, “16”, “17”, “18”, “19”, “20”]

Agents Settings

Get call center agents settings

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agents_settings/

Get call center agents settings.

Authorization rights: minimum End User.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agents_settings/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
  "useSystemDefaultGuardTimer": true,
  "enableGuardTimer": false,
  "guardTimerSeconds": 5,
  "useSystemDefaultUnavailableSettings": true,
  "forceAgentUnavailableOnDNDActivation": false,
  "forceAgentUnavailableOnPersonalCalls": false,
  "forceAgentUnavailableOnBouncedCallLimit": false,
  "numberConsecutiveBouncedCallsToForceAgentUnavailable": 3,
  "forceAgentUnavailableOnNotReachable": false
}
Response JSON Object:
  • useSystemDefaultGuardTimer (boolean) – Specify whether to use the system default guard timer settings (true) or the group guard timer settings (false) which are specified through ‘enableGuardTimer’ and ‘guardTimerSeconds’.

  • enableGuardTimer (boolean) – If group guard timer settings are in use, specify whether to enable guard timer.

  • guardTimerSeconds (integer) – If group guard timer settings are in use and ‘enableGuardTimer’ is enabled, determines how long the system will wait before routing a call to a free agent.

  • useSystemDefaultUnavailableSettings (boolean) – Specify whether to use the system default unavailable settings (true) or the group unavailable settings (false) which are specified through ‘forceAgentUnavailableOnDNDActivation’, ‘forceAgentUnavailableOnPersonalCalls’, ‘forceAgentUnavailableOnBouncedCallLimit’, ‘numberConsecutiveBouncedCallsToForceAgentUnavailable’, ‘numberConsecutiveBouncedCallsToForceAgentUnavailable’ and ‘forceAgentUnavailableOnNotReachable’. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnDNDActivation (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on DND activation. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnPersonalCalls (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on personal calls. Available only for Premium call centers.

  • forceAgentUnavailableOnBouncedCallLimit (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on bounced call limit. Available only for Premium and Standard call centers.

  • numberConsecutiveBouncedCallsToForceAgentUnavailable (integer) – If group unavailable settings are in use and ‘forceAgentUnavailableOnBouncedCallLimit’ is enabled, determines the number of consecutive bounced calls allowed before forcing agent to become unavailable. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnNotReachable (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on not reachable. Available only for Premium and Standard call centers.

Status Codes:

Modify the call center agents settings

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agents_settings/

Modify the call center agents settings.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agents_settings/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "useSystemDefaultGuardTimer": true,
  "enableGuardTimer": false,
  "guardTimerSeconds": 5,
  "useSystemDefaultUnavailableSettings": true,
  "forceAgentUnavailableOnDNDActivation": false,
  "forceAgentUnavailableOnPersonalCalls": false,
  "forceAgentUnavailableOnBouncedCallLimit": false,
  "numberConsecutiveBouncedCallsToForceAgentUnavailable": 3,
  "forceAgentUnavailableOnNotReachable": false
}
Request JSON Object:
  • useSystemDefaultGuardTimer (boolean) – Specify whether to use the system default guard timer settings (true) or the group guard timer settings (false) which are specified through ‘enableGuardTimer’ and ‘guardTimerSeconds’.

  • enableGuardTimer (boolean) – If group guard timer settings are in use, specify whether to enable guard timer.

  • guardTimerSeconds (integer) – If group guard timer settings are in use and ‘enableGuardTimer’ is enabled, determines how long the system will wait before routing a call to a free agent.

  • useSystemDefaultUnavailableSettings (boolean) – Specify whether to use the system default unavailable settings (true) or the group unavailable settings (false) which are specified through ‘forceAgentUnavailableOnDNDActivation’, ‘forceAgentUnavailableOnPersonalCalls’, ‘forceAgentUnavailableOnBouncedCallLimit’, ‘numberConsecutiveBouncedCallsToForceAgentUnavailable’, ‘numberConsecutiveBouncedCallsToForceAgentUnavailable’ and ‘forceAgentUnavailableOnNotReachable’. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnDNDActivation (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on DND activation. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnPersonalCalls (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on personal calls. Available only for Premium call centers.

  • forceAgentUnavailableOnBouncedCallLimit (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on bounced call limit. Available only for Premium and Standard call centers.

  • numberConsecutiveBouncedCallsToForceAgentUnavailable (integer) – If group unavailable settings are in use and ‘forceAgentUnavailableOnBouncedCallLimit’ is enabled, determines the number of consecutive bounced calls allowed before forcing agent to become unavailable. Available only for Premium and Standard call centers.

  • forceAgentUnavailableOnNotReachable (boolean) – If group unavailable settings are in use, specify if the agent will be forced to unavailable on not reachable. Available only for Premium and Standard call centers.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Group call center agent threshold profile

Get the list of call center agent threshold profiles

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agent_threshold_profiles/

List all the agent threshold profiles.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agent_threshold_profiles/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "profiles": [
      {
         "default": true,
         "name": "Default Agent Threshold Profile",
         "description": "Default Agent Threshold Profile"
      },
      {
         "default": false,
         "name": "Test Agent Threshold Profile",
         "description": "Test Agent Threshold Profile"
      }
   ]
}
Response JSON Object:
Status Codes:

Create a new call center agent threshold profile

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agent_threshold_profiles/

Create a new call center agent threshold profile.

Authorization rights: minimum Group Admin.

Example request:

POST /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agent_threshold_profiles/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "name": "Apio Threshold Test Valid",
   "description": "Apio Threshold Test Valid",
   "currentCallStateIdleTimeYellow": 30,
   "currentCallStateIdleTimeRed": 40,
   "currentCallStateOnCallTimeYellow": 30,
   "currentCallStateOnCallTimeRed": 40,
   "currentAgentStateUnavailableTimeYellow": 30,
   "currentAgentStateUnavailableTimeRed": 40,
   "averageBusyInTimeYellow": 30,
   "averageBusyInTimeRed": 40,
   "averageBusyOutTimeYellow": 30,
   "averageBusyOutTimeRed": 40,
   "averageWrapUpTimeYellow": 30,
   "averageWrapUpTimeRed": 40,
   "enableNotificationEmail": true,
   "notificationEmailAddresses": [
      { "emailAddress": "nomail@nomail.netaxis.be" }
   ],
   "agents": [
      { "userId": "ApioUserTest@sip.netaxis.be" }
   ]
}
Request JSON Object:
  • name (string) – The name of the agent threshold profile.

  • description (string) – (Optional) The description of the agent threshold profile.

  • currentCallStateIdleTimeYellow (integer) – (Optional) The current call state idle time yellow in seconds.

  • currentCallStateIdleTimeRed (integer) – (Optional) The current call state idle time red in seconds.

  • currentCallStateOnCallTimeYellow (integer) – (Optional) The current call state on call time yellow in seconds.

  • currentCallStateOnCallTimeRed (integer) – (Optional) The current call state on call time red in seconds.

  • currentAgentStateUnavailableTimeYellow (integer) – (Optional) The current agent state unavailable time yellow in seconds.

  • currentAgentStateUnavailableTimeRed (integer) – (Optional) The current agent state unavailable time red in seconds.

  • averageBusyInTimeYellow (integer) – (Optional) The average busy in time yellow in seconds.

  • averageBusyInTimeRed (integer) – (Optional) The average busy in time red in seconds.

  • averageBusyOutTimeYellow (integer) – (Optional) The average busy out time yellow in seconds.

  • averageBusyOutTimeRed (integer) – (Optional) The average busy out time red in seconds.

  • averageWrapUpTimeYellow (integer) – (Optional) The average wrap up time yellow in seconds.

  • averageWrapUpTimeRed (integer) – (Optional) The average wrap up time red in seconds.

  • enableNotificationEmail (boolean) – Specify if enable the email notifications.

  • notificationEmailAddresses (array) – (Optional) A list of email addresses for notifications. Each item in the array is an object containing only one element emailAddress.

  • agents (array) – (Optional) A list of agents userIds to assign to this threshold profile. Each item in the array is an object containing only one element userId, see Agent List Item.

Example response:

HTTP/1.1 201 CREATED
Content-Type: "application/json"

{}
Status Codes:
  • 11: ALREADY_EXISTS, “Duplicate name. The specified Agent Threshold Profile name is already being used by another profile.”

Get a call center agent threshold profile

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agent_threshold_profiles/(string: instance_name)/

Get a call center agent threshold profile.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agent_threshold_profiles/fooProfileName/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{
   "description": "Apio Threshold Test Valid",
   "currentCallStateIdleTimeYellow": 30,
   "currentCallStateIdleTimeRed": 40,
   "currentCallStateOnCallTimeYellow": 30,
   "currentCallStateOnCallTimeRed": 40,
   "currentAgentStateUnavailableTimeYellow": 30,
   "currentAgentStateUnavailableTimeRed": 40,
   "averageBusyInTimeYellow": 30,
   "averageBusyInTimeRed": 40,
   "averageBusyOutTimeYellow": 30,
   "averageBusyOutTimeRed": 40,
   "averageWrapUpTimeYellow": 30,
   "averageWrapUpTimeRed": 40,
   "enableNotificationEmail": true,
   "notificationEmailAddresses": [
      { "emailAddress": "nomail@nomail.netaxis.be" }
   ],
   "agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "weight": 0,
         "phoneNumber": "",
         "extension": "4000",
         "department": {
            "tenantId": "ApioSpTest",
            "groupId": "ApioGrpTest",
            "departmentName": "test_department_initial",
            "fullPathName": "test_department_parent_1 \\ test_department_initial"
         },
         "emailAddress": "",
         "skillLevel": "0"
      }
   ]
}
Response JSON Object:
  • description (string) – The description of the agent threshold profile.

  • currentCallStateIdleTimeYellow (integer) – The current call state idle time yellow in seconds.

  • currentCallStateIdleTimeRed (integer) – The current call state idle time red in seconds.

  • currentCallStateOnCallTimeYellow (integer) – The current call state on call time yellow in seconds.

  • currentCallStateOnCallTimeRed (integer) – The current call state on call time red in seconds.

  • currentAgentStateUnavailableTimeYellow (integer) – The current agent state unavailable time yellow in seconds.

  • currentAgentStateUnavailableTimeRed (integer) – The current agent state unavailable time red in seconds.

  • averageBusyInTimeYellow (integer) – The average busy in time yellow in seconds.

  • averageBusyInTimeRed (integer) – The average busy in time red in seconds.

  • averageBusyOutTimeYellow (integer) – The average busy out time yellow in seconds.

  • averageBusyOutTimeRed (integer) – The average busy out time red in seconds.

  • averageWrapUpTimeYellow (integer) – The average wrap up time yellow in seconds.

  • averageWrapUpTimeRed (integer) – The average wrap up time red in seconds.

  • enableNotificationEmail (boolean) – Specify if enable the email notifications.

  • notificationEmailAddresses (array) – A list of email addresses for notifications. Each item in the array is an object containing only one element emailAddress.

  • agents (array) – A list of agents assigned to this threshold profile as defined as Agent List Item.

Status Codes:

Modify the call center agent threshold profile

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agent_threshold_profiles/(string: instance_name)/

Modify the call center agent threshold profile.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/agent_threshold_profiles/fooProfile/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "name": "Apio Threshold Test Valid",
   "description": "Apio Threshold Test Valid",
   "currentCallStateIdleTimeYellow": 30,
   "currentCallStateIdleTimeRed": 40,
   "currentCallStateOnCallTimeYellow": 30,
   "currentCallStateOnCallTimeRed": 40,
   "currentAgentStateUnavailableTimeYellow": 30,
   "currentAgentStateUnavailableTimeRed": 40,
   "averageBusyInTimeYellow": 30,
   "averageBusyInTimeRed": 40,
   "averageBusyOutTimeYellow": 30,
   "averageBusyOutTimeRed": 40,
   "averageWrapUpTimeYellow": 30,
   "averageWrapUpTimeRed": 40,
   "enableNotificationEmail": true,
   "notificationEmailAddresses": [
      { "emailAddress": "nomail@nomail.netaxis.be" }
   ],
   "agents": [
      { "userId": "ApioUserTest@sip.netaxis.be" }
   ]
}
Request JSON Object:
  • name (string) – (Optional) The new name of the agent threshold profile.

  • description (string) – (Optional) The description of the agent threshold profile.

  • currentCallStateIdleTimeYellow (integer) – (Optional) The current call state idle time yellow in seconds.

  • currentCallStateIdleTimeRed (integer) – (Optional) The current call state idle time red in seconds.

  • currentCallStateOnCallTimeYellow (integer) – (Optional) The current call state on call time yellow in seconds.

  • currentCallStateOnCallTimeRed (integer) – (Optional) The current call state on call time red in seconds.

  • currentAgentStateUnavailableTimeYellow (integer) – (Optional) The current agent state unavailable time yellow in seconds.

  • currentAgentStateUnavailableTimeRed (integer) – (Optional) The current agent state unavailable time red in seconds.

  • averageBusyInTimeYellow (integer) – (Optional) The average busy in time yellow in seconds.

  • averageBusyInTimeRed (integer) – (Optional) The average busy in time red in seconds.

  • averageBusyOutTimeYellow (integer) – (Optional) The average busy out time yellow in seconds.

  • averageBusyOutTimeRed (integer) – (Optional) The average busy out time red in seconds.

  • averageWrapUpTimeYellow (integer) – (Optional) The average wrap up time yellow in seconds.

  • averageWrapUpTimeRed (integer) – (Optional) The average wrap up time red in seconds.

  • enableNotificationEmail (boolean) – (Optional) Specify if enable the email notifications.

  • notificationEmailAddresses (array) – (Optional) A list of email addresses for notifications. Each item in the array is an object containing only one element emailAddress.

  • agents (array) – (Optional) A list of agents userIds to assign to this threshold profile. Each item in the array is an object containing only one element userId, see Agent List Item.

Example response:

HTTP/1.1 200 OK
Content-Type: "application/json"

{}
Status Codes:

Available Threshold Profile Agents

Retrieve list of available agents for threshold profile

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/agent_threshold_profiles_available_agents/

Retrieve a list of agents that can be assigned as supervisors to a Call Center.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_centers_properties/agent_threshold_profiles_available_agents/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "sensitiveUserLastNameStarts": "Test"
}
Request JSON Object:
  • excludeAgentsAssignedToProfileName (string) – Specify a profile name. All agents already assigned to this profile are not included in the response, even if the search criterion element searchCriteriaAgentThresholdProfile is specified using the same profile name.

  • sensitiveUserLastNameStarts (string) – See sensitiveUserLastNameStarts from Search criteria.

  • sensitiveUserLastNameContains (string) – See sensitiveUserLastNameContains from Search criteria.

  • sensitiveUserLastNameEquals (string) – See sensitiveUserLastNameEquals from Search criteria.

  • insensitiveUserLastNameStarts (string) – See insensitiveUserLastNameStarts from Search criteria.

  • insensitiveUserLastNameContains (string) – See insensitiveUserLastNameContains from Search criteria.

  • insensitiveUserLastNameEquals (string) – See insensitiveUserLastNameEquals from Search criteria.

  • sensitiveUserFirstNameStarts (string) – See sensitiveUserFirstNameStarts from Search criteria.

  • sensitiveUserFirstNameContains (string) – See sensitiveUserFirstNameContains from Search criteria.

  • sensitiveUserFirstNameEquals (string) – See sensitiveUserFirstNameEquals from Search criteria.

  • insensitiveUserFirstNameStarts (string) – See insensitiveUserFirstNameStarts from Search criteria.

  • insensitiveUserFirstNameContains (string) – See insensitiveUserFirstNameContains from Search criteria.

  • insensitiveUserFirstNameEquals (string) – See insensitiveUserFirstNameEquals from Search criteria.

  • sensitiveUserIdStarts (string) – See sensitiveUserIdStarts from Search criteria.

  • sensitiveUserIdContains (string) – See sensitiveUserIdContains from Search criteria.

  • sensitiveUserIdEquals (string) – See sensitiveUserIdEquals from Search criteria.

  • insensitiveUserIdStarts (string) – See insensitiveUserIdStarts from Search criteria.

  • insensitiveUserIdContains (string) – See insensitiveUserIdContains from Search criteria.

  • insensitiveUserIdEquals (string) – See insensitiveUserIdEquals from Search criteria.

  • insensitiveDnStarts (string) – See insensitiveDnStarts from Search criteria.

  • insensitiveDnContains (string) – See insensitiveDnContains from Search criteria.

  • insensitiveDnEquals (string) – See insensitiveDnEquals from Search criteria.

  • insensitiveExtensionStarts (string) – See insensitiveExtensionStarts from Search criteria.

  • insensitiveExtensionContains (string) – See insensitiveExtensionContains from Search criteria.

  • insensitiveExtensionEquals (string) – See insensitiveExtensionEquals from Search criteria.

  • sensitiveUserDepartmentEquals (string) – See sensitiveUserDepartmentEquals from Search criteria.

  • responseSizeLimit (integer) – See responseSizeLimit from Search criteria.

Example response:

HTTP/1.1 200 OK

{
   "available_agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "phoneNumber": "",
         "extension": "4000",
         "department": {
            "tenantId": "ApioSpTest",
            "groupId": "ApioGrpTest",
            "departmentName": "test_department_initial",
            "fullPathName": "test_department_parent_1 \\ test_department_initial"
         },
         "emailAddress": "",
         "agentThresholdProfile": "Apio Threshold Test Valid"
      }
   ]
}
Response JSON Object:
Status Codes:

Weighted Distribution

Retrieve weighted distribution of a call center

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/weighted_distribution/

Retrieve weighted distribution of a call center.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/weighted_distribution/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK

{
   "agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "weight": 100,
         "phoneNumber": "",
         "extension": "",
         "department": {
            "tenantId": "ApioSpTest",
            "groupId": "ApioGrpTest",
            "departmentName": "test_department_initial",
            "fullPathName": "test_department_parent_1 \\ test_department_initial"
         },
         "emailAddress": "test_mail@test.netaxis.be",
         "skillLevel": ""
      }
   ]
}
Response JSON Object:
Status Codes:

Update weighted distribution of an instance

PUT /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/weighted_distribution/

Update weighted distribution of a call center.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/weighted_distribution/ HTTP/1.1
Host: example.com

{
   "agents": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "weight": 40
      },
      {
         "userId": "ApioUserTest1@sip.netaxis.be",
         "weight": 60
      }
   ]
}
Request JSON Object:

Example response:

Response:

Similar to GET weighted distribution instance method response.

Status Codes:
  • 200 OK – instance updated

  • 400 Bad Request – bad request due to invalid parameters, with possible sub-error code:

  • 2: INVALID_PARAMETERS, “The total assigned Weight for assigned users must add up to 100.”