from wxc_sdk.api_child import ApiChild
from wxc_sdk.person_settings.call_recording import CallRecordingSetting
__all__ = ['QueueCallRecordingSettingsApi']
[docs]
class QueueCallRecordingSettingsApi(ApiChild, base='telephony/config/locations'):
"""
Queue Call Recording Settings
Queue Call Settings supports modifying Webex Calling settings for a specific queue.
Viewing Queue recording settings requires a full, user, or read-only administrator or location administrator auth
token with a scope of `spark-admin:people_read` or, for select APIs, a user auth token with `spark:people_read`
scope can be used by a person to read their own settings.
Configuring Queue recording settings requires a full or user administrator or location administrator auth token
with the `spark-admin:people_write` scope or, for select APIs, a user auth token with `spark:people_write` scope
can be used by a person to update their own settings.
Call Queue Recording Settings API access can be restricted via Control Hub by a full administrator. Restricting
access causes the APIs to throw a `403 Access Forbidden` error.
See details about `features available by license type for Webex Calling
<https://help.webex.com/en-us/article/n1qbbp7/Features-available-by-license-type-for-Webex-Calling>`_.
"""
[docs]
def read(self, location_id: str, queue_id: str, org_id: str = None) -> CallRecordingSetting:
"""
Read Queue Call Recording Settings for a Queue
Retrieve a queue's Call Recording settings.
The Call Recording feature provides a hosted mechanism to record the calls placed and received on the Carrier
platform for replay and archival. This feature is helpful for quality assurance, security, training, and more.
This API requires a full or user administrator or location administrator auth token with the
`spark-admin:people_read` scope.
A person with a Webex Calling Standard license is eligible for the Call Recording
feature only when the Call Recording vendor is Webex.
:param location_id: Unique identifier for the location.
:type location_id: str
:param queue_id: Unique identifier for the queue.
:type queue_id: str
:param org_id: ID of the organization in which the queue resides. Only admin users of another organization
(such as partners) may use this parameter as the default is the same organization as the token used to
access API.
:type org_id: str
:rtype: :class:`CallRecordingSetting`
"""
params = {}
if org_id is not None:
params['orgId'] = org_id
url = self.ep(f'{location_id}/queues/{queue_id}/cxEssentials/callRecordings')
data = super().get(url, params=params)
r = CallRecordingSetting.model_validate(data)
return r