Call Center Properties

Available Supervisor List

Retrieve list of available supervisors

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

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/supervisors/available/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "sensitiveUserLastNameStarts": "Test"
}
Request JSON Object:
  • 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 (object) – See sensitiveUserDepartmentEquals from Search criteria.

  • sensitiveUserGroupEquals (object) – See sensitiveUserGroupEquals from Search criteria.

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

Example response:

HTTP/1.1 200 OK

{
   "available_supervisors": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "lastName": "Test",
         "firstName": "Test",
         "weight": 0,
         "phoneNumber": "",
         "extension": "",
         "department": "",
         "emailAddress": "test_mail@test.netaxis.be",
         "skillLevel": "0"
      }
   ]
}
Response JSON Object:
  • available_supervisors (array) – The list of supervisors. See Agent List Item.

Status Codes:

Supervisors

Retrieve list of supervisors of a Call Center

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

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

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "supervisors": [
      {
         "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": ""
      }
   ]
}
Response JSON Object:
Status Codes:

Update list of supervisors of a Call Center

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

Update the supervisor list for a call center.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "supervisors": [
      {
         "userId": "ApioUserTest@sip.netaxis.be"
      }
   ],
}
Request JSON Object:
  • supervisors (array) – The list of supervisors to modify. See Agent List Item. An empty list will remove the actual assigned supervisors.

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:

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Bounced Call

Retrieve configuration

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

Retrieve a call center’s bounced call settings. Fully suitable for Premium Call Centers. Partially suitable for Standard and Basic Call Centers (see single parameters).

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "active": true,
   "numberOfRingsBeforeBouncingCall": 5
}
Response JSON Object:
  • active (boolean) – Status of the service.

  • numberOfRingsBeforeBouncingCall (integer) – Value of number of rings before bouncing call.

  • enableTransfer (boolean) – (Premium Only) Status of transfer.

  • transferPhoneNumber (string) – (Premium Only) Phone Number or SIP URI to transfer.

  • bounceCallWhenAgentUnavailable (boolean) – (Standard and Premium) Status of bounced call when agent unavailable.

  • alertCallCenterCallOnHold (boolean) – (Standard and Premium) Status of alert call center call on hold.

  • alertCallCenterCallOnHoldSeconds (integer) – (Standard and Premium) Value of alert call center call on hold seconds.

  • bounceCallCenterCallOnHold (boolean) – (Standard and Premium) Status of bounce call center call on hold.

  • bounceCallCenterCallOnHoldSeconds (integer) – (Standard and Premium) Value of bounce call center call on hold seconds.

Status Codes:

Update configuration

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

Update a call center’s bounced call settings. Fully suitable for Premium Call Centers. Partially suitable for Standard and Basic Call Centers (see single parameters).

Authorization rights: minimum Group Admin.

Example request:

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

{
   "active": true,
   "numberOfRingsBeforeBouncingCall": 5,
   "bounceCallWhenAgentUnavailable": false,
   "alertCallCenterCallOnHold": false,
   "alertCallCenterCallOnHoldSeconds": 30,
   "bounceCallCenterCallOnHold": false,
   "bounceCallCenterCallOnHoldSeconds": 60
}
Request JSON Object:
  • active (boolean) – Status of the service.

  • numberOfRingsBeforeBouncingCall (integer) – Value of number of rings before bouncing call.

  • enableTransfer (boolean) – (Premium Only) Status of transfer.

  • transferPhoneNumber (string) – (Premium Only) Phone Number or SIP URI to transfer.

  • bounceCallWhenAgentUnavailable (boolean) – (Standard and Premium) Status of bounced call when agent unavailable.

  • alertCallCenterCallOnHold (boolean) – (Standard and Premium) Status of alert call center call on hold.

  • alertCallCenterCallOnHoldSeconds (integer) – (Standard and Premium) Value of alert call center call on hold seconds.

  • bounceCallCenterCallOnHold (boolean) – (Standard and Premium) Status of bounce call center call on hold.

  • bounceCallCenterCallOnHoldSeconds (integer) – (Standard and Premium) Value of bounce call center call on hold seconds.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Overflow

Retrieve configuration

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

Retrieve a call center’s overflow settings.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "action": "Busy",
   "playAnnouncementBeforeOverflowProcessing": false,
   "overflowAfterTimeout": false,
   "timeoutSeconds": 30,
   "audioMessageSelection": "Default"
}
Response JSON Object:
  • action (string) – Value of the action to set.

  • transferPhoneNumber (string) – Phone number to transfer.

  • playAnnouncementBeforeOverflowProcessing (boolean) – Status of play announcement before overflow processing.

  • overflowAfterTimeout (boolean) – Status of overflow after timeout.

  • timeoutSeconds (integer) – Value of timeout seconds.

  • audioMessageSelection (string) – Value of the audio message selection.

  • audioFileList (array) – List of the audio file to set. See Audio File List Item.

Status Codes:

Update configuration

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

Update a call center’s overflow settings.

Example request:

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

{
   "action": "Busy",
   "playAnnouncementBeforeOverflowProcessing": false,
   "overflowAfterTimeout": false,
   "timeoutSeconds": 30,
   "audioMessageSelection": "File",
   "audioFileList": [{"name": "APIO Group Test Announcement"}, {"name": "Unmodify"}, null, null]
}
Request JSON Object:
  • action (string) – Value of the action to set.

  • transferPhoneNumber (string) – Phone number to transfer.

  • playAnnouncementBeforeOverflowProcessing (boolean) – Status of play announcement before overflow processing.

  • overflowAfterTimeout (boolean) – Status of overflow after timeout.

  • timeoutSeconds (integer) – Value of timeout seconds.

  • audioMessageSelection (string) – Value of the audio message selection.

  • audioFileList (array) – List of the audio file to set. See Audio File List Item.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Announcements

