Answering Rules
Answering Rules enable users to control how calls are handled when their extension is called. Users can set which phone numbers are called, in which order and after what delay, as well as configure Ring Groups.
Answering rules are handled by the account/~/extension/~/answering-rule
endpoint and associate rules with phone numbers handled by the user's forwarding number endpoint. Each user has 2 default answering rules for business hours and after hours, known as business-hours-rule
and after-hours-rule
, as well as custom rules.
API | path |
---|---|
Answering Rule Endpoint | v1.0/account/~/extension/~/answering-rule/ |
Answering Rule Endpoint for Business Hours Rule | v1.0/account/~/extension/~/answering-rule/business-hours-rule |
Answering Rule Endpoint for After Hours Rule | v1.0/account/~/extension/~/answering-rule/after-hours-rule |
Forwarding Number Endpoint | v1.0/account/~/extension/~/forwarding-number/ |
Read Answering Rule List
Method | Endpoint | Description |
---|---|---|
GET |
v1.0/account/{accountId}/extension/{extensionId}/answering-rule/ |
Get extension rule list |
GET /restapi/v1.0/account/11111111/extension/22222222/answering-rule HTTP/1.1
Accept: application/json
Authorization: Bearer MyAccessToken
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/answering-rule?page=1&perPage=100",
"records": [
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/answering-rule/33333333",
"id": "33333333",
"type": "Custom",
"name": "My Custom Rule 1",
"enabled": true,
"callers": [
{
"callerId": "16505551212"
}
],
"callHandlingAction": "ForwardCalls"
},
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/answering-rule/business-hours-rule",
"id": "business-hours-rule",
"type": "BusinessHours",
"enabled": true,
"callHandlingAction": "ForwardCalls"
}
],
"paging": {...},
"navigation": {...}
}
Read an Answering Rule
Method | Endpoint | Description |
---|---|---|
GET |
v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId} |
Get a rule |
Example Request
GET /restapi/v1.0/account/11111111/extension/22222222/answering-rule/business-hours-rule HTTP/1.1
Accept: application/json
Authorization: Bearer MyAccessToken
Example Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"uri": "http://platform.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/answering-rule/business-hours-rule",
"id": "business-hours-rule",
"type": "BusinessHours",
"enabled": true,
"schedule": {
"ref": "BusinessHours"
},
"callHandlingAction": "ForwardCalls",
"forwarding": {
"notifyMySoftPhones": true,
"notifyAdminSoftPhones": false,
"softPhonesRingCount": 1,
"ringingMode": "Sequentially",
"rules": [
{
"index": 1,
"ringCount": 4,
"forwardingNumbers": [
{
"uri": "http://platform.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/forwarding-number/33333333",
"id": "33333333",
"phoneNumber": "+16505551212",
"label": "My Cisco SPA-303 Desk Phone"
}
]
},
{
"index": 2,
"ringCount": 8,
"forwardingNumbers": [
{
"uri": "http://platform.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/forwarding-number/44444444",
"id": "44444444",
"phoneNumber": "+4155551212",
"label": "Home"
}
]
},
{
"index": 3,
"ringCount": 12,
"forwardingNumbers": [
{
"uri": "http://platform.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222/forwarding-number/55555555",
"id": "55555555",
"phoneNumber": "+12125551212",
"label": "Mobile"
}
]
}
]
},
"greetings": [
{
"type": "Voicemail",
"prompt": {
"id": "0",
"type": "message",
"name": "No One Available"
}
},
{
"type": "Introductory"
},
{
"type": "AudioWhileConnecting",
"prompt": {
"id": "6",
"type": "music",
"name": "Acoustic"
}
},
{
"type": "ConnectingMessage",
"prompt": {
"id": "3",
"type": "message",
"name": "Forward hold 1"
}
}
],
"screening": "Never",
"voicemail": {
"enabled": true,
"recipient": {
"uri": "http://platform.ringcentral.com/restapi/v1.0/account/11111111/extension/22222222",
"id": 22222222
}
}
}
Update an Answering Rule
Answering rules can be updated by configuring forwarding numbers individuall and in Ring Groups. For each forwarding number, the index
and forwardingNumber.id
is required.
The ringCount
property indicates how many times the call should ring before moving to the next rule. Each ring corresponds to 5 seconds in the Online Account Portal.
Example Request
Method | Endpoint | Description |
---|---|---|
PUT |
v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId} |
Update a rule |
PUT /restapi/v1.0/account/11111111/extension/22222222/answering-rule/business-hours-rule HTTP/1.1
Accept: application/json
Authorization: Bearer MyAccessToken
Content-Type: application/json
{
"forwarding": {
"rules": [
{
"index": 1,
"ringCount": 2,
"forwardingNumbers": [
{ id: "22223333" },
{ id: "22224444" }
]
},
{
"index": 2,
"ringCount": 4,
"forwardingNumbers": [
{ id: "22225555" }
]
}
]
}
}
Delete an Answering Rule
Method | Endpoint | Description |
---|---|---|
DELETE |
v1.0/account/{accountId}/extension/{extensionId}/answering-rule/{ruleId} |
Delete a rule |
Update a Forwarding Number
Permissions needed: EditExtensions The business and after hours rules can forward calls to a set of forwarding numbers. To update the phone number used, identify the forwarding number in the list of rules and then update the phone number of that resource using a HTTP PUT request to the endpoint updating the phoneNumber property.
An update can be written as follows:
Method | Endpoint | Description |
---|---|---|
PUT |
v1.0/account/{accountId}/extension/{extensionId}/forwarding-number/{forwardingNumberId} |
Update a forwarding number |
Example Request
PUT /restapi/v1.0/account/11111111/extension/22222222/forwarding-number/33333333 HTTP/1.1
Accept: application/json
Authorization: Bearer MyAccessToken
Content-Type: application/json
{
"phoneNumber": "+16505551212"
}