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"
}