Reputation: 16354
I see the ReadPresenceSettings
permission in the API for my role, but I do not see it in the Online Account Portal (https://service.ringcentral.com). What does this correspond to in the portal so I can set/unset it?
GET /restapi/v1.0/dictionary/user-role/:roleId
GET /restapi/v1.0/dictionary/user-role/3
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/user-role/3",
"id": "3",
"displayName": "Standard (International)",
"description": "User level access with international dialing access.",
"custom": false,
"scope": "Self",
"hidden": false,
"siteCompatible": false,
"permissions": [
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
"id": "ReadPresenceSettings",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent"
},
...
]
}
When I check the presence info endpoint, I see that it is called "Read Presence Settings" but there is no such permission in the portal.
GET /restapi/v1.0/dictionary/permission/:permissionId
GET /restapi/v1.0/dictionary/permission/ReadPresenceSettings
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
"id": "ReadPresenceSettings",
"displayName": "Read Presence Settings",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent",
"category": {
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission-category/Features",
"id": "Features"
},
"includedPermissions": []
}
I'm using the Postman with the collection here:
https://github.com/grokify/swaggman
Upvotes: 0
Views: 49
Reputation: 16354
RingCentral permissions can be fairly granular and not every API permission appears in the Online Account Portal.
Permissions that are assignable to users are indicated by the permission's boolean assignable
property. This is set to false
for ReadPresenceSettings
.
Some permissions are child permissions of another permission that is assignable. In this case, they will be listed in a permissions includedPermissions
property.
In this case, the assignable parent permission is: ConfigurePresence
in the API or "Configure Presence" in the UI.
To find this using the API, call the permission list endpoint and then check each permission for ReadPresenceSettings
in the includedPermissions
property where the assignable
property is also true
.
GET /restapi/v1.0/dictionary/permission
The response will include an array of permissions as follows. Filtering for permissions that are assignable and have ReadPresenceSettings
permission as an included permissions returns only ConfigurePresence
for me.
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission?page=1&perPage=100",
"records": [
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ConfigurePresence",
"id": "ConfigurePresence",
"displayName": "Configure Presence",
"description": "Allows to manage Presence settings",
"assignable": true,
"readOnly": false,
"siteCompatible": "Independent",
"category": {
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission-category/Features",
"id": "Features"
},
"includedPermissions": [
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/EditPresenceStatus",
"id": "EditPresenceStatus",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent"
},
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceSettings",
"id": "ReadPresenceSettings",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent"
},
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/ReadPresenceStatus",
"id": "ReadPresenceStatus",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent"
},
{
"uri": "https://platform.devtest.ringcentral.com/restapi/v1.0/dictionary/permission/EditPresenceSettings",
"id": "EditPresenceSettings",
"assignable": false,
"readOnly": false,
"siteCompatible": "Independent"
}
]
},
....
]
}
Once you have the assignable, parent permission, you can update it for the user as normal. Doing this will have child permissions enabled/disabled as well. For example, for ReadPresenceSettings
you would update the user's role "Configure Presence" permission using the Online Account Portal as normal. If the user is using a built-in permission, you may need to create a new, modified role for the user if there isn't one already.
You can learn more about how to do this in this KB article:
Upvotes: 2