Call Center Routing Policies

Routing Policies - Holiday Service

Retrieve configuration

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

Retrieve a call center’s holiday service routing policy. Note that this applies to a call center of type Premium only.

Example request:

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

{
   "type": "Holiday Service"
}
Request JSON Object:
  • type (string) – Use Holiday Service to get holiday service routing policy.

Example response:

HTTP/1.1 200 OK

{
   "action": "Busy",
   "transferPhoneNumber": "+3267219021",
   "holidaySchedule": {
      "level": "Tenant",
      "name": "My Vacation",
      "type": "Holiday"
   },
   "playAnnouncementBeforeAction": true,
   "audioMessageSelection": "File",
   "audioFileList": [ null, { "name": "My Audio 1" }, { "name": "My Audio 2" }, null ]
}
Response JSON Object:
  • action (string) – Value of the action (can be None, Busy or Transfer.

  • transferPhoneNumber (string) – the phone number to transfer to (in case action is set to Transfer).

  • holidaySchedule (object) – A holiday schedule to apply as defined by Schedule attributes.

  • playAnnouncementBeforeAction (boolean) – Enable or disable playing an announcement before performing holiday service action.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – 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)/routing_policies/

Update a call center’s holiday service routing policy.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "type": "Holiday Service",
   "action": "Busy",
   "transferPhoneNumber": "+3267219021",
   "holidaySchedule": { "level": "Tenant", "name": "My XMAS Vacation" },
   "playAnnouncementBeforeAction": true,
   "audioMessageSelection": "File",
   "audioFileList": [ null, { "name": "My Announcement 1" }, { "name": "My Announcement 2" }, null ]
}
Request JSON Object:
  • type (string) – Use Holiday Service to update holiday services routing policy.

  • action (string) – Value of the action (can be None, Busy or Transfer.

  • transferPhoneNumber (string) – the phone number to transfer to (in case action is set to Transfer).

  • holidaySchedule (object) – A holiday schedule to apply as defined by Schedule attributes.

  • playAnnouncementBeforeAction (boolean) – Enable or disable playing an announcement before performing holiday service action.

  • audioMessageSelection (string) – See Announcements Config.

  • audioFileList (array) – See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Routing Policies - Night Service

Retrieve configuration

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

Retrieve a call center’s night service routing policy. Note that this applies to a call center of type Premium only.

Example request:

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

{
   "type": "Night Service"
}
Request JSON Object:
  • type (string) – Use Night Service to get night service routing policy.

Example response:

HTTP/1.1 200 OK

{
   "action": "Busy",
   "transferPhoneNumber": "+3267219021",
   "forceNightService": true,
   "businessHours": { "level": "Tenant", "name": "Grille3_HNO", "type": "Time" },
   "allowManualOverrideViaFAC": true,
   "playAnnouncementBeforeAction": false,
   "announcementMode": "Normal Announcement",
   "normalAudioMessageSelection": "Default",
   "normalAudioFileList": [ null, { "name": "My Announcement 1" }, { "name": "My Announcement 2" }, null ],
   "manualAudioMessageSelection": "Default",
   "manualAudioFileList": [ { "name": "My Announcement 3" }, { "name": "My Announcement 4" }, null, null ]
}
Response JSON Object:
  • action (string) – Value of the action (can be None, Busy or Transfer.

  • transferPhoneNumber (string) – the phone number to transfer to (in case action is set to Transfer).

  • forceNightService (boolean) – Force night service now regardless of business hours schedule.

  • businessHours (object) – A time schedule to apply as defined by Schedule attributes.

  • allowManualOverrideViaFAC (boolean) – Allow feature access codes to manually override night service.

  • playAnnouncementBeforeAction (boolean) – Enable or disable playing an announcement before performing night service action.

  • announcementMode (string) – Announcement to play in manual override mode. Can be Normal Announcement or Manual Announcement.

  • normalAudioMessageSelection (string) – See Announcements Config.

  • normalAudioFileList (array) – See Announcements Config.

  • manualAudioMessageSelection (string) – See Announcements Config.

  • manualAudioFileList (array) – 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)/routing_policies/

Update a call center’s night service routing policy.

Authorization rights: minimum Group Admin.

Example request:

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

{
   "type": "Night Service",
   "action": "Busy",
   "transferPhoneNumber": "+3267219021",
   "forceNightService": true,
   "businessHours": { "level": "Tenant", "name": "Grille3_HNO" },
   "allowManualOverrideViaFAC": true,
   "playAnnouncementBeforeAction": false,
   "announcementMode": "Normal Announcement",
   "normalAudioMessageSelection": "Default",
   "normalAudioFileList": [ null, { "name": "My Announcement 1" }, { "name": "My Announcement 2" }, null ],
   "manualAudioMessageSelection": "File",
   "manualAudioFileList": [ { "name": "My Announcement 3" }, { "name": "Unmodify" }, null, null ]
}
Request JSON Object:
  • type (string) – Use Night Service to update night service routing policy.

  • action (string) – Value of the action (can be None, Busy or Transfer.

  • transferPhoneNumber (string) – the phone number to transfer to (in case action is set to Transfer).

  • forceNightService (boolean) – Force night service now regardless of business hours schedule.

  • businessHours (object) – A time schedule to apply as defined by Schedule attributes.

  • allowManualOverrideViaFAC (boolean) – Allow feature access codes to manually override night service.

  • playAnnouncementBeforeAction (boolean) – Enable or disable playing an announcement before performing night service action.

  • announcementMode (string) – Announcement to play in manual override mode. Can be Normal Announcement or Manual Announcement.

  • normalAudioMessageSelection (string) – See Announcements Config.

  • normalAudioFileList (array) – See Announcements Config.

  • manualAudioMessageSelection (string) – See Announcements Config.

  • manualAudioFileList (array) – See Announcements Config.

Example response:

Response:

Similar to GET instance method response.

Status Codes:

Routing Policy and Priorities

Retrieve the group call center routing policy and priorities.

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

Retrieve the group call center routing policy and priorities.

Authorization rights: minimum End User.

Example request:

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

Example response:

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

{
  "routingPolicy": "Priority",
  "routingPriorities": [
      {
          "userId": "APIOTestCallCenterB@sip.netaxis.be",
          "name": "APIO Test Call Center B",
          "priority": 1
      },
      {
          "userId": "APIOTestCallCenterP@sip.netaxis.be",
          "name": "APIO Test Call Center P",
          "priority": 2
      },
      {
          "userId": "APIOTestCallCenterS@sip.netaxis.be",
          "name": "APIO Test Call Center S",
          "priority": 3
      }
  ]
}
Response JSON Object:
  • routingPolicy (string) – the routing policy of call centers. Value comes from list: {‘Longest Wait Time’|’Priority’}

  • routingPriorities (array) – a list of objects containing the call centers with their priority. See Group call center priority attributes

Status Codes:

Update the group call center routing policy and priorities.

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

Update the group call center routing policy and priorities.

It is recommended to verify the answer to get the real priorities that the AS has attributed as it can re-order them.

Authorization rights: minimum Group Admin.

Example request:

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

If the setting CC_ROUTING_PRIORITY_VALIDATION is set to True:

{
  "routingPolicy": "Priority",
  "routingPriorities": [
      {
          "userId": "APIOTestCallCenterB@sip.netaxis.be",
          "name": "APIO Test Call Center B",
          "priority": 1
      },
      {
          "userId": "APIOTestCallCenterP@sip.netaxis.be",
          "name": "APIO Test Call Center P",
          "priority": 2
      },
      {
          "userId": "APIOTestCallCenterS@sip.netaxis.be",
          "name": "APIO Test Call Center S",
          "priority": 3
      }
  ]
}

If the setting CC_ROUTING_PRIORITY_VALIDATION is set to False:

{
  "routingPolicy": "Priority",
  "routingPriorities": [
      {
          "userId": "APIOTestCallCenterB@sip.netaxis.be",
          "name": "APIO Test Call Center B",
          "priority": 1
      },
      {
          "userId": "APIOTestCallCenterP@sip.netaxis.be",
          "name": "APIO Test Call Center P",
          "priority": 1.5
      },
      {
          "userId": "APIOTestCallCenterS@sip.netaxis.be",
          "name": "APIO Test Call Center S",
          "priority": 2
      }
  ]
}

OR

{
  "routingPolicy": "Priority",
  "routingPriorities": [
      {
          "userId": "APIOTestCallCenterB@sip.netaxis.be",
          "name": "APIO Test Call Center B",
          "priority": 1
      },
      {
          "userId": "APIOTestCallCenterP@sip.netaxis.be",
          "name": "APIO Test Call Center P",
          "priority": 1
      },
      {
          "userId": "APIOTestCallCenterS@sip.netaxis.be",
          "name": "APIO Test Call Center S",
          "priority": 1
      }
  ]
}
Request JSON Object:
  • routingPolicy (string) – the routing policy of call centers. Value comes from list: {‘Longest Wait Time’|’Priority’}

  • routingPriorities (array) – a list of objects containing the call centers with their priority. The array must contain all the call centers defined in the group. See Group call center priority attributes

Example response:

HTTP/1.1 200 OK
Status Codes:
  • 200 OK – no error

  • 400 Bad Request – unable to update routing priorities, with possible sub-error codes:

  • 1: MISSING_MANDATORY_PARAMETERS, “The Call Centers List does not contain all the call centers defined.”

  • 2: INVALID_PARAMETERS, “The parameter ‘priority’ must be an integer value when the CC_ROUTING_PRIORITY_VALIDATION setting is enabled.”

  • 2: INVALID_PARAMETERS, “The priorities must be unique values when the CC_ROUTING_PRIORITY_VALIDATION setting is enabled.”

Configuration Information

In the PUT API /api/v1/tenants/(string:tenant_id)/groups/(string:group_id)/services/call_centers_properties/routing_priorities/, the following configuration settings is used:

"CC_ROUTING_PRIORITY_VALIDATION": true,
Settings description:

CC_ROUTING_PRIORITY_VALIDATION:

  • If true (default value), a custom APIO validation is enabled: the priorities must be integer and unique values.

  • If false, the native behaviour of the AS is kept: the priorities can be both integer or float (with one decimal position) values. Duplicate priorities will be re-ordered by BroadSoft by alphabetical order.