Retrieve configuration

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

Retrieve a call center’s announcement settings.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "playEntranceMessage": true,
   "mandatoryEntranceMessage": false,
   "entranceMessage": {
       "audioMessageSelection": "Default"
   },
   "estimatedWaitMessageOptions": {
      "playTimeHighVolume": true,
      "maximumPositions": 100,
      "enabled": false,
      "playUpdatedEWM": false,
      "playPositionHighVolume": true,
      "timeBetweenEWMUpdatesSeconds": 120,
      "operatingMode": "Time",
      "maximumWaitingMinutes": 100
   },
   "playPeriodicComfortMessage": true,
   "timeBetweenComfortMessagesSeconds": 10,
   "comfortMessage": {
      "audioMessageSelection": "Default"
   },
   "playMediaOnHoldForQueuedCalls": false,
   "mediaOnHoldForQueuedCalls": {
      "audioMessageSelection": "Default"
   },
   "playWhisperMessage": false,
   "whisperMessage": {
      "audioMessageSelection": "Default"
   }
}
Response JSON Object:
  • playEntranceMessage (boolean) – Toggle enable playEntranceMessage functionality.

  • mandatoryEntranceMessage (boolean) – Toggle enable mandatoryEntranceMessage functionality.

  • entranceMessage (object) – See Announcements Config.

  • estimatedWaitMessageOptions (object) – See Estimated Wait Message Options.

  • playPeriodicComfortMessage (boolean) – Toggle enable playPeriodicComfortMessage functionality.

  • timeBetweenComfortMessagesSeconds (integer) – The interval in seconds between each repetition of the comfort message played to queued users.

  • comfortMessage (object) – See Announcements Config.

  • playMediaOnHoldForQueuedCalls (boolean) – Toggle enable playMediaOnHoldForQueuedCalls functionality.

  • mediaOnHoldForQueuedCalls (object) – See Announcements Config.

  • playWhisperMessage (boolean) – Toggle enable playWhisperMessage functionality.

  • whisperMessage (object) – See Announcements Config.

Status Codes:

Update configuration

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

Update a call center’s announcement settings.

Example request:

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

{
   "playEntranceMessage": true,
   "mandatoryEntranceMessage": false,
   "entranceMessage": {
      "audioMessageSelection": "File",
      "audioFileList": [{"name": "APIO Test Announcement"}]
   }
}
Request JSON Object:
  • playEntranceMessage (boolean) – Toggle enable playEntranceMessage functionality.

  • mandatoryEntranceMessage (boolean) – Toggle enable mandatoryEntranceMessage functionality.

  • entranceMessage (object) – See Announcements Config.

  • estimatedWaitMessageOptions (object) – See Estimated Wait Message Options.

  • playPeriodicComfortMessage (boolean) – Toggle enable playPeriodicComfortMessage functionality.

  • timeBetweenComfortMessagesSeconds (integer) – Toggle enable timeBetweenComfortMessagesSeconds functionality.

  • comfortMessage (object) – See Announcements Config.

  • playMediaOnHoldForQueuedCalls (boolean) – Toggle enable playMediaOnHoldForQueuedCalls functionality.

  • mediaOnHoldForQueuedCalls (object) – See Announcements Config.

  • playWhisperMessage (boolean) – Toggle enable playWhisperMessage functionality.

  • whisperMessage (object) – See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Stranded Call

Only suitable for Standard and Premium call centers

Retrieve configuration

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

Retrieve a call center’s stranded call settings. Fully suitable for Premium Call Centers. Partially suitable for Standard Call Centers (see single parameters). Not suitable for Basic Call Centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "action": "None",
   "audioMessageSelection": "Default",
   "audioFileList": [None, None, None, None]
}
Response JSON Object:
Status Codes:

Update configuration

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

Update a call center’s stranded call settings. Fully suitable for Premium Call Centers. Partially suitable for Standard Call Centers (see single parameters). Not suitable for Basic Call Centers.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "action": "None",
   "audioMessageSelection": "File",
   "audioFileList": [{"name": "APIO Test Announcement"}, None, {"name": "APIO Test Announcement"}, None],
   "transferPhoneNumber": "+320123654789"
}
Request JSON Object:

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Stranded Call Unavailable

Only suitable for Standard and Premium call centers

Retrieve configuration

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

Retrieve a call center’s stranded calls - unavailable settings. Fully suitable for Premium Call Centers. Partially suitable for Standard Call Centers (see single parameters). Not suitable for Basic Call Centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

HTTP/1.1 200 OK

{
   "action": "None",
   "policyCondition": false,
   "audioMessageSelection": "Default"
}
Response JSON Object:
  • policyCondition (boolean) – (Standard and Premium) Toggle enable the policy additional condition functionality.

  • agentUnavailableCode (string) – (Standard and Premium) The unavailable code that will be checked to conditionally enable the Call Center stranded calls - unavailable routing policy (relevant only if policyCondition is true)

  • numberOfAgents (integer) – (Standard and Premium) The number of minimum needed unavailable agents with the requested unavailable code used to conditionally enable the Call Center stranded calls - unavailable routing policy (relevant only if policyCondition is true)

  • action (string) – (Standard and Premium) See Group call center default disposition code attributes.

  • transferPhoneNumber (string) – (Standard and Premium) See Group call center default disposition code attributes.

  • audioMessageSelection (string) – (Premium Only) See Announcements Config.

  • audioFileList (array) – (Premium Only) See Announcements Config.

Status Codes:

Update configuration

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

