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
orTransfer
.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:
200 OK –
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
orTransfer
.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:
200 OK – instance updated
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
orTransfer
.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
orManual Announcement
.normalAudioMessageSelection (string) – See Announcements Config.
normalAudioFileList (array) – See Announcements Config.
manualAudioMessageSelection (string) – See Announcements Config.
manualAudioFileList (array) – See Announcements Config.
- Status Codes:
200 OK –
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
orTransfer
.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
orManual 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:
200 OK – instance updated
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:
200 OK – no error
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.