Update a call center’s stranded calls - unavailable settings. Fully suitable for Premium Call Centers. Partially suitable for Standard Call Centers (see single parameters). Not suitable for Basic Call Centers.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "action": "None",
   "policyCondition": false,
   "audioMessageSelection": "File",
   "audioFileList": [{"name": "APIO Test Announcement"}, None, None, None]
}
Request JSON Object:
  • policyCondition (boolean) – (Standard and Premium) Toggle enable the policy additional condition functionality.

  • agentUnavailableCode (string) – (Standard and Premium) The unavailable code that will be checked to conditionally enable the Call Center stranded calls - unavailable routing policy (relevant only if policyCondition is true)

  • numberOfAgents (integer) – (Standard and Premium) The number of minimum needed unavailable agents with the requested unavailable code used to conditionally enable the Call Center stranded calls - unavailable routing policy (relevant only if policyCondition is true)

  • action (string) – (Standard and Premium) See Group call center default disposition code attributes.

  • transferPhoneNumber (string) – (Standard and Premium) See Group call center default disposition code attributes.

  • audioMessageSelection (string) – (Premium Only) See Announcements Config.

  • audioFileList (array) – (Premium Only) See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Distinctive Ringing

Retrieve distinctive ringing configuration of a call center

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

Retrieve distinctive ringing configuration 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/distinctive_ringing/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK

{
  "distinctiveRinging": false,
  "ringPatternForCallCenter": "Short-Long-Short",
  "forceDeliveryRingPattern": "Short-Long-Short"
}
Response JSON Object:
  • distinctiveRinging (boolean) – specify if the distinctive ringing is active or not.

  • ringPatternForCallCenter (string) – ring pattern for call center. Supported ring patterns: [‘Normal’, ‘Long-Long’, ‘Short-Short-Long’, ‘Short-Long-Short’]

  • forceDeliveryRingPattern (string) – force delivery ring pattern. Supported ring patterns: [‘Normal’, ‘Long-Long’, ‘Short-Short-Long’, ‘Short-Long-Short’]

Status Codes:

Update distinctive ringing configuration of a call center

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

Update distinctive ringing configuration 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/distinctive_ringing/ HTTP/1.1
Host: example.com

{
  "distinctiveRinging": false,
  "ringPatternForCallCenter": "Short-Long-Short",
  "forceDeliveryRingPattern": "Short-Long-Short"
}
Request JSON Object:
  • distinctiveRinging (boolean) – specify if the distinctive ringing is active or not.

  • ringPatternForCallCenter (string) – ring pattern for call center. Supported ring patterns: [‘Normal’, ‘Long-Long’, ‘Short-Short-Long’, ‘Short-Long-Short’]

  • forceDeliveryRingPattern (string) – force delivery ring pattern. Supported ring patterns: [‘Normal’, ‘Long-Long’, ‘Short-Short-Long’, ‘Short-Long-Short’]

Example response:

Response:

Similar to GET distinctive ringing instance method response.

Status Codes:
  • 200 OK – Instance updated

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

  • 53: INVALID_TYPE, “Cannot modify the Ring Pattern for forced delivered call center calls for this type of call center.”

Group call center unavailable codes

Get the list of call center agent unavailable codes

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

List all the Unavailable Codes.

These codes can be used to provide more information on the reason why an agent becomes unavailable.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "codes": [
      {
         "active": true,
         "code": "1",
         "description": "Description 1"
      }
   ]
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Create a new call center agent unavailable code

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

Create a new call center agent unavailable code.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "code": "1",
   "active": true,
   "description": "Description 1"
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 11: ALREADY_EXISTS, “Unavailable code name already exists.”

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Get a call center agent unavailable code instance

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

Get a call center agent unavailable code instance.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "active": true,
   "description": "Description 1"
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Status Codes:

Modify the call center agent unavailable code

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

Modify the call center agent unavailable code.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "active": true,
   "description": "Description 1"
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 200 OK – no error

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

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Status Codes:

Remove a call center agent unavailable code

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/unavailable_codes/(string: instance_name)/

Remove a call center agent unavailable code.

Authorization rights: minimum Group Admin.

Example request:

DELETE /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/unavailable_codes/fooCode/ HTTP/1.1
Host: example.com

Example response:

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

{}
Status Codes:
  • 200 OK – no error.

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

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Get call center agent unavailable codes settings

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

Get call center agent unavailable codes settings.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "enableCodes": true,
   "defaultCodeOnDND": "1",
   "defaultCodeOnPersonalCalls": "1",
   "defaultCodeOnConsecutiveBounces": "1",
   "defaultCodeOnNotReachable": "1",
   "forceUseOfCodes": true,
   "defaultCode": "1",
}
Response JSON Object:
  • enableCodes (boolean) – Specify if the unavailable codes are enabled or not.

  • defaultCodeOnDND (string) – The default code on do not disturb.

  • defaultCodeOnPersonalCalls (string) – The default code on personal calls.

  • defaultCodeOnConsecutiveBounces (string) – The default code on consecutive bounces.

  • defaultCodeOnNotReachable (string) – The default code on not reachable.

  • forceUseOfCodes (boolean) – Force the use of the unavailable code set in ‘defaultCode’.

  • defaultCode (string) – The default code used when ‘forceUseOfCodes’ is enabled.

  • codes (array) – A list of codes to activate or deactivate. See Group call center unavailable code in settings list attributes.

Status Codes:
  • 200 OK – no error

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

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Modify the call center agent unavailable codes settings

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

Modify the call center agent unavailable codes settings.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "enableCodes": true,
   "defaultCodeOnDND": "1",
   "defaultCodeOnPersonalCalls": "1",
   "defaultCodeOnConsecutiveBounces": "1",
   "defaultCodeOnNotReachable": "1",
   "forceUseOfCodes": true,
   "defaultCode": "1",
   "codes": [
      {
          "code": "1",
          "active": false
      }
   ]
}
Request JSON Object:
  • enableCodes (boolean) – Specify if the unavailable codes are enabled or not.

  • defaultCodeOnDND (string) – The default code on do not disturb.

  • defaultCodeOnPersonalCalls (string) – The default code on personal calls.

  • defaultCodeOnConsecutiveBounces (string) – The default code on consecutive bounces.

  • defaultCodeOnNotReachable (string) – The default code on not reachable.

  • forceUseOfCodes (boolean) – Force the use of the unavailable code set in ‘defaultCode’.

  • defaultCode (string) – The default code used when ‘forceUseOfCodes’ is enabled. To enable forceUseOfCodes it is mandatory to set a valid defaultCode.

  • codes (array) – A list of codes to activate or deactivate. See Group call center unavailable code in settings list attributes.

Example response:

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

{}
Status Codes:
  • 200 OK – no error

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

  • 9: MISSING_CONDITIONAL_PARAMETERS, “No default code is already set, to enable forceUseOfCodes it is mandatory to set a valid defaultCode.”

  • 46: NOT_AVAILABLE_IN_ENTERPRISE_MODE, “Tenant cannot be an Enterprise.”

Configuration Information for Call Center Management

In the POST API, when creating a call center, it is possible to configure APIO to generate automatically the service user ID according to a specific rule.

The APIO behaviour for the call center automatic service user ID generation is controlled by the following setting:

"AUTOMATIC_ID_RULES": {
    "SUID_CALL_CENTER_AUTO_GENERATE": true,
    "SUID_CALL_CENTER_RULE": "s_cc_{{RND_2}}@{{domain}}"
}
Settings description:
  • SUID_CALL_CENTER_AUTO_GENERATE: APIO will enable the auto-generation of call center service ids. Default is False, it must be set to have this feature working.

  • SUID_CALL_CENTER_RULE: the formatting rule for the call center service user id. Default is “s_cc_{{RND_2}}@{{domain}}”.

If the service user id number is built using the phone number in the generation rule, it is possible to configure APIO to change the service user io according to phone number modification on PUT request.

The APIO behaviour for the hunt group automatic service user id modification is controlled by the following setting:

"AUTOMATIC_ID_RULES": {
     "SERVICE_USERS_UPDATE_ID_PHONE_NUMBER": true
 }
Settings description:
  • SERVICE_USERS_UPDATE_ID_PHONE_NUMBER: APIO will enable the auto-update of call center service ids. Default is False, it must be set to have this feature working with phone numbers based service user ids and containing any of “{{phone_number_e164}}”, “{{country_code}}” or “{{national_no_0}}” placeholders in id generation rule.

Get a call center queue status

GET /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: user_id)/queue_status/

Get a call center queue status.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers/fooCallCenter/queue_status/ HTTP/1.1
Host: example.com

Example response:

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

{
  "numberOfCallsQueuedNow": 0,
  "agentsCurrentlyStaffed": [
      {
         "userId": "ApioUserTest@sip.netaxis.be",
         "firstName": "Test",
         "lastName": "Test",
         "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"
      }
  ]
}
Response JSON Object:
  • numberOfCallsQueuedNow (integer) – The number of calls queued now.

  • agentsCurrentlyStaffed (array) – The list of agents currently staffed. See Agent Currently Staffed Item.

Status Codes:

Remove a call center agent unavailable code

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

Remove a call center agent threshold profile.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{}
Status Codes:
  • 200 OK – no error.

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

  • 2: NOT_DELETED, “The specified Agent Threshold Profile Apio Threshold Test Valid, cannot be deleted because it has agents assigned.”

Queue Status Notification

Get call center queue status notification

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

Get call center queue status notification. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "enableQueueStatusNotification": true,
  "enableQueueDepthThreshold": false,
  "enableWaitingTimeThreshold": false,
  "numberOfCallsThreshold": 150,
  "waitingTimeOfCallsThreshold": 1500,
}
Response JSON Object:
  • enableQueueStatusNotification (boolean) – Enable notification of agents of the call center status.

  • enableQueueDepthThreshold (boolean) – Enable a threshold on the number of calls in queue that trigger the sending of notification to agents. Set the number of calls threshold with ‘numberOfCallsThreshold’.

  • enableWaitingTimeThreshold (boolean) – Enable a threshold on the waiting time of calls in queue that trigger the sending of notification to agents. Set the waiting time threshold with ‘waitingTimeOfCallsThreshold’.

  • numberOfCallsThreshold (integer) – The number of calls threshold.

  • waitingTimeOfCallsThreshold (integer) – The waiting time of calls threshold.

Status Codes:
  • 200 OK – No error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Modify the call center queue status notification

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

Modify the call center queue status notification.

Authorization rights: minimum Group Admin. Only suitable for premium call centers.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/queue_status_notif/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "enableQueueStatusNotification": true,
  "enableQueueDepthThreshold": false,
  "enableWaitingTimeThreshold": false,
  "numberOfCallsThreshold": 150,
  "waitingTimeOfCallsThreshold": 1500,
}
Request JSON Object:
  • enableQueueStatusNotification (boolean) – (Optional) Enable notification of agents of the call center status.

  • enableQueueDepthThreshold (boolean) – (Optional) Enable a threshold on the number of calls in queue that trigger the sending of notification to agents. Set the number of calls threshold with ‘numberOfCallsThreshold’.

  • enableWaitingTimeThreshold (boolean) – (Optional) Enable a threshold on the waiting time of calls in queue that trigger the sending of notification to agents. Set the waiting time threshold with ‘waitingTimeOfCallsThreshold’.

  • numberOfCallsThreshold (integer) – (Optional) The number of calls threshold.

  • waitingTimeOfCallsThreshold (integer) – (Optional) The waiting time of calls threshold.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Call Center DNIS

Only suitable for premium call centers

A call center can be assigned up to 63 different dialed number identification service (DNIS) telephone numbers in addition to the call center primary number. The primary number is also considered a call center DNIS number and referred to as primary DNIS. Using DNIS numbers allows prioritizing call center calls so that more important calls are distributed to agents first. To prioritize calls, you assign priorities to the different DNIS numbers associated with the call center. When a call comes in on a given DNIS number, it is assigned the priority associated with the number. To prevent lower-priority calls from being stranded, you can configure calls to be promoted to a higher priority after waiting in queue a specified amount of time.

Retrieve the group call center dnis configuration.

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

Retrieve the group call center dnis configuration. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "displayDNISNumber": true,
  "displayDNISName": true,
  "promoteCallsFromPriority1to0": false,
  "promoteCallsFromPriority2to1": false,
  "promoteCallsFromPriority3to2": false,
  "promoteCallsFromPriority1to0Seconds": 1000,
  "promoteCallsFromPriority2to1Seconds": 1000,
  "promoteCallsFromPriority3to2Seconds": 1000
}
Response JSON Object:
  • displayDNISNumber (boolean) – Specify if to display the DNIS number of the DNIS, which received the call to agent instead of the calling number.

  • displayDNISName (boolean) – Specify to display to the agent the name of the DNIS on which the call was received instead of the calling name.

  • promoteCallsFromPriority1to0 (boolean) – Specify if to automatically promote calls with priority 1 to priority 0 after waiting seconds defined in ‘promoteCallsFromPriority1to0Seconds’.

  • promoteCallsFromPriority2to1 (boolean) – Specify if to automatically promote calls with priority 2 to priority 1 after waiting seconds defined in ‘promoteCallsFromPriority2to1Seconds’.

  • promoteCallsFromPriority3to2 (boolean) – Specify if to automatically promote calls with priority 3 to priority 2 after waiting seconds defined in ‘promoteCallsFromPriority3to2Seconds’.

  • promoteCallsFromPriority1to0Seconds (integer) – The waiting seconds to promote calls with priority 1 to priority 0.

  • promoteCallsFromPriority2to1Seconds (integer) – The waiting seconds to promote calls with priority 2 to priority 1.

  • promoteCallsFromPriority3to2Seconds (integer) – The waiting seconds to promote calls with priority 3 to priority 2.

Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Update the group call center dnis configuration.

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

Update the group call center dnis configuration. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_centers/foocallcenter/dnis_config/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "displayDNISNumber": true,
  "displayDNISName": true,
  "promoteCallsFromPriority1to0": false,
  "promoteCallsFromPriority2to1": false,
  "promoteCallsFromPriority3to2": false,
  "promoteCallsFromPriority1to0Seconds": 1000,
  "promoteCallsFromPriority2to1Seconds": 1000,
  "promoteCallsFromPriority3to2Seconds": 1000
}
Request JSON Object:
  • displayDNISNumber (boolean) – (Optional) Specify if to display the DNIS number of the DNIS, which received the call to agent instead of the calling number.

  • displayDNISName (boolean) – (Optional) Specify to display to the agent the name of the DNIS on which the call was received instead of the calling name.

  • promoteCallsFromPriority1to0 (boolean) – (Optional) Specify if to automatically promote calls with priority 1 to priority 0 after waiting seconds defined in ‘promoteCallsFromPriority1to0Seconds’.

  • promoteCallsFromPriority2to1 (boolean) – (Optional) Specify if to automatically promote calls with priority 2 to priority 1 after waiting seconds defined in ‘promoteCallsFromPriority2to1Seconds’.

  • promoteCallsFromPriority3to2 (boolean) – (Optional) Specify if to automatically promote calls with priority 3 to priority 2 after waiting seconds defined in ‘promoteCallsFromPriority3to2Seconds’.

  • promoteCallsFromPriority1to0Seconds (integer) – (Optional) The waiting seconds to promote calls with priority 1 to priority 0.

  • promoteCallsFromPriority2to1Seconds (integer) – (Optional) The waiting seconds to promote calls with priority 2 to priority 1.

  • promoteCallsFromPriority3to2Seconds (integer) – (Optional) The waiting seconds to promote calls with priority 3 to priority 2.

Example response:

Response:

Similar to GET method response.

Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Retrieve a list of call center’s dnis

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

Retrieve a list of call center’s dnis. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers/foocallcenter/dnis/ HTTP/1.1
Host: example.com

Example response:

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

{
  "dnis": [
      {
          "name": "Test DNIS",
          "phoneNumber": "025126780",
          "extension": "9998",
          "priority": 1,
          "primary": true
      }
  ]
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Create a new call center dnis

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/dnis/

Create a new call center dnis. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

{
  "name": "Test DNIS",
  "phoneNumber": "025126780",
  "extension": "9998",
  "useCustomCLIDSettings": true,
  "cliPhoneNumber": "025126780",
  "cliLastName": "cliLastName",
  "cliFirstName": "cliFirstName",
  "useCustomDnisAnnouncementSettings": false,
  "priority": 1,
  "allowOutgoingACDCall": true
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 11: ALREADY_EXISTS, “Duplicate name. The specified DNIS name is already being used by another DNIS instance.”

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Retrieve a call center dnis instance

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

Retrieve a call center dnis instance. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "name": "TestDnis",
  "phoneNumber": "025126780",
  "extension": "9998",
  "useCustomCLIDSettings": true,
  "cliPhoneNumber": "025126780",
  "cliLastName": "cliLastName",
  "cliFirstName": "cliFirstName",
  "useCustomDnisAnnouncementSettings": false,
  "priority": 1,
  "allowOutgoingACDCall": true
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Modify the call center dnis instance

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

Modify the call center dnis instance. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/foocallcenter/dnis/fooDnisName/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "name": "TestDnis",
  "phoneNumber": "025126780",
  "extension": "9998",
  "useCustomCLIDSettings": true,
  "cliPhoneNumber": "025126780",
  "cliLastName": "cliLastName",
  "cliFirstName": "cliFirstName",
  "useCustomDnisAnnouncementSettings": false,
  "priority": 1,
  "allowOutgoingACDCall": true
}
Request JSON Object:

Example response:

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

{
  "name": "TestDnis",
  "phoneNumber": "025126780",
  "extension": "9998",
  "useCustomCLIDSettings": true,
  "cliPhoneNumber": "025126780",
  "cliLastName": "cliLastName",
  "cliFirstName": "cliFirstName",
  "useCustomDnisAnnouncementSettings": false,
  "priority": 1,
  "allowOutgoingACDCall": true
}
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Status Codes:

Remove a call center dnis instance

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: user_id)/dnis/(string: instance_name)/

Remove a call center dnis instance. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

DELETE /api/v1/tenants/footenant/groups/foogroup/services/call_centers/foocallcenter/dnis/fooDnisName/ HTTP/1.1
Host: example.com

Example response:

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

{}
Status Codes:
  • 200 OK – no error.

  • 400 Bad Request – Bad request due to invalid parameters or dnis not found, with possible sub-error code:

  • 18: INVALID_OPERATION, “DNIS is being used by agent as the outgoing number.”. To avoid this error unassign the DNIS from the agent by using Update instance.

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Retrieve a list of call center’s dnis agents

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

Retrieve a list of call center’s dnis agents. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/footenant/groups/foogroup/services/call_centers/foocallcenter/dnis/fooDnisName/agents/ HTTP/1.1
Host: example.com

Example response:

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

{"agents":
  [
      {
        "userId": "ApioUserTest1@sip.netaxis.be",
        "firstName": "Test1",
        "lastName": "Test1",
        "phoneNumber": "+3225126778",
        "extension": "5001",
        "department": {
              "tenantId": "ApioGrpTest",
              "groupId": "ApioSpTest",
              "departmentName": "test_department_initial",
              "fullPathName": "test_department_parent_1 \\ test_department_initial"
        },
        "emailAddress": ""
      }
  ]
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

  • 400 Bad Request – Bad request due to invalid parameters or dnis not found, with possible sub-error code:

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Retrieve the dnis announcement configuration

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

Retrieve a call center’s dnis announcement configuration. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

GET /api/v1/tenants/foo/groups/foogroup/services/call_centers/foocallcenter/dnis_announcements/fooDnisName/ HTTP/1.1
Host: example.com

Example response:

HTTP/1.1 200 OK

{
   "playEntranceMessage": true,
   "mandatoryEntranceMessage": false,
   "entranceMessage": {
       "audioMessageSelection": "Default"
   },
   "playPeriodicComfortMessage": true,
   "timeBetweenComfortMessagesSeconds": 10,
   "comfortMessage": {
      "audioMessageSelection": "Default"
   },
   "playMediaOnHoldForQueuedCalls": false,
   "mediaOnHoldForQueuedCalls": {
      "audioMessageSelection": "Default"
   },
   "playWhisperMessage": false,
   "whisperMessage": {
      "audioMessageSelection": "Default"
   }
   "estimatedWaitMessageOptions": {
      "playTimeHighVolume": true,
      "maximumPositions": 100,
      "enabled": false,
      "playUpdatedEWM": false,
      "playPositionHighVolume": true,
      "timeBetweenEWMUpdatesSeconds": 120,
      "operatingMode": "Time",
      "maximumWaitingMinutes": 100
   },
}
Response JSON Object:
  • playEntranceMessage (boolean) – Toggle enable playEntranceMessage functionality.

  • mandatoryEntranceMessage (boolean) – Toggle enable mandatoryEntranceMessage functionality.

  • entranceMessage (object) – See Announcements Config.

  • playPeriodicComfortMessage (boolean) – Toggle enable playPeriodicComfortMessage functionality.

  • timeBetweenComfortMessagesSeconds (integer) – The interval in seconds between each repetition of the comfort message played to queued users.

  • comfortMessage (object) – See Announcements Config.

  • playMediaOnHoldForQueuedCalls (boolean) – Toggle enable playMediaOnHoldForQueuedCalls functionality.

  • mediaOnHoldForQueuedCalls (object) – See Announcements Config.

  • playWhisperMessage (boolean) – Toggle enable playWhisperMessage functionality.

  • whisperMessage (object) – See Announcements Config.

  • estimatedWaitMessageOptions (object) – See Estimated Wait Message Options.

Status Codes:
  • 200 OK – no error.

  • 400 Bad Request – Bad request due to invalid parameters or dnis not found, with possible sub-error code:

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Update the dnis announcement configuration

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

Update a call center’s dnis announcement configuration. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/foo/groups/foogroup/services/call_centers/foocallcenter/dnis_announcements/fooDnisName/ HTTP/1.1
Host: example.com

{
   "playEntranceMessage": true,
   "mandatoryEntranceMessage": false,
   "entranceMessage": {
      "audioMessageSelection": "File",
      "audioFileList": [{"name": "APIO Test Announcement"}]
   }
}
Request JSON Object:
  • playEntranceMessage (boolean) – Toggle enable playEntranceMessage functionality.

  • mandatoryEntranceMessage (boolean) – Toggle enable mandatoryEntranceMessage functionality.

  • entranceMessage (object) – See Announcements Config.

  • playPeriodicComfortMessage (boolean) – Toggle enable playPeriodicComfortMessage functionality.

  • timeBetweenComfortMessagesSeconds (integer) – Toggle enable timeBetweenComfortMessagesSeconds functionality.

  • comfortMessage (object) – See Announcements Config.

  • playMediaOnHoldForQueuedCalls (boolean) – Toggle enable playMediaOnHoldForQueuedCalls functionality.

  • mediaOnHoldForQueuedCalls (object) – See Announcements Config.

  • playWhisperMessage (boolean) – Toggle enable playWhisperMessage functionality.

  • whisperMessage (object) – See Announcements Config.

  • estimatedWaitMessageOptions (object) – See Estimated Wait Message Options.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – instance updated

  • 400 Bad Request – Bad request due to invalid parameters or dnis not found, with possible sub-error code:

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Group call disposition codes

Disposition codes are additional attributes that can be applied to inbound and outbound calls to tag calls with comments, results, and so on.

More than one disposition code can be assigned to a call.

Disposition codes can be defined at the Group level (this set of APIs), in which case they are available to all route points and Premium call centers in the Group. This is only possible if the Group is in a tenant of type Service Provider, in case of Enterprise they are defined at Enterprise level.

Get the list of a group call disposition codes

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

List all the call disposition codes of a Group.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "disposition_codes": [
      {
         "code": "123456",
         "active": true,
         "description": "Test Call Disposition Code"
      }
   ]
}
Response JSON Object:
Status Codes:

Create a new Group call disposition code

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

Create a new Group call disposition code.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "code": "123456",
   "active": true,
   "description": "Test Call Disposition Code"
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 11: ALREADY_EXISTS, “Disposition code name already exists.”

Get a Group call disposition code instance

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

Get a Group call center call disposition code instance.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "active": true,
   "description": "Test Call Disposition Code"
}
Response JSON Object:
Status Codes:

Modify a Group call disposition code

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

Modify a Group call disposition code.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "active": true,
   "description": "Test Call Disposition Code"
}
Request JSON Object:

Example response:

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

{}
Status Codes:

Remove a Group call disposition code

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers_properties/disposition_codes/(string: instance_name)/

Remove a Group call disposition code.

Authorization rights: minimum Group Admin.

Example request:

DELETE /api/v1/tenants/footenant/groups/foogroup/services/call_centers_properties/disposition_codes/fooCode/ HTTP/1.1
Host: example.com

Example response:

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

{}
Status Codes:
  • 200 OK – no error. Note that trying to delete an unexistent code, it’ll not return an error.

  • 400 Bad Request – Bad request due to invalid parameters

Call center call disposition codes

Only suitable for premium call centers

Disposition codes are additional attributes that can be applied to inbound and outbound calls to tag calls with comments, results, and so on. More than one disposition code can be assigned to a call. Disposition codes can be defined at the call center or route point level, in which case they apply only to the call center or route point where they are defined.

Get the list of a call center’s call disposition codes

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

List all the call center’s call disposition codes. Only suitable for premium call centers.

This list will return both the Disposition Codes specific to this instance and the ones defined at Group/Enterprise level.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "disposition_codes": [
      {
         "code": "123456",
         "active": true,
         "description": "Test Call Disposition Code",
         "level": "CallCenter"
      },
      {
         "code": "5678876",
         "active": true,
         "description": "Test Call Disposition Code from Group",
         "level": "Group"
      }
   ]
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Create a new call center’s call disposition code

POST /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/disposition_codes/

Create a new call center’s call disposition code. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

POST /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/disposition_codes/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "code": "123456",
   "active": true,
   "description": "Test Call Disposition Code"
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 11: ALREADY_EXISTS, “Disposition code name already exists.”

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Get a call center’s call disposition code instance

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

Get a call center’s call disposition code instance. Only suitable for premium call centers.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
   "active": true,
   "description": "Test Call Disposition Code"
}
Response JSON Object:
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Status Codes:

Modify the call center’s call disposition code

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

Modify the call center’s call disposition code. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/disposition_codes/fooCode/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
   "active": true,
   "description": "Test Call Disposition Code"
}
Request JSON Object:

Example response:

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

{}
Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Status Codes:

Remove a call center’s call disposition code

DELETE /api/v1/tenants/(string: tenant_id)/groups/(string: group_id)/services/call_centers/(string: call_center_name)/disposition_codes/(string: instance_name)/

Remove a call center’s call disposition code. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

DELETE /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/disposition_codes/fooCode/ HTTP/1.1
Host: example.com

Example response:

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

{}
Status Codes:
  • 200 OK – no error. Note that trying to delete an unexistent code, it’ll not return an error.

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

  • 21: NOT_DELETED, “Cannot delete or deactivate the disposition code. It is being used as default code.”

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Call center call disposition codes settings

Get call center queue call disposition code settings

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

Get call center queue call disposition code settings. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "enableCallDispositionCodes": true,
  "includeOrganizationCodes": true,
  "forceUseOfCallDispositionCodes": true,
  "defaultCallDispositionCode": {
      "code": "123456",
      "level": "CallCenter"
  }
}
Response JSON Object:
  • enableCallDispositionCodes (boolean) – Enable the use of the disposition codes for the call center.

  • includeOrganizationCodes (boolean) – Specify if to use the group codes in addition to call center code. To use only the call center disposition codes set to False.

  • forceUseOfCallDispositionCodes (boolean) – Force the use of disposition codes for the call center and select the default disposition code. If True, ‘defaultCallDispositionCode’ must be provided.

  • defaultCallDispositionCode (boolean) – The default disposition code to use if ‘forceUseOfCallDispositionCodes’ is enabled. See Group call center default disposition code attributes.

Status Codes:
  • 200 OK – No error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Modify the call center queue call disposition code settings

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

Modify the call center call disposition code settings. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/disposition_codes_config/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "enableCallDispositionCodes": true,
  "includeOrganizationCodes": true,
  "forceUseOfCallDispositionCodes": true,
  "defaultCallDispositionCode": {
      "code": "123456",
      "level": "CallCenter"
  }
}
Request JSON Object:
  • enableCallDispositionCodes (boolean) – (Optional) Enable the use of the disposition codes for the call center.

  • includeOrganizationCodes (boolean) – (Optional) Specify if to use the group codes in addition to call center code. To use only the call center disposition codes set to False.

  • forceUseOfCallDispositionCodes (boolean) – (Optional) Force the use of disposition codes for the call center and select the default disposition code. If True, ‘defaultCallDispositionCode’ must be provided.

  • defaultCallDispositionCode (boolean) – (Conditional) The default disposition code to use. It is mandatory if ‘forceUseOfCallDispositionCodes’ is enabled. Set it to null (None) to remove the actual value. See Group call center default disposition code attributes.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

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

  • 2: INVALID_PARAMETERS, “Invalid disposition code.”. Can occur if the disposition code is not active or is not existent.

  • 9: MISSING_CONDITIONAL_PARAMETERS, “When “forceUseOfCallDispositionCodes” is enabled, a default call disposition code must be provided.”

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Call center comfort message bypass

Configure the call center to play ringing and/or a different message instead of music and comfort messages if the call is expected to be answered quickly. Only suitable for premium call centers

Get call center comfort message bypass

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

Get call center comfort message bypass. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "active": true,
  "callWaitingAgeThresholdSeconds": 15,
  "playAnnouncementAfterRinging": true,
  "ringTimeBeforePlayingAnnouncementSeconds": 15,
  "audioMessageSelection": "File",
  "audioFileList": [
      {
          "name": "APIO Group Test Announcement"
      }
  ]
}
Response JSON Object:
  • active (boolean) – Enable the bypassing comfort messages for the call center.

  • callWaitingAgeThresholdSeconds (integer) – Define the maximum allowed waiting time for bypassing comfort messages, by entering the number of seconds for the Bypass comfort message when estimated wait time is less than <X> seconds setting.

  • playAnnouncementAfterRinging (boolean) – To play an announcement to callers after ringing for the configured amount of time (‘ringTimeBeforePlayingAnnouncementSeconds’).

  • ringTimeBeforePlayingAnnouncementSeconds (integer) – The number of seconds after which to play the announcement if ‘playAnnouncementAfterRinging’ is True.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – See Announcements Config.

Status Codes:
  • 200 OK – No error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Modify the call center comfort message bypass

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

Modify the call center comfort message bypass. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/comfort_msg_bypass/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "active": true,
  "callWaitingAgeThresholdSeconds": 15,
  "playAnnouncementAfterRinging": true,
  "ringTimeBeforePlayingAnnouncementSeconds": 15,
  "audioMessageSelection": "File",
  "audioFileList": [
      {
          "name": "APIO Group Test Announcement"
      }
  ]
}
Request JSON Object:
  • active (boolean) – Enable the bypassing comfort messages for the call center.

  • callWaitingAgeThresholdSeconds (integer) – Define the maximum allowed waiting time for bypassing comfort messages, by entering the number of seconds for the Bypass comfort message when estimated wait time is less than <X> seconds setting.

  • playAnnouncementAfterRinging (boolean) – To play an announcement to callers after ringing for the configured amount of time (‘ringTimeBeforePlayingAnnouncementSeconds’).

  • ringTimeBeforePlayingAnnouncementSeconds (integer) – The number of seconds after which to play the announcement if ‘playAnnouncementAfterRinging’ is True.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

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

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”

Call center forced forwarding

Configure the call center to temporarily divert new incoming calls to a different route independently of the Night Service route. Forced Forwarding does not affect calls already in the queue. Only suitable for premium call centers

Get call center forced forwarding

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

Get call center forced forwarding. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

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

Example response:

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

{
  "active": true,
  "forwardToPhoneNumber": "+3225126779",
  "allowEnableViaFAC": true,
  "playAnnouncementBeforeForwarding": true,
  "audioMessageSelection": "File",
  "audioFileList": [
      {
          "name": "APIO Group Test Announcement"
      }
  ]
}
Response JSON Object:
  • active (boolean) – Enable the bypassing comfort messages for the call center.

  • forwardToPhoneNumber (string) – Define the number where the calls will be forwarded.

  • allowEnableViaFAC (boolean) – Specify if to allow or forbid the use of feature access codes.

  • playAnnouncementBeforeForwarding (boolean) – Specify if an announcement should be played before forwarding a call.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – See Announcements Config.

Status Codes:
  • 200 OK – No error

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

  • 9: INVALID_TYPE, “Request is not supported for this type of call center.”

Modify the call center forced forwarding

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

Modify the call center forced forwarding. Only suitable for premium call centers.

Authorization rights: minimum Group Admin.

Example request:

PUT /api/v1/tenants/footenant/groups/foogroup/services/call_centers/APIOTestCallCenterP@sip.netaxis.be/forced_forwarding/ HTTP/1.1
Host: example.com
Content-Type: "application/json"

{
  "active": true,
  "forwardToPhoneNumber": "+3225126779",
  "allowEnableViaFAC": true,
  "playAnnouncementBeforeForwarding": true,
  "audioMessageSelection": "File",
  "audioFileList": [
      {
          "name": "APIO Group Test Announcement"
      }
  ]
}
Request JSON Object:
  • active (boolean) – Enable the bypassing comfort messages for the call center.

  • forwardToPhoneNumber (string) – Define the number where the calls will be forwarded. It is mandatory when ‘active’ is True.

  • allowEnableViaFAC (boolean) – Specify if to allow or forbid the use of feature access codes.

  • playAnnouncementBeforeForwarding (boolean) – Specify if an announcement should be played before forwarding a call.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:
  • 200 OK – no error

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

  • 9: MISSING_CONDITIONAL_PARAMETERS, “The ‘forwardToPhoneNumber’ must be set in order to enable forwarding of the call.”

  • 53: INVALID_TYPE, “Request is not supported for this type of call center